AuboCaps
0.6.0
Main Page
Namespaces
Classes
Files
File List
File Members
include
aubo_caps
domain
program
nodes
builtin
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>
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::aubo_scope::ARCS_CLASS_FORWARD
ARCS_CLASS_FORWARD(GripForceCapability)
arcs::aubo_scope::SetPayloadNode::ConfigType
ConfigType
This base interface represents a configuration of the Set Payload program node (i.e.
Definition:
set_payload_node.h:19
arcs::aubo_scope::SetPayloadNode::PAYLOAD_SELECTION
Definition:
set_payload_node.h:29
arcs::aubo_scope::ProgramNode
Definition:
program_node.h:18
ARCS_ABI_EXPORT
#define ARCS_ABI_EXPORT
Definition:
class_forward.h:16
arcs
Definition:
contribution_provider.h:7
arcs::aubo_scope::SetPayloadNode
Definition:
set_payload_node.h:11
program_node.h
Generated by
1.8.11