AuboCaps  0.6.0
width_capability.h
Go to the documentation of this file.
1 #ifndef AUBO_SCOPE_WIDTH_CAPABILITY_H
2 #define AUBO_SCOPE_WIDTH_CAPABILITY_H
3 
5 
6 namespace arcs {
7 namespace aubo_scope {
8 ARCS_CLASS_FORWARD(WidthCapability);
9 
10 /**
11  * <p>
12  * This interface represents a registered width/position capability for a
13  * gripper which supports moving to a user configurable position (open/close to
14  * a configurable width).
15  * </p>
16  *
17  * Through this interface, it is possible to adjust the range and default values
18  * for the width after the capability has been registered. This is typically not
19  * applicable for most grippers, but can be relevant when the range depends on
20  * another custom gripper setting (which can be configured by the user).
21  */
23 {
24 public:
25  virtual ~WidthCapability() = default;
26 
27  /**
28  * <p>
29  * Update the range and default values for the width supported by the
30  * gripper.
31  * </p>
32  *
33  * Updating the range could result in an already entered value in the
34  * configuration of a gripper program node being outside the range. This
35  * will make the given program node undefined, and force the end user to
36  * adjust the value to be valid again.
37  *
38  * @param minWidth minimum width supported by the gripper
39  * @param maxWidth maximum width supported by the gripper
40  * @param defaultGripWidth default value for the width for a grip
41  * action. This value is used for, e.g. performing a "default" grip
42  * action using the toolbar
43  * @param defaultReleaseWidth default value for the width for a release
44  * action. This value is used for, e.g. performing a "default" release
45  * action using the toolbar
46  * @param unit the unit for all specified values, not <code>null</code>
47  * @throws InvalidCapabilityRange if <code>minWidth} > <code>maxWidth</code>
48  * @throws InvalidCapabilityRange if <code>defaultGripWidth</code> or
49  * <code>defaultReleaseWidth</code> is outside the range defined by
50  * <code>minWidth</code> and <code>maxWidth</code>.
51  */
52  virtual void updateCapability(double minWidth, double maxWidth,
53  double defaultGripWidth,
54  double defaultReleaseWidth) = 0;
55 };
56 } // namespace aubo_scope
57 } // namespace arcs
58 #endif
ARCS_CLASS_FORWARD(GripForceCapability)
virtual ~WidthCapability()=default
virtual void updateCapability(double minWidth, double maxWidth, double defaultGripWidth, double defaultReleaseWidth)=0