Salome HOME
Merge branch 'master' into cgt/devCEA
[modules/shaper.git] / src / FeaturesAPI / FeaturesAPI_Translation.h
index 91f3e7e1444fb3fd31794e6554ff40a8431a9b51..11a7ddf8cb3d9350288f84049158e1b949d8313c 100644 (file)
@@ -39,15 +39,22 @@ public:
   FEATURESAPI_EXPORT
   explicit FeaturesAPI_Translation(const std::shared_ptr<ModelAPI_Feature>& theFeature,
                                    const std::list<ModelHighAPI_Selection>& theMainObjects,
-                          const ModelHighAPI_Double& theDx,
-                          const ModelHighAPI_Double& theDy,
-                          const ModelHighAPI_Double& theDz);
+                                   const ModelHighAPI_Double& theDx,
+                                   const ModelHighAPI_Double& theDy,
+                                   const ModelHighAPI_Double& theDz);
+
+  /// Constructor with values.
+  FEATURESAPI_EXPORT
+  explicit FeaturesAPI_Translation(const std::shared_ptr<ModelAPI_Feature>& theFeature,
+                                   const std::list<ModelHighAPI_Selection>& theMainObjects,
+                                   const ModelHighAPI_Selection& theStartPoint,
+                                   const ModelHighAPI_Selection& theEndPoint);
 
   /// Destructor.
   FEATURESAPI_EXPORT
   virtual ~FeaturesAPI_Translation();
 
-  INTERFACE_7(FeaturesPlugin_Translation::ID(),
+  INTERFACE_9(FeaturesPlugin_Translation::ID(),
               creationMethod, FeaturesPlugin_Translation::CREATION_METHOD(),
               ModelAPI_AttributeString, /** Creation method */,
               mainObjects, FeaturesPlugin_Translation::OBJECTS_LIST_ID(),
@@ -61,7 +68,11 @@ public:
               dy, FeaturesPlugin_Translation::DY_ID(),
               ModelAPI_AttributeDouble, /** Dimension in Y */,
               dz, FeaturesPlugin_Translation::DZ_ID(),
-              ModelAPI_AttributeDouble, /** Dimension in Z */
+              ModelAPI_AttributeDouble, /** Dimension in Z */,
+              startPoint, FeaturesPlugin_Translation::START_POINT_ID(),
+              ModelAPI_AttributeSelection, /** Start point object */,
+              endPoint, FeaturesPlugin_Translation::END_POINT_ID(),
+              ModelAPI_AttributeSelection, /** End point object */
              )
 
   /// Set main objects.
@@ -79,6 +90,11 @@ public:
                      const ModelHighAPI_Double& theDy,
                      const ModelHighAPI_Double& theDz);
 
+  /// Modify CreationMethod, start_point, end_point attributes of the feature.
+  FEATURESAPI_EXPORT
+  void setPoints(const ModelHighAPI_Selection& theStartPoint,
+                 const ModelHighAPI_Selection& theEndPoint);
+
   /// Dump wrapped feature
   FEATURESAPI_EXPORT
   virtual void dump(ModelHighAPI_Dumper& theDumper) const;
@@ -104,4 +120,12 @@ TranslationPtr addTranslation(const std::shared_ptr<ModelAPI_Document>& thePart,
                               const ModelHighAPI_Double& theDy,
                               const ModelHighAPI_Double& theDz);
 
+/// \ingroup CPPHighAPI
+/// \brief Create Translation feature.
+FEATURESAPI_EXPORT
+TranslationPtr addTranslation(const std::shared_ptr<ModelAPI_Document>& thePart,
+                              const std::list<ModelHighAPI_Selection>& theMainObjects,
+                              const ModelHighAPI_Selection& theStartPoint,
+                              const ModelHighAPI_Selection& theEndPoint);
+
 #endif // FeaturesAPI_Translation_H_