AuboStudio SDK  0.6.3
width_capability.h
浏览该文件的文档.
1#ifndef AUBO_SCOPE_WIDTH_CAPABILITY_H
2#define AUBO_SCOPE_WIDTH_CAPABILITY_H
3
5
6namespace arcs {
7namespace aubo_scope {
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{
24public:
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
#define ARCS_CLASS_FORWARD(C)
Macro that forward declares a class and defines the respective smartpointers through ARCS_DECLARE_PTR...
virtual ~WidthCapability()=default
virtual void updateCapability(double minWidth, double maxWidth, double defaultGripWidth, double defaultReleaseWidth)=0