Salome HOME
updated copyright message
[modules/shaper.git] / src / ConstructionAPI / ConstructionAPI_Plane.h
index b3bab93bba4cbf943348ebeb0a37af7ae9890f9e..e0847dec241a408a9f47f3ddc06e1cf5aacd47b3 100644 (file)
@@ -1,10 +1,21 @@
-// Copyright (C) 2014-2016 CEA/DEN, EDF R&D
-
-// Name   : ConstructionAPI_Plane.h
-// Purpose:
+// Copyright (C) 2014-2023  CEA, EDF
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
-// History:
-// 27/05/16 - Sergey POKHODENKO - Creation of the file
 
 #ifndef SRC_CONSTRUCTIONAPI_CONSTRUCTIONAPI_PLANE_H_
 #define SRC_CONSTRUCTIONAPI_CONSTRUCTIONAPI_PLANE_H_
@@ -15,6 +26,7 @@
 
 #include <ModelHighAPI_Interface.h>
 #include <ModelHighAPI_Macro.h>
+#include <ModelHighAPI_Integer.h>
 
 class ModelHighAPI_Double;
 class ModelHighAPI_Selection;
@@ -34,7 +46,8 @@ public:
   ConstructionAPI_Plane(const std::shared_ptr<ModelAPI_Feature>& theFeature,
                         const ModelHighAPI_Selection& theFace,
                         const ModelHighAPI_Double& theDistance,
-                        const bool theIsReverse);
+                        const bool theIsReverse,
+                        const ModelHighAPI_Integer& theNbCopy = ModelHighAPI_Integer(1));
 
   /// Constructor with values
   CONSTRUCTIONAPI_EXPORT
@@ -69,13 +82,14 @@ public:
   ConstructionAPI_Plane(const std::shared_ptr<ModelAPI_Feature>& theFeature,
                         const ModelHighAPI_Selection& thePlane,
                         const ModelHighAPI_Selection& theAxis,
-                        const ModelHighAPI_Double& theAngle);
+                        const ModelHighAPI_Double& theAngle,
+                        const ModelHighAPI_Integer& theNbCopy = ModelHighAPI_Integer(1));
 
   /// Destructor
   CONSTRUCTIONAPI_EXPORT
   virtual ~ConstructionAPI_Plane();
 
-  INTERFACE_20(ConstructionPlugin_Plane::ID(),
+  INTERFACE_21(ConstructionPlugin_Plane::ID(),
                creationMethod, ConstructionPlugin_Plane::CREATION_METHOD(),
                ModelAPI_AttributeString, /** Creation method */,
                A, ConstructionPlugin_Plane::A(),
@@ -116,13 +130,16 @@ public:
                plane1, ConstructionPlugin_Plane::PLANE1(),
                ModelAPI_AttributeSelection, /** Plane 1 */,
                plane2, ConstructionPlugin_Plane::PLANE2(),
-               ModelAPI_AttributeSelection, /** Plane 2 */)
+               ModelAPI_AttributeSelection, /** Plane 2 */,
+               nbcopy, ConstructionPlugin_Plane::NB_COPIES(),
+               ModelAPI_AttributeInteger, /** Number of copies */)
 
   /// Set face and distance
   CONSTRUCTIONAPI_EXPORT
   void setByFaceAndDistance(const ModelHighAPI_Selection& theFace,
                             const ModelHighAPI_Double& theDistance,
-                            const bool theIsReverse);
+                            const bool theIsReverse,
+                            const ModelHighAPI_Integer& theNbCopy = ModelHighAPI_Integer(1));
 
   /// Set GeneralEquation parameters of the feature
   CONSTRUCTIONAPI_EXPORT
@@ -157,7 +174,8 @@ public:
   CONSTRUCTIONAPI_EXPORT
   void setByRotation(const ModelHighAPI_Selection& thePlane,
                      const ModelHighAPI_Selection& theAxis,
-                     const ModelHighAPI_Double& theAngle);
+                     const ModelHighAPI_Double& theAngle,
+                     const ModelHighAPI_Integer& theNbCopy = ModelHighAPI_Integer(1));
 
   /// Dump wrapped feature
   CONSTRUCTIONAPI_EXPORT
@@ -173,7 +191,8 @@ CONSTRUCTIONAPI_EXPORT
 PlanePtr addPlane(const std::shared_ptr<ModelAPI_Document>& thePart,
                   const ModelHighAPI_Selection& theFace,
                   const ModelHighAPI_Double& theDistance,
-                  const bool theIsReverse);
+                  const bool theIsReverse,
+                  const ModelHighAPI_Integer& theNbCopy = ModelHighAPI_Integer(1));
 
 /// \ingroup CPPHighAPI
 /// \brief Create Plane feature
@@ -213,6 +232,7 @@ CONSTRUCTIONAPI_EXPORT
 PlanePtr addPlane(const std::shared_ptr<ModelAPI_Document>& thePart,
                   const ModelHighAPI_Selection& thePlane,
                   const ModelHighAPI_Selection& theAxis,
-                  const ModelHighAPI_Double& theAngle);
+                  const ModelHighAPI_Double& theAngle,
+                  const ModelHighAPI_Integer& theNbCopy = ModelHighAPI_Integer(1));
 
 #endif /* SRC_CONSTRUCTIONAPI_CONSTRUCTIONAPI_PLANE_H_ */