Salome HOME
Copyright update 2021
[modules/shaper.git] / src / SketchAPI / SketchAPI_Rotation.h
index 5583e5ddf75db4a4963cccf579a38fd0e37b3b7f..6d7e2d988d71d5454915310929bd31bcd51c8039 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2017  CEA/DEN, EDF R&D
+// Copyright (C) 2014-2021  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 //
 // 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/ or
-// email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
 #ifndef SRC_SKETCHAPI_SKETCHAPI_ROTATION_H_
@@ -54,18 +53,21 @@ public:
                      const ModelHighAPI_RefAttr & theCenter,
                      const ModelHighAPI_Double & theAngle,
                      const ModelHighAPI_Integer & theNumberOfObjects,
-                     bool theFullValue = false);
+                     bool theFullValue = false,
+                     bool theReversed  = false);
   /// Destructor
   SKETCHAPI_EXPORT
   virtual ~SketchAPI_Rotation();
 
-  INTERFACE_7(SketchPlugin_MultiRotation::ID(),
+  INTERFACE_8(SketchPlugin_MultiRotation::ID(),
               rotationList, SketchPlugin_MultiRotation::ROTATION_LIST_ID(),
               ModelAPI_AttributeRefList, /** Rotation list */,
               center, SketchPlugin_MultiRotation::CENTER_ID(),
               ModelAPI_AttributeRefAttr, /** Center */,
               angle, SketchPlugin_MultiRotation::ANGLE_ID(),
               ModelAPI_AttributeDouble, /** Angle */,
+              reversed, SketchPlugin_MultiRotation::REVERSED_ID(),
+              ModelAPI_AttributeBoolean, /** Negative angle */,
               numberOfObjects, SketchPlugin_MultiRotation::NUMBER_OF_OBJECTS_ID(),
               ModelAPI_AttributeInteger, /** Number of objects */,
               valueType, SketchPlugin_MultiRotation::ANGLE_TYPE(),
@@ -76,10 +78,19 @@ public:
               ModelAPI_AttributeRefList, /** Rotated objects */
   )
 
-  /// List of rotated objects
+  /// Set list of objects to be rotated
+  SKETCHAPI_EXPORT
+  void setRotationList(const std::list<std::shared_ptr<ModelAPI_Object> >& theObjects);
+
+  /// List of rotated objects.
+  /// [DEPRECATED]: use rotatedList() instead.
   SKETCHAPI_EXPORT
   std::list<std::shared_ptr<SketchAPI_SketchEntity> > rotated() const;
 
+  /// List of rotated objects.
+  SKETCHAPI_EXPORT
+  std::list<std::shared_ptr<SketchAPI_SketchEntity> > rotatedList() const;
+
   /// Dump wrapped feature
   virtual void dump(ModelHighAPI_Dumper& theDumper) const;
 };