1 // Name : SketchAPI_Rotation.h
5 // 16/06/16 - Sergey POKHODENKO - Creation of the file
7 #ifndef SRC_SKETCHAPI_SKETCHAPI_ROTATION_H_
8 #define SRC_SKETCHAPI_SKETCHAPI_ROTATION_H_
10 //--------------------------------------------------------------------------------------
11 #include "SketchAPI.h"
15 #include <SketchPlugin_MultiRotation.h>
17 #include "SketchAPI_SketchEntity.h"
18 //--------------------------------------------------------------------------------------
19 class ModelAPI_Object;
20 class ModelHighAPI_Double;
21 class ModelHighAPI_Integer;
22 class ModelHighAPI_RefAttr;
23 //--------------------------------------------------------------------------------------
24 /**\class SketchAPI_Rotation
26 * \brief Interface for Rotation feature
28 class SketchAPI_Rotation : public SketchAPI_SketchEntity
31 /// Constructor without values
33 explicit SketchAPI_Rotation(const std::shared_ptr<ModelAPI_Feature> & theFeature);
34 /// Constructor with values
36 SketchAPI_Rotation(const std::shared_ptr<ModelAPI_Feature> & theFeature,
37 const std::list<std::shared_ptr<ModelAPI_Object> > & theObjects,
38 const ModelHighAPI_RefAttr & theCenter,
39 const ModelHighAPI_Double & theAngle,
40 const ModelHighAPI_Integer & theNumberOfObjects,
41 bool theFullValue = false);
44 virtual ~SketchAPI_Rotation();
46 INTERFACE_7(SketchPlugin_MultiRotation::ID(),
47 rotationList, SketchPlugin_MultiRotation::ROTATION_LIST_ID(), ModelAPI_AttributeRefList, /** Rotation list */,
48 center, SketchPlugin_MultiRotation::CENTER_ID(), ModelAPI_AttributeRefAttr, /** Center */,
49 angle, SketchPlugin_MultiRotation::ANGLE_ID(), ModelAPI_AttributeDouble, /** Angle */,
50 numberOfObjects, SketchPlugin_MultiRotation::NUMBER_OF_OBJECTS_ID(), ModelAPI_AttributeInteger, /** Number of objects */,
51 valueType, SketchPlugin_MultiRotation::ANGLE_TYPE(), ModelAPI_AttributeString, /** Value type */,
52 referenceObjects, SketchPlugin_MultiRotation::ENTITY_A(), ModelAPI_AttributeRefList, /** Reference objects */,
53 rotatedObjects, SketchPlugin_MultiRotation::ENTITY_B(), ModelAPI_AttributeRefList, /** Rotated objects */
58 //! Pointer on Rotation object
59 typedef std::shared_ptr<SketchAPI_Rotation> RotationPtr;
61 //--------------------------------------------------------------------------------------
62 //--------------------------------------------------------------------------------------
63 #endif /* SRC_SKETCHAPI_SKETCHAPI_ROTATION_H_ */