20 #ifndef ConstructionPlugin_Axis_H
21 #define ConstructionPlugin_Axis_H
23 #include "ConstructionPlugin.h"
24 #include <ModelAPI_Feature.h>
25 #include <ModelAPI_Result.h>
26 #include <GeomAPI_ICustomPrs.h>
36 CONSTRUCTIONPLUGIN_EXPORT
virtual const std::string&
getKind()
43 inline static const std::string&
ID()
45 static const std::string CONSTRUCTION_AXIS_KIND(
"Axis");
46 return CONSTRUCTION_AXIS_KIND;
50 inline static const std::string&
METHOD()
52 static const std::string METHOD_ATTR(
"CreationMethod");
59 static const std::string METHOD_ATTR(
"AxisByPointsCase");
66 static const std::string METHOD_ATTR(
"AxisByCylindricalFaceCase");
73 static const std::string METHOD_ATTR(
"AxisByPointAndDirection");
80 static const std::string METHOD_ATTR(
"AxisByDimensionsCase");
87 static const std::string METHOD_ATTR(
"by_line");
94 static const std::string METHOD_ATTR(
"by_plane_and_point");
101 static const std::string METHOD_ATTR(
"by_two_planes");
108 static const std::string POINT_ATTR_FIRST(
"FirstPoint");
109 return POINT_ATTR_FIRST;
114 static const std::string POINT_ATTR_SECOND(
"SecondPoint");
115 return POINT_ATTR_SECOND;
120 static const std::string CYLINDRICAL_FACE_ATTR(
"CylindricalFace");
121 return CYLINDRICAL_FACE_ATTR;
124 inline static const std::string&
DX()
126 static const std::string DX_ATTR(
"DX");
130 inline static const std::string&
DY()
132 static const std::string DY_ATTR(
"DY");
136 inline static const std::string&
DZ()
138 static const std::string DZ_ATTR(
"DZ");
145 static const std::string ATTR_X_DIRECTION(
"X_Direction");
146 return ATTR_X_DIRECTION;
152 static const std::string ATTR_Y_DIRECTION(
"Y_Direction");
153 return ATTR_Y_DIRECTION;
159 static const std::string ATTR_Z_DIRECTION(
"Z_Direction");
160 return ATTR_Z_DIRECTION;
164 inline static const std::string&
LINE()
166 static const std::string ATTR_ID(
"line");
171 inline static const std::string&
PLANE()
173 static const std::string ATTR_ID(
"plane");
178 inline static const std::string&
POINT()
180 static const std::string ATTR_ID(
"point");
185 inline static const std::string&
PLANE1()
187 static const std::string ATTR_ID(
"plane1");
194 static const std::string ATTR_ID(
"use_offset1");
201 static const std::string ATTR_ID(
"offset1");
208 static const std::string ATTR_ID(
"reverse_offset1");
213 inline static const std::string&
PLANE2()
215 static const std::string ATTR_ID(
"plane2");
222 static const std::string ATTR_ID(
"use_offset2");
229 static const std::string ATTR_ID(
"offset2");
236 static const std::string ATTR_ID(
"reverse_offset2");
244 CONSTRUCTIONPLUGIN_EXPORT
virtual void execute();
264 void createAxisByLine();
265 void createAxisByPlaneAndPoint();
266 void createAxisByTwoPlanes();
Feature for creation of the new axis in PartSet.
Definition: ConstructionPlugin_Axis.h:33
void createAxisByTwoPoints()
Creates a new axis by two defined points.
Definition: ConstructionPlugin_Axis.cpp:106
static const std::string & X_DIRECTION()
attribute name for X direction
Definition: ConstructionPlugin_Axis.h:143
static const std::string & ID()
Axis kind.
Definition: ConstructionPlugin_Axis.h:43
static const std::string & USE_OFFSET1()
Attribute name for use offset for plane 1.
Definition: ConstructionPlugin_Axis.h:192
static const std::string & CREATION_METHOD_BY_TWO_PLANES()
Attribute name for creation method.
Definition: ConstructionPlugin_Axis.h:99
void createAxisByPointAndDirection()
Creates a new axis by point and direction.
Definition: ConstructionPlugin_Axis.cpp:133
static const std::string & OFFSET1()
Attribute name for offset for plane 1.
Definition: ConstructionPlugin_Axis.h:199
static const std::string & DZ()
attribute name for the Z dimension
Definition: ConstructionPlugin_Axis.h:136
virtual bool customisePresentation(ResultPtr theResult, AISObjectPtr thePrs)
Customize presentation of the feature.
Definition: ConstructionPlugin_Axis.cpp:393
static const std::string & CREATION_METHOD_BY_LINE()
Attribute name for creation method.
Definition: ConstructionPlugin_Axis.h:85
void createAxisByDimensions()
Creates a new axis using three dimensions.
Definition: ConstructionPlugin_Axis.cpp:192
static const std::string & Z_DIRECTION()
attribute name for Y direction
Definition: ConstructionPlugin_Axis.h:157
ConstructionPlugin_Axis()
Use plugin manager for features creation.
Definition: ConstructionPlugin_Axis.cpp:49
virtual void execute()
Creates a new part document if needed.
Definition: ConstructionPlugin_Axis.cpp:372
static const std::string & PLANE1()
Attribute name for plane 1.
Definition: ConstructionPlugin_Axis.h:185
static const std::string & OFFSET2()
Attribute name for offset for plane 2.
Definition: ConstructionPlugin_Axis.h:227
static const std::string & POINT_FIRST()
attribute name for first point
Definition: ConstructionPlugin_Axis.h:106
static const std::string & CREATION_METHOD_BY_DIMENSIONS()
Attribute name for creation method.
Definition: ConstructionPlugin_Axis.h:78
static const std::string & DY()
attribute name for the Y dimension
Definition: ConstructionPlugin_Axis.h:130
static const std::string & METHOD()
attribute name for first point
Definition: ConstructionPlugin_Axis.h:50
static const std::string & DX()
attribute name for the X dimension
Definition: ConstructionPlugin_Axis.h:124
static const std::string & USE_OFFSET2()
Attribute name for use offset for plane 2.
Definition: ConstructionPlugin_Axis.h:220
static const std::string & CREATION_METHOD_BY_TWO_POINTS()
Attribute name for creation method.
Definition: ConstructionPlugin_Axis.h:57
static const std::string & REVERSE_OFFSET1()
Attribute name for reverse offset for plane 1.
Definition: ConstructionPlugin_Axis.h:206
virtual void initAttributes()
Request for initialization of data model of the feature: adding all attributes.
Definition: ConstructionPlugin_Axis.cpp:53
static const double MINIMAL_LENGTH()
Returns a minimal length for axis.
Definition: ConstructionPlugin_Axis.h:241
static const std::string & PLANE()
Attribute name for plane.
Definition: ConstructionPlugin_Axis.h:171
static const std::string & CYLINDRICAL_FACE()
attribute name for second point
Definition: ConstructionPlugin_Axis.h:118
static const std::string & POINT_SECOND()
attribute name for second point
Definition: ConstructionPlugin_Axis.h:112
void createAxisByCylindricalFace()
Creates a new axis as copy of cylindrical face axis.
Definition: ConstructionPlugin_Axis.cpp:168
static const std::string & PLANE2()
Attribute name for plane 2.
Definition: ConstructionPlugin_Axis.h:213
static const std::string & CREATION_METHOD_BY_PLANE_AND_POINT()
Attribute name for creation method.
Definition: ConstructionPlugin_Axis.h:92
static const std::string & Y_DIRECTION()
attribute name for Y direction
Definition: ConstructionPlugin_Axis.h:150
static const std::string & REVERSE_OFFSET2()
Attribute name for reverse offset for plane 2.
Definition: ConstructionPlugin_Axis.h:234
static const std::string & POINT()
Attribute name for point.
Definition: ConstructionPlugin_Axis.h:178
static const std::string & LINE()
Attribute name for line.
Definition: ConstructionPlugin_Axis.h:164
virtual const std::string & getKind()
Returns the kind of a feature.
Definition: ConstructionPlugin_Axis.h:36
static const std::string & CREATION_METHOD_BY_POINT_AND_DIRECTION()
Attribute name for creation method.
Definition: ConstructionPlugin_Axis.h:71
static const std::string & CREATION_METHOD_BY_CYLINDRICAL_FACE()
Attribute name for creation method.
Definition: ConstructionPlugin_Axis.h:64
Interface of a class which can provide specific customization of object presentation.
Definition: GeomAPI_ICustomPrs.h:37
Feature function that represents the particular functionality of this operation.
Definition: ModelAPI_Feature.h:41