AuboCaps  0.6.0
direction_node.h
Go to the documentation of this file.
1 #ifndef AUBO_SCOPE_DIRECTION_NODE_H
2 #define AUBO_SCOPE_DIRECTION_NODE_H
3 
7 
8 namespace arcs {
9 namespace aubo_scope {
10 ARCS_CLASS_FORWARD(DirectionNode);
11 
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  */
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  */
39 
40  /**
41  * Move in the negative X direction relative to the feature.
42  */
44 
45  /**
46  * Move in the positive Y direction relative to the feature.
47  */
49 
50  /**
51  * Move in the negative Y direction relative to the feature.
52  */
54 
55  /**
56  * Move in the positive Z direction relative to the feature.
57  */
59 
60  /**
61  * Move in the negative Z direction relative to the feature.
62  */
63  Z_MINUS
64  };
65 
67  {
68  /**
69  * A direction vector is specified using an Expression.
70  * The Selection instance can be cast to {@link
71  * DirectionVectorExpression}
72  */
74 
75  /**
76  * Direction is specified using an Axis.
77  * The Selection instance can be cast to {@link DirectionAxis}
78  */
79  AXIS
80  };
81 
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  */
90 
91  /**
92  * Feature is inherited from the MoveL or MoveP parent.
93  */
95 
96  /**
97  * Feature is selected. <br>
98  * The Selection instance can be cast to {@link DirectionNodeFeature}
99  */
100  FEATURE
101  };
102 
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
Move in the positive Z direction relative to the feature.
Feature is inherited from the MoveL or MoveP parent.
The tool motion parameters are inherited from the MoveL or MoveP parent.
ARCS_CLASS_FORWARD(GripForceCapability)
A direction vector is specified using an Expression.
The selected feature is no longer available (e.g.
Move in the negative X direction relative to the feature.
Move in the positive Y direction relative to the feature.
Move in the negative Y direction relative to the feature.
#define ARCS_ABI_EXPORT
Definition: class_forward.h:16
Move in the positive X direction relative to the feature.