AuboCaps
0.6.0
Main Page
Namespaces
Classes
Files
File List
File Members
include
aubo_caps
domain
program
nodes
builtin
gripper_node.h
Go to the documentation of this file.
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::aubo_scope::ARCS_CLASS_FORWARD
ARCS_CLASS_FORWARD(GripForceCapability)
arcs::aubo_scope::GripperNode::UNDEFINED0
Definition:
gripper_node.h:98
arcs::aubo_scope::GripperNode::SettingType
SettingType
The setting type used to determine which type of setting this instance is.
Definition:
gripper_node.h:90
arcs::aubo_scope::GripperNode::GRIP_ACTION
Definition:
gripper_node.h:55
arcs::aubo_scope::GripperNode
Definition:
gripper_node.h:24
arcs::aubo_scope::GripperNode::ConfigType
ConfigType
The configuration type used to determine which type of configuration this instance is...
Definition:
gripper_node.h:31
arcs::aubo_scope::ProgramNode
Definition:
program_node.h:18
arcs::aubo_scope::GripperNode::PAYLOAD_SELECTION
Definition:
gripper_node.h:107
ARCS_ABI_EXPORT
#define ARCS_ABI_EXPORT
Definition:
class_forward.h:16
undo_redo_manager.h
gripper_device.h
arcs::aubo_scope::GripperNode::UNDEFINED
Definition:
gripper_node.h:46
arcs
Definition:
contribution_provider.h:7
program_node.h
Generated by
1.8.11