Salome HOME
Add Translation
[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 "SketchAPI_SketchEntity.h"
18 //--------------------------------------------------------------------------------------
19 class ModelAPI_Object;
20 class ModelHighAPI_Integer;
21 class ModelHighAPI_RefAttr;
22 //--------------------------------------------------------------------------------------
23 /**\class SketchAPI_Translation
24  * \ingroup CPPHighAPI
25  * \brief Interface for Translation feature
26  */
27 class SketchAPI_Translation : public SketchAPI_SketchEntity
28 {
29 public:
30   /// Constructor without values
31   SKETCHAPI_EXPORT
32   explicit SketchAPI_Translation(const std::shared_ptr<ModelAPI_Feature> & theFeature);
33   /// Constructor with values
34   SKETCHAPI_EXPORT
35   SketchAPI_Translation(const std::shared_ptr<ModelAPI_Feature> & theFeature,
36                         const std::list<std::shared_ptr<ModelAPI_Object> > & theObjects,
37                         const ModelHighAPI_RefAttr & thePoint1,
38                         const ModelHighAPI_RefAttr & thePoint2,
39                         const ModelHighAPI_Integer & theNumberOfObjects,
40                         bool theFullValue = false);
41   /// Destructor
42   SKETCHAPI_EXPORT
43   virtual ~SketchAPI_Translation();
44
45   INTERFACE_7(SketchPlugin_MultiTranslation::ID(),
46               translationList, SketchPlugin_MultiTranslation::TRANSLATION_LIST_ID(), ModelAPI_AttributeRefList, /** Translation list */,
47               startPoint, SketchPlugin_MultiTranslation::START_POINT_ID(), ModelAPI_AttributeRefAttr, /** Start point */,
48               endPoint, SketchPlugin_MultiTranslation::END_POINT_ID(), ModelAPI_AttributeRefAttr, /** Start point */,
49               numberOfObjects, SketchPlugin_MultiTranslation::NUMBER_OF_OBJECTS_ID(), ModelAPI_AttributeInteger, /** Number of objects */,
50               valueType, SketchPlugin_MultiTranslation::VALUE_TYPE(), ModelAPI_AttributeString, /** Value type */,
51               referenceObjects, SketchPlugin_MultiTranslation::ENTITY_A(), ModelAPI_AttributeRefList, /** Reference objects */,
52               translatedObjects, SketchPlugin_MultiTranslation::ENTITY_B(), ModelAPI_AttributeRefList, /** Translationed objects */
53   )
54
55 };
56
57 //! Pointer on Translation object
58 typedef std::shared_ptr<SketchAPI_Translation> TranslationPtr;
59
60 //--------------------------------------------------------------------------------------
61 //--------------------------------------------------------------------------------------
62 #endif /* SRC_SKETCHAPI_SKETCHAPI_TRANSLATION_H_ */