Salome HOME
4e3fd270f9391d825b8faca65584b2189b88c272
[modules/shaper.git] / src / SketchAPI / SketchAPI_Translation.h
1 // Name   : SketchAPI_Translation.h
2 // Purpose: 
3 //
4 // History:
5 // 16/06/16 - Sergey POKHODENKO - Creation of the file
6
7 #ifndef SRC_SKETCHAPI_SKETCHAPI_TRANSLATION_H_
8 #define SRC_SKETCHAPI_SKETCHAPI_TRANSLATION_H_
9
10 //--------------------------------------------------------------------------------------
11 #include "SketchAPI.h"
12
13 #include <list>
14
15 #include <SketchPlugin_MultiTranslation.h>
16
17 #include <ModelHighAPI_Interface.h>
18 #include <ModelHighAPI_Macro.h>
19 //--------------------------------------------------------------------------------------
20 class ModelAPI_Object;
21 class ModelHighAPI_Integer;
22 class ModelHighAPI_RefAttr;
23 //--------------------------------------------------------------------------------------
24 /**\class SketchAPI_Translation
25  * \ingroup CPPHighAPI
26  * \brief Interface for Translation feature
27  */
28 class SketchAPI_Translation : public ModelHighAPI_Interface
29 {
30 public:
31   /// Constructor without values
32   SKETCHAPI_EXPORT
33   explicit SketchAPI_Translation(const std::shared_ptr<ModelAPI_Feature> & theFeature);
34   /// Constructor with values
35   SKETCHAPI_EXPORT
36   SketchAPI_Translation(const std::shared_ptr<ModelAPI_Feature> & theFeature,
37                         const std::list<std::shared_ptr<ModelAPI_Object> > & theObjects,
38                         const ModelHighAPI_RefAttr & thePoint1,
39                         const ModelHighAPI_RefAttr & thePoint2,
40                         const ModelHighAPI_Integer & theNumberOfObjects,
41                         bool theFullValue = false);
42   /// Destructor
43   SKETCHAPI_EXPORT
44   virtual ~SketchAPI_Translation();
45
46   INTERFACE_7(SketchPlugin_MultiTranslation::ID(),
47               translationList, SketchPlugin_MultiTranslation::TRANSLATION_LIST_ID(), ModelAPI_AttributeRefList, /** Translation list */,
48               startPoint, SketchPlugin_MultiTranslation::START_POINT_ID(), ModelAPI_AttributeRefAttr, /** Start point */,
49               endPoint, SketchPlugin_MultiTranslation::END_POINT_ID(), ModelAPI_AttributeRefAttr, /** Start point */,
50               numberOfObjects, SketchPlugin_MultiTranslation::NUMBER_OF_OBJECTS_ID(), ModelAPI_AttributeInteger, /** Number of objects */,
51               valueType, SketchPlugin_MultiTranslation::VALUE_TYPE(), ModelAPI_AttributeString, /** Value type */,
52               referenceObjects, SketchPlugin_MultiTranslation::ENTITY_A(), ModelAPI_AttributeRefList, /** Reference objects */,
53               translatedObjects, SketchPlugin_MultiTranslation::ENTITY_B(), ModelAPI_AttributeRefList, /** Translationed objects */
54   )
55
56   /// Dump wrapped feature
57   virtual void dump(ModelHighAPI_Dumper& theDumper) const;
58 };
59
60 //! Pointer on Translation object
61 typedef std::shared_ptr<SketchAPI_Translation> TranslationPtr;
62
63 //--------------------------------------------------------------------------------------
64 //--------------------------------------------------------------------------------------
65 #endif /* SRC_SKETCHAPI_SKETCHAPI_TRANSLATION_H_ */