+ Handle(::GEOM_Object) anObject = GetOperations()->Rotate1D(aBasicObject, aVector, theNbTimes);
+ if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn();
+
+ return GetObject(anObject);
+}
+
+//=============================================================================
+/*!
+ * MultiRotate1DByStep
+ */
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::MultiRotate1DByStep (GEOM::GEOM_Object_ptr theObject,
+ GEOM::GEOM_Object_ptr theVector,
+ CORBA::Double theAngleStep,
+ CORBA::Long theNbSteps)
+{
+ //Set a not done flag
+ GetOperations()->SetNotDone();
+
+ GEOM::GEOM_Object_var aGEOMObject;
+
+ //Get the object itself
+ Handle(::GEOM_Object) aBasicObject = GetObjectImpl(theObject);
+ if (aBasicObject.IsNull()) return aGEOMObject._retn();
+
+ //Get the a directon of rotation
+ Handle(::GEOM_Object) aVector = GetObjectImpl(theVector);
+ //if (aVector.IsNull()) return aGEOMObject._retn(); // DZ by default
+
+ //Perform the rotation
+ Handle(::GEOM_Object) anObject = GetOperations()->Rotate1D(aBasicObject, aVector, theAngleStep, theNbSteps);
+ if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn();
+
+ return GetObject(anObject);
+}
+
+//=============================================================================
+/*!
+ * MultiRotate2DNbTimes
+ */
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::MultiRotate2DNbTimes (GEOM::GEOM_Object_ptr theObject,
+ GEOM::GEOM_Object_ptr theVector,
+ CORBA::Long theNbObjects,
+ CORBA::Double theRadialStep,
+ CORBA::Long theNbSteps)
+{
+ //Set a not done flag
+ GetOperations()->SetNotDone();
+
+ GEOM::GEOM_Object_var aGEOMObject;
+
+ //Get the object itself
+ Handle(::GEOM_Object) aBasicObject = GetObjectImpl(theObject);
+ if (aBasicObject.IsNull()) return aGEOMObject._retn();
+
+ //Get the a directon of rotation
+ Handle(::GEOM_Object) aVector = GetObjectImpl(theVector);
+ //if (aVector.IsNull()) return aGEOMObject._retn(); // DZ by default
+
+ //Perform the rotation
+ Handle(::GEOM_Object) anObject = GetOperations()->Rotate2D
+ (aBasicObject, aVector, theNbObjects, theRadialStep, theNbSteps);
+ if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn();
+
+ return GetObject(anObject);
+}
+
+//=============================================================================
+/*!
+ * MultiRotate2DByStep
+ */
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::MultiRotate2DByStep (GEOM::GEOM_Object_ptr theObject,
+ GEOM::GEOM_Object_ptr theVector,
+ CORBA::Double theAngle,
+ CORBA::Long theNbTimes1,
+ CORBA::Double theStep,
+ CORBA::Long theNbTimes2)
+{
+ //Set a not done flag
+ GetOperations()->SetNotDone();
+
+ GEOM::GEOM_Object_var aGEOMObject;
+
+ //Get the object itself
+ Handle(::GEOM_Object) aBasicObject = GetObjectImpl(theObject);
+ if (aBasicObject.IsNull()) return aGEOMObject._retn();
+
+ //Get the a directon of rotation
+ Handle(::GEOM_Object) aVector = GetObjectImpl(theVector);
+ //if (aVector.IsNull()) return aGEOMObject._retn(); // DZ by default
+
+ //Perform the rotation
+ Handle(::GEOM_Object) anObject = GetOperations()->Rotate2D
+ (aBasicObject, aVector, theAngle, theNbTimes1, theStep, theNbTimes2);