AuboCaps  0.6.0
set_payload_node.h
Go to the documentation of this file.
1 #ifndef AUBO_SCOPE_SET_PAYLOAD_NODE_H
2 #define AUBO_SCOPE_SET_PAYLOAD_NODE_H
3 
4 #include <vector>
6 
7 namespace arcs {
8 namespace aubo_scope {
9 ARCS_CLASS_FORWARD(SetPayloadNode);
10 
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  */
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  */
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 
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;
75  void *d_{ nullptr };
76 };
77 
78 } // namespace aubo_scope
79 } // namespace arcs
80 #endif // AUBO_SCOPE_SET_PAYLOAD_NODE_H
ARCS_CLASS_FORWARD(GripForceCapability)
ConfigType
This base interface represents a configuration of the Set Payload program node (i.e.
#define ARCS_ABI_EXPORT
Definition: class_forward.h:16