AuboStudio SDK  0.6.3
speed_capability.h
浏览该文件的文档.
1#ifndef AUBO_SCOPE_SPEED_CAPABILITY_H
2#define AUBO_SCOPE_SPEED_CAPABILITY_H
3
5
6namespace arcs {
7namespace aubo_scope {
9
10/**
11 * <p>
12 * This interface represents a registered speed capability for a gripper which
13 * supports operating using a user configurable speed.
14 * </p>
15 *
16 * Through this interface, it is possible to adjust the range and default values
17 * for the speed after the capability has been registered. This is typically not
18 * applicable for most grippers, but can be relevant when the range depends on
19 * another custom gripper setting (which can be configured by the user).
20 */
22{
23public:
24 virtual ~SpeedCapability() = default;
25
26 /**
27 * <p>
28 * Update the range and default values for the speed supported by the
29 * gripper.
30 * </p>
31 *
32 * Updating the range could result in an already entered value in the
33 * configuration of a gripper program node being outside the range. This
34 * will make the given program node undefined, and force the end user to
35 * adjust the value to be valid again.
36 *
37 * @param minSpeed minimum operating speed supported by the gripper
38 * @param maxSpeed maximum operating speed supported by the gripper
39 * @param defaultGripSpeed default value for the speed for a grip action.
40 * This value is used for, e.g. performing a "default" grip action using the
41 * toolbar
42 * @param defaultReleaseSpeed default value for the speed for a release
43 * action. This value is used for, e.g. performing a "default" release
44 * action using the toolbar
45 * @param unit the unit for all specified values, not <code>null</code>
46 * @throws InvalidCapabilityRange if <code>minSpeed</code> >
47 * <code>maxSpeed</code>
48 * @throws InvalidCapabilityRange if <code>defaultGripSpeed</code> or
49 * <code>defaultReleaseSpeed</code> is outside the range defined by
50 * <code>minSpeed</code> and <code>maxSpeed</code>.
51 */
52 virtual void updateCapability(double minSpeed, double maxSpeed,
53 double defaultGripSpeed,
54 double defaultReleaseSpeed) = 0;
55};
56} // namespace aubo_scope
57} // namespace arcs
58#endif
#define ARCS_CLASS_FORWARD(C)
Macro that forward declares a class and defines the respective smartpointers through ARCS_DECLARE_PTR...
virtual ~SpeedCapability()=default
virtual void updateCapability(double minSpeed, double maxSpeed, double defaultGripSpeed, double defaultReleaseSpeed)=0