AuboStudio SDK 0.6.3

direction_node.h
浏览该文件的文档.
1 #ifndef AUBO_SCOPE_DIRECTION_NODE_H
2 #define AUBO_SCOPE_DIRECTION_NODE_H
3
4 #include <aubo_caps/domain/program/nodes/program_node.h>
5 #include <aubo_caps/domain/value/expression/expression.h>
6 #include <aubo_caps/domain/feature/feature.h>
7
8 namespace arcs {
9 namespace aubo_scope {
10 ARCS_CLASS_FORWARD(DirectionNode);
11
12 class ARCS_ABI_EXPORT DirectionNode : public ProgramNode
13 {
14 public:
15 enum ParameterType : int
16 {
17 /**
18 * The tool motion parameters are inherited from the MoveL or
19 MoveP
20 * parent.
21 */
22 SHARED_MOTION,
23
24 /**
25 * The tool motion parameters are selected. <br>
26 *
27 * The Selection instance can be cast to {@link
28 ToolMotionParameters}.
29 */
30 TOOL_MOTION
31 };
32
33 enum Axis : int
34 {
35 /**
36 * Move in the positive X direction relative to the feature.
37 */
38 X_PLUS,
39
40 /**
41 * Move in the negative X direction relative to the feature.
42 */
43 X_MINUS,
44
45 /**
46 * Move in the positive Y direction relative to the feature.
47 */
48 Y_PLUS,
49
50 /**
51 * Move in the negative Y direction relative to the feature.
52 */
53 Y_MINUS,
54
55 /**
56 * Move in the positive Z direction relative to the feature.
57 */
58 Z_PLUS,
59
60 /**
61 * Move in the negative Z direction relative to the feature.
62 */
63 Z_MINUS
64 };
65
66 enum DirectionSelectionType : int
67 {
68 /**
69 * A direction vector is specified using an Expression.
70 * The Selection instance can be cast to {@link
71 * DirectionVectorExpression}
72 */
73 EXPRESSION,
74
75 /**
76 * Direction is specified using an Axis.
77 * The Selection instance can be cast to {@link DirectionAxis}
78 */
79 AXIS
80 };
81
82 enum FeatureSelectionType : int
83 {
84 /**
85 * The selected feature is no longer available (e.g. because the user
86 * has removed the feature in the Installation or the needed
87 * Installation is not currently loaded)
88 */
89 UNRESOLVED_FEATURE,
90
91 /**
92 * Feature is inherited from the MoveL or MoveP parent.
93 */
94 SHARED,
95
96 /**
97 * Feature is selected. <br>
98 * The Selection instance can be cast to {@link DirectionNodeFeature}
99 */
100 FEATURE
101 };
102
103 DirectionNode(DirectionNode &f);
104 DirectionNode(DirectionNode &&f);
105 virtual ~DirectionNode();
106
107 ParameterType getType();
108 void setType(ParameterType type);
109
110 /**
111 * @return the Axis used to define the direction.
112 */
113 Axis getAxis();
114 void setAxis(Axis axis);
115
116 /**
117 *
118 * @return the feature selected for this Direction node.
119 */
120 FeaturePtr getFeature();
121 void setFeature(FeaturePtr feature);
122
123 DirectionSelectionType getDirectionSelectionType();
124 void setDirectionSelectionType(DirectionSelectionType selection);
125 /**
126 *
127 * @return the expression used to define the direction vector.
128 */
129 ExpressionPtr getExpression();
130 void setExpression(ExpressionPtr expression);
131
132 FeatureSelectionType getFeatureSelectionType();
133 void setFeatureSelectionType(FeatureSelectionType selection);
134 /**
135 * @return the tool speed to be achieved.
136 */
137 double getToolSpeed();
138 void setToolSpeed(double speed);
139
140 /**
141 * @return the tool acceleration to use for the movement
142 */
143 double getToolAcceleration();
144 void setToolAcceleration(double acc);
145
146 private:
147 friend class DataSwitch;
148 DirectionNode();
149 void *d_{ nullptr };
150 };
151
152 } // namespace aubo_scope
153 } // namespace arcs
154 #endif // AUBO_SCOPE_DIRECTION_NODE_H
ARCS_ABI_EXPORT
#define ARCS_ABI_EXPORT
Definition: class_forward.h:16
arcs::aubo_scope::DirectionNode
Definition: direction_node.h:13
arcs::aubo_scope::DirectionNode::setFeatureSelectionType
void setFeatureSelectionType(FeatureSelectionType selection)
arcs::aubo_scope::DirectionNode::DirectionSelectionType
DirectionSelectionType
Definition: direction_node.h:67
arcs::aubo_scope::DirectionNode::EXPRESSION
@ EXPRESSION
A direction vector is specified using an Expression.
Definition: direction_node.h:73
arcs::aubo_scope::DirectionNode::getDirectionSelectionType
DirectionSelectionType getDirectionSelectionType()
arcs::aubo_scope::DirectionNode::DirectionNode
DirectionNode()
arcs::aubo_scope::DirectionNode::FeatureSelectionType
FeatureSelectionType
Definition: direction_node.h:83
arcs::aubo_scope::DirectionNode::SHARED
@ SHARED
Feature is inherited from the MoveL or MoveP parent.
Definition: direction_node.h:94
arcs::aubo_scope::DirectionNode::UNRESOLVED_FEATURE
@ UNRESOLVED_FEATURE
The selected feature is no longer available (e.g.
Definition: direction_node.h:89
arcs::aubo_scope::DirectionNode::ParameterType
ParameterType
Definition: direction_node.h:16
arcs::aubo_scope::DirectionNode::SHARED_MOTION
@ SHARED_MOTION
The tool motion parameters are inherited from the MoveL or MoveP parent.
Definition: direction_node.h:22
arcs::aubo_scope::DirectionNode::setFeature
void setFeature(FeaturePtr feature)
arcs::aubo_scope::DirectionNode::Axis
Axis
Definition: direction_node.h:34
arcs::aubo_scope::DirectionNode::Y_MINUS
@ Y_MINUS
Move in the negative Y direction relative to the feature.
Definition: direction_node.h:53
arcs::aubo_scope::DirectionNode::Z_PLUS
@ Z_PLUS
Move in the positive Z direction relative to the feature.
Definition: direction_node.h:58
arcs::aubo_scope::DirectionNode::X_MINUS
@ X_MINUS
Move in the negative X direction relative to the feature.
Definition: direction_node.h:43
arcs::aubo_scope::DirectionNode::Y_PLUS
@ Y_PLUS
Move in the positive Y direction relative to the feature.
Definition: direction_node.h:48
arcs::aubo_scope::DirectionNode::X_PLUS
@ X_PLUS
Move in the positive X direction relative to the feature.
Definition: direction_node.h:38
arcs::aubo_scope::DirectionNode::getExpression
ExpressionPtr getExpression()
arcs::aubo_scope::DirectionNode::getToolAcceleration
double getToolAcceleration()
arcs::aubo_scope::DirectionNode::setDirectionSelectionType
void setDirectionSelectionType(DirectionSelectionType selection)
arcs::aubo_scope::DirectionNode::DirectionNode
DirectionNode(DirectionNode &&f)
arcs::aubo_scope::DirectionNode::getType
ParameterType getType()
arcs::aubo_scope::DirectionNode::setToolAcceleration
void setToolAcceleration(double acc)
arcs::aubo_scope::DirectionNode::setAxis
void setAxis(Axis axis)
arcs::aubo_scope::DirectionNode::setType
void setType(ParameterType type)
arcs::aubo_scope::DirectionNode::DirectionNode
DirectionNode(DirectionNode &f)
arcs::aubo_scope::DirectionNode::getFeatureSelectionType
FeatureSelectionType getFeatureSelectionType()
arcs::aubo_scope::DirectionNode::getAxis
Axis getAxis()
arcs::aubo_scope::DirectionNode::~DirectionNode
virtual ~DirectionNode()
arcs::aubo_scope::DirectionNode::getFeature
FeaturePtr getFeature()
arcs::aubo_scope::DirectionNode::setToolSpeed
void setToolSpeed(double speed)
arcs::aubo_scope::DirectionNode::getToolSpeed
double getToolSpeed()
arcs::aubo_scope::DirectionNode::setExpression
void setExpression(ExpressionPtr expression)
arcs::aubo_scope::ProgramNode
Definition: program_node.h:19
expression.h
feature.h
arcs::aubo_scope::ARCS_CLASS_FORWARD
ARCS_CLASS_FORWARD(GripForceCapability)
arcs
Definition: contribution_provider.h:7
program_node.h