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 <ModelHighAPI_Interface.h>
18 #include <ModelHighAPI_Macro.h>
19 //--------------------------------------------------------------------------------------
20 class ModelAPI_Object;
21 class ModelHighAPI_Double;
22 class ModelHighAPI_Integer;
23 class ModelHighAPI_RefAttr;
24 //--------------------------------------------------------------------------------------
25 /**\class SketchAPI_Rotation
27 * \brief Interface for Rotation feature
29 class SketchAPI_Rotation : public ModelHighAPI_Interface
32 /// Constructor without values
34 explicit SketchAPI_Rotation(const std::shared_ptr<ModelAPI_Feature> & theFeature);
35 /// Constructor with values
37 SketchAPI_Rotation(const std::shared_ptr<ModelAPI_Feature> & theFeature,
38 const std::list<std::shared_ptr<ModelAPI_Object> > & theObjects,
39 const ModelHighAPI_RefAttr & theCenter,
40 const ModelHighAPI_Double & theAngle,
41 const ModelHighAPI_Integer & theNumberOfObjects,
42 bool theFullValue = false);
45 virtual ~SketchAPI_Rotation();
47 INTERFACE_7(SketchPlugin_MultiRotation::ID(),
48 rotationList, SketchPlugin_MultiRotation::ROTATION_LIST_ID(), ModelAPI_AttributeRefList, /** Rotation list */,
49 center, SketchPlugin_MultiRotation::CENTER_ID(), ModelAPI_AttributeRefAttr, /** Center */,
50 angle, SketchPlugin_MultiRotation::ANGLE_ID(), ModelAPI_AttributeDouble, /** Angle */,
51 numberOfObjects, SketchPlugin_MultiRotation::NUMBER_OF_OBJECTS_ID(), ModelAPI_AttributeInteger, /** Number of objects */,
52 valueType, SketchPlugin_MultiRotation::ANGLE_TYPE(), ModelAPI_AttributeString, /** Value type */,
53 referenceObjects, SketchPlugin_MultiRotation::ENTITY_A(), ModelAPI_AttributeRefList, /** Reference objects */,
54 rotatedObjects, SketchPlugin_MultiRotation::ENTITY_B(), ModelAPI_AttributeRefList, /** Rotated objects */
57 /// List of rotated objects
59 std::list<std::shared_ptr<ModelHighAPI_Interface> > rotated() const;
61 /// Dump wrapped feature
62 virtual void dump(ModelHighAPI_Dumper& theDumper) const;
65 //! Pointer on Rotation object
66 typedef std::shared_ptr<SketchAPI_Rotation> RotationPtr;
68 //--------------------------------------------------------------------------------------
69 //--------------------------------------------------------------------------------------
70 #endif /* SRC_SKETCHAPI_SKETCHAPI_ROTATION_H_ */