AuboStudio SDK 0.6.3

set_payload_node.h
浏览该文件的文档.
1 #ifndef AUBO_SCOPE_SET_PAYLOAD_NODE_H
2 #define AUBO_SCOPE_SET_PAYLOAD_NODE_H
3
4 #include <vector>
5 #include <aubo_caps/domain/program/nodes/program_node.h>
6
7 namespace arcs {
8 namespace aubo_scope {
9 ARCS_CLASS_FORWARD(SetPayloadNode);
10
11 class ARCS_ABI_EXPORT SetPayloadNode : public ProgramNode
12 {
13 public:
14 /**
15 * This base interface represents a configuration of the Set Payload program
16 * node (i.e. a {@link SetPayloadNode}
17 * instance).
18 */
19 enum ConfigType
20 {
21 /**
22 * <p>
23 * A payload (from the installation) is selected.
24 * </p>
25 *
26 * The config instance can be cast to {@link
27 * SelectionPayloadNodeConfig}.
28 */
29 PAYLOAD_SELECTION,
30
31 /**
32 * <p>
33 * Custom payload parameters are specified.
34 * </p>
35 *
36 * The config instance can be cast to {@link
37 * CustomParametersPayloadNodeConfig}.
38 */
39 CUSTOM_PARAMETERS
40 };
41
42 SetPayloadNode(SetPayloadNode &f);
43 SetPayloadNode(SetPayloadNode &&f);
44 virtual ~SetPayloadNode();
45
46 /**
47 * This method returns the type of configuration. Cast this instance
48 * appropriately to have access to specific getters.
49 *
50 * @return The type of this config.
51 */
52 ConfigType getConfigType();
53 void setConfigType(ConfigType type);
54
55 /**
56 * @return The total mass of the payload
57 */
58 double getMass();
59 void setMass(double mass);
60
61 /**
62 * Gets the payload's center of gravity (CoG), also referred to as center of
63 * mass. It is defined as the offset between the center of the tool output
64 * flange and the center of gravity of the attached payload.
65 *
66 * @return The center of gravity (CoG) of the payload relative to the center
67 * of the tool output flange
68 */
69 std::vector<double> getCenterOfGravity();
70 void setCenterOfGravity(const std::vector<double> &cog);
71
72 private:
73 friend class DataSwitch;
74 SetPayloadNode();
75 void *d_{ nullptr };
76 };
77
78 } // namespace aubo_scope
79 } // namespace arcs
80 #endif // AUBO_SCOPE_SET_PAYLOAD_NODE_H
ARCS_ABI_EXPORT
#define ARCS_ABI_EXPORT
Definition: class_forward.h:16
arcs::aubo_scope::ProgramNode
Definition: program_node.h:19
arcs::aubo_scope::SetPayloadNode
Definition: set_payload_node.h:12
arcs::aubo_scope::SetPayloadNode::getConfigType
ConfigType getConfigType()
This method returns the type of configuration.
arcs::aubo_scope::SetPayloadNode::setMass
void setMass(double mass)
arcs::aubo_scope::SetPayloadNode::SetPayloadNode
SetPayloadNode()
arcs::aubo_scope::SetPayloadNode::setConfigType
void setConfigType(ConfigType type)
arcs::aubo_scope::SetPayloadNode::ConfigType
ConfigType
This base interface represents a configuration of the Set Payload program node (i....
Definition: set_payload_node.h:20
arcs::aubo_scope::SetPayloadNode::PAYLOAD_SELECTION
@ PAYLOAD_SELECTION
Definition: set_payload_node.h:29
arcs::aubo_scope::SetPayloadNode::SetPayloadNode
SetPayloadNode(SetPayloadNode &f)
arcs::aubo_scope::SetPayloadNode::SetPayloadNode
SetPayloadNode(SetPayloadNode &&f)
arcs::aubo_scope::SetPayloadNode::getMass
double getMass()
arcs::aubo_scope::SetPayloadNode::getCenterOfGravity
std::vector< double > getCenterOfGravity()
Gets the payload's center of gravity (CoG), also referred to as center of mass.
arcs::aubo_scope::SetPayloadNode::~SetPayloadNode
virtual ~SetPayloadNode()
arcs::aubo_scope::SetPayloadNode::setCenterOfGravity
void setCenterOfGravity(const std::vector< double > &cog)
arcs::aubo_scope::ARCS_CLASS_FORWARD
ARCS_CLASS_FORWARD(GripForceCapability)
arcs
Definition: contribution_provider.h:7
program_node.h