AuboStudio SDK 0.6.3

gripper_node.h
浏览该文件的文档.
1 #ifndef AUBO_SCOPE_GRIPPER_NODE_H
2 #define AUBO_SCOPE_GRIPPER_NODE_H
3
4 #include <aubo_caps/domain/device/gripper_device.h>
5 #include <aubo_caps/domain/program/nodes/program_node.h>
6 #include <aubo_caps/domain/undoredo/undo_redo_manager.h>
7
8 namespace arcs {
9 namespace aubo_scope {
10 ARCS_CLASS_FORWARD(GripperNode);
11
12 /**
13 * <p>
14 * This interface represents a program node which can be used for programming
15 * grip and release actions with a selected gripper device.
16 * </p>
17 *
18 * <p>
19 * An instance of this interface can be built using the {@link
20 * GripperNodeFactory} interface and is returned as a result when {@link
21 * GripperNodeFactory#createGripperNode(GripperDevice)} is called.
22 * </p>
23 */
24 class ARCS_ABI_EXPORT GripperNode : public ProgramNode
25 {
26 public:
27 /**
28 * The configuration type used to determine which type of configuration this
29 * instance is.
30 */
31 enum ConfigType
32 {
33
34 /**
35 * <p>
36 * A Gripper action (i.e. grip or release) has not been selected
37 * </p>
38 *
39 * The config instance can be cast to {@link UndefinedActionConfig}.
40 * This is only relevant if the Gripper node uses a multi-gripper
41 * device, i.e. a gripper device supporting the multi-gripper capability
42 * (see the
43 * {@link MultiGripperSupport} interface). The instance will provide
44 * access to the individual gripper selection.
45 */
46 UNDEFINED,
47
48 /**
49 * <p>
50 * The gripper is configured for a grip action
51 * </p>
52 *
53 * The config instance can be cast to {@link GripActionConfig}.
54 */
55 GRIP_ACTION,
56
57 /**
58 * <p>
59 * The gripper is configured for a release action
60 * </p>
61 *
62 * The config instance can be cast to {@link ReleaseActionConfig}.
63 */
64 RELEASE_ACTION
65 };
66
67 GripperNode(GripperNode &f);
68 GripperNode(GripperNode &&f);
69 virtual ~GripperNode();
70
71 /**
72 * This method returns the type of configuration. Cast this instance
73 * appropriately to have access to specific getters.
74 *
75 * @return The type of this config.
76 */
77 ConfigType getConfigType();
78
79 void setConfigType(ConfigType type);
80
81 /**
82 * @return The gripper device used by this Gripper node
83 */
84 GripperDevicePtr getGripperDevice();
85
86 /**
87 * The setting type used to determine which type of setting this instance
88 * is.
89 */
90 enum SettingType
91 {
92
93 /**
94 * <p>
95 * No selection has been made.
96 * </p>
97 */
98 UNDEFINED0,
99
100 /**
101 * <p>
102 * A payload (from the installation) is selected.
103 * </p>
104 *
105 * The setting instance can be cast to {@link PayloadSelection}.
106 */
107 PAYLOAD_SELECTION,
108
109 /**
110 * <p>
111 * Custom payload parameters are specified.
112 * </p>
113 *
114 * The setting instance can be cast to {@link CustomPayloadParameters}.
115 */
116 CUSTOM_PARAMETERS
117 };
118
119 /**
120 * This method returns the type of setting. Cast this instance appropriately
121 * to have access to specific getters.
122 *
123 * @return The type of this payload setting.
124 */
125 SettingType getSettingType();
126
127 private:
128 friend class DataSwitch;
129 GripperNode();
130 void *d_{ nullptr };
131 };
132 } // namespace aubo_scope
133 } // namespace arcs
134
135 #endif
ARCS_ABI_EXPORT
#define ARCS_ABI_EXPORT
Definition: class_forward.h:16
arcs::aubo_scope::GripperNode
Definition: gripper_node.h:25
arcs::aubo_scope::GripperNode::getGripperDevice
GripperDevicePtr getGripperDevice()
arcs::aubo_scope::GripperNode::~GripperNode
virtual ~GripperNode()
arcs::aubo_scope::GripperNode::ConfigType
ConfigType
The configuration type used to determine which type of configuration this instance is.
Definition: gripper_node.h:32
arcs::aubo_scope::GripperNode::UNDEFINED
@ UNDEFINED
Definition: gripper_node.h:46
arcs::aubo_scope::GripperNode::GRIP_ACTION
@ GRIP_ACTION
Definition: gripper_node.h:55
arcs::aubo_scope::GripperNode::GripperNode
GripperNode(GripperNode &f)
arcs::aubo_scope::GripperNode::getSettingType
SettingType getSettingType()
This method returns the type of setting.
arcs::aubo_scope::GripperNode::SettingType
SettingType
The setting type used to determine which type of setting this instance is.
Definition: gripper_node.h:91
arcs::aubo_scope::GripperNode::PAYLOAD_SELECTION
@ PAYLOAD_SELECTION
Definition: gripper_node.h:107
arcs::aubo_scope::GripperNode::UNDEFINED0
@ UNDEFINED0
Definition: gripper_node.h:98
arcs::aubo_scope::GripperNode::GripperNode
GripperNode()
arcs::aubo_scope::GripperNode::getConfigType
ConfigType getConfigType()
This method returns the type of configuration.
arcs::aubo_scope::GripperNode::GripperNode
GripperNode(GripperNode &&f)
arcs::aubo_scope::GripperNode::setConfigType
void setConfigType(ConfigType type)
arcs::aubo_scope::ProgramNode
Definition: program_node.h:19
gripper_device.h
arcs::aubo_scope::ARCS_CLASS_FORWARD
ARCS_CLASS_FORWARD(GripForceCapability)
arcs
Definition: contribution_provider.h:7
program_node.h
undo_redo_manager.h