20 #ifndef SketchPlugin_MultiRotation_H_
21 #define SketchPlugin_MultiRotation_H_
23 #include "SketchPlugin.h"
24 #include <SketchPlugin_Sketch.h>
25 #include "SketchPlugin_ConstraintBase.h"
43 inline static const std::string&
ID()
45 static const std::string MY_CONSTRAINT_ROTATION_ID(
"SketchMultiRotation");
46 return MY_CONSTRAINT_ROTATION_ID;
49 SKETCHPLUGIN_EXPORT
virtual const std::string&
getKind()
58 static const std::string MY_ROTATION_LIST_ID(
"MultiRotationList");
59 return MY_ROTATION_LIST_ID;
65 static const std::string MY_CENTER_ID(
"MultiRotationCenter");
71 static const std::string ANGLE_TYPE_ATTR(
"AngleType");
72 return ANGLE_TYPE_ATTR;
78 static const std::string MY_ANGLE_ID(
"MultiRotationAngle");
85 static const std::string MY_NUMBER_OF_OBJECTS_ID(
"MultiRotationObjects");
86 return MY_NUMBER_OF_OBJECTS_ID;
92 static const std::string MY_REVERSED_ID(
"MultiRotationReversed");
93 return MY_REVERSED_ID;
97 SKETCHPLUGIN_EXPORT
virtual void execute();
104 SKETCHPLUGIN_EXPORT
virtual void attributeChanged(
const std::string& theID);
107 SKETCHPLUGIN_EXPORT
virtual AISObjectPtr
getAISObject(AISObjectPtr thePrevious);
110 SKETCHPLUGIN_EXPORT
virtual void erase();
116 ObjectPtr copyFeature(ObjectPtr theObject);
120 bool updateFullAngleValue();
122 bool isUpdatingAngle;
Feature for creation of a new constraint between other features.
Definition: SketchPlugin_ConstraintBase.h:56
Feature for creation of a number of rotated copies of a list of objects.
Definition: SketchPlugin_MultiRotation.h:40
virtual AISObjectPtr getAISObject(AISObjectPtr thePrevious)
Returns the AIS preview.
Definition: SketchPlugin_MultiRotation.cpp:231
static const std::string & ANGLE_TYPE()
attribute name for first point
Definition: SketchPlugin_MultiRotation.h:69
static const std::string & ANGLE_ID()
End point of translation.
Definition: SketchPlugin_MultiRotation.h:76
static const std::string & REVERSED_ID()
Name of the flag to reverse rotation.
Definition: SketchPlugin_MultiRotation.h:90
static const std::string & NUMBER_OF_OBJECTS_ID()
Total number of objects, initial and translated objects.
Definition: SketchPlugin_MultiRotation.h:83
static const std::string & ROTATION_LIST_ID()
List of objects to be mirrored.
Definition: SketchPlugin_MultiRotation.h:56
virtual void erase()
removes all fields from this feature: results, data, etc
Definition: SketchPlugin_MultiRotation.cpp:241
virtual void attributeChanged(const std::string &theID)
Called on change of any argument-attribute of this object.
Definition: SketchPlugin_MultiRotation.cpp:351
SketchPlugin_MultiRotation()
Use plugin manager for features creation.
Definition: SketchPlugin_MultiRotation.cpp:50
virtual const std::string & getKind()
Returns the kind of a feature.
Definition: SketchPlugin_MultiRotation.h:49
virtual void execute()
Creates a new part document if needed.
Definition: SketchPlugin_MultiRotation.cpp:78
virtual void initAttributes()
Request for initialization of data model of the feature: adding all attributes.
Definition: SketchPlugin_MultiRotation.cpp:55
static const std::string & CENTER_ID()
Center of rotation.
Definition: SketchPlugin_MultiRotation.h:63
static const std::string & ID()
Multi-rotation kind.
Definition: SketchPlugin_MultiRotation.h:43