]> SALOME platform Git repositories - modules/geom.git/blobdiff - src/GEOM_I/GEOM_ITransformOperations_i.hh
Salome HOME
GPUSPHGUI: add an option to Offset Surface opreation
[modules/geom.git] / src / GEOM_I / GEOM_ITransformOperations_i.hh
index f01f08c22b10ac243b110ab617d6012c70e76f97..b4b4f9a05d544f7b0a7682f23dcba373cf9aff22 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -6,7 +6,7 @@
 // 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.
+// 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
@@ -39,17 +39,17 @@ class GEOM_I_EXPORT GEOM_ITransformOperations_i :
 {
  public:
   GEOM_ITransformOperations_i (PortableServer::POA_ptr thePOA,
-                              GEOM::GEOM_Gen_ptr theEngine,
-                              ::GEOMImpl_ITransformOperations* theImpl);
+                               GEOM::GEOM_Gen_ptr theEngine,
+                               ::GEOMImpl_ITransformOperations* theImpl);
   ~GEOM_ITransformOperations_i();
 
   GEOM::GEOM_Object_ptr TranslateTwoPoints (GEOM::GEOM_Object_ptr theObject,
-                                           GEOM::GEOM_Object_ptr thePoint1,
-                                           GEOM::GEOM_Object_ptr thePoint2);
+                                            GEOM::GEOM_Object_ptr thePoint1,
+                                            GEOM::GEOM_Object_ptr thePoint2);
 
   GEOM::GEOM_Object_ptr TranslateTwoPointsCopy (GEOM::GEOM_Object_ptr theObject,
-                                               GEOM::GEOM_Object_ptr thePoint1,
-                                               GEOM::GEOM_Object_ptr thePoint2);
+                                                GEOM::GEOM_Object_ptr thePoint1,
+                                                GEOM::GEOM_Object_ptr thePoint2);
 
   GEOM::GEOM_Object_ptr TranslateDXDYDZ (GEOM::GEOM_Object_ptr theObject,
                                          CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ);
@@ -59,15 +59,15 @@ class GEOM_I_EXPORT GEOM_ITransformOperations_i :
                                              CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ);
 
   GEOM::GEOM_Object_ptr TranslateVector (GEOM::GEOM_Object_ptr theObject,
-                                        GEOM::GEOM_Object_ptr theVector);
+                                         GEOM::GEOM_Object_ptr theVector);
 
   GEOM::GEOM_Object_ptr TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
-                                            GEOM::GEOM_Object_ptr theVector);
+                                             GEOM::GEOM_Object_ptr theVector);
 
   GEOM::GEOM_Object_ptr TranslateVectorDistance (GEOM::GEOM_Object_ptr theObject,
-                                                GEOM::GEOM_Object_ptr theVector,
-                                                CORBA::Double theDistance,
-                                                CORBA::Boolean theCopy);
+                                                 GEOM::GEOM_Object_ptr theVector,
+                                                 CORBA::Double theDistance,
+                                                 CORBA::Boolean theCopy);
 
   GEOM::GEOM_Object_ptr MultiTranslate1D (GEOM::GEOM_Object_ptr theObject,
                                           GEOM::GEOM_Object_ptr theVector,
@@ -81,99 +81,130 @@ class GEOM_I_EXPORT GEOM_ITransformOperations_i :
 
   GEOM::GEOM_Object_ptr Rotate (GEOM::GEOM_Object_ptr theObject,
                                 GEOM::GEOM_Object_ptr theAxis,
-                               CORBA::Double theAngle);
+                                CORBA::Double theAngle);
 
   GEOM::GEOM_Object_ptr MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
-                                      GEOM::GEOM_Object_ptr theVector,
-                                      CORBA::Long theNbTimes);
+                                       GEOM::GEOM_Object_ptr theVector,
+                                       CORBA::Long theNbTimes);
+
+  GEOM::GEOM_Object_ptr MultiRotate1DByStep (GEOM::GEOM_Object_ptr theObject,
+                                             GEOM::GEOM_Object_ptr theAxis,
+                                             CORBA::Double theAngleStep,
+                                             CORBA::Long theNbSteps);
+
+  GEOM::GEOM_Object_ptr MultiRotate2DNbTimes (GEOM::GEOM_Object_ptr theObject,
+                                              GEOM::GEOM_Object_ptr theAxis,
+                                              CORBA::Long theNbObjects,
+                                              CORBA::Double theRadialStep,
+                                              CORBA::Long theNbSteps);
+
+  GEOM::GEOM_Object_ptr MultiRotate2DByStep (GEOM::GEOM_Object_ptr theObject,
+                                             GEOM::GEOM_Object_ptr theVector,
+                                             CORBA::Double theAngle,
+                                             CORBA::Long theNbTimes1,
+                                             CORBA::Double theStep,
+                                             CORBA::Long theNbTimes2);
+
   GEOM::GEOM_Object_ptr MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
-                                      GEOM::GEOM_Object_ptr theVector, 
-                                      CORBA::Double theAngle, 
-                                      CORBA::Long theNbTimes1, 
-                                      CORBA::Double theStep, 
-                                      CORBA::Long theNbTimes2);
-                                          
+                                       GEOM::GEOM_Object_ptr theVector,
+                                       CORBA::Double theAngle,
+                                       CORBA::Long theNbTimes1,
+                                       CORBA::Double theStep,
+                                       CORBA::Long theNbTimes2);
+
   GEOM::GEOM_Object_ptr RotateCopy (GEOM::GEOM_Object_ptr theObject,
-                                   GEOM::GEOM_Object_ptr theAxis,
-                                   CORBA::Double theAngle);  
+                                    GEOM::GEOM_Object_ptr theAxis,
+                                    CORBA::Double theAngle);
 
   GEOM::GEOM_Object_ptr MirrorPlane (GEOM::GEOM_Object_ptr theObject,
-                                    GEOM::GEOM_Object_ptr thePlane);
+                                     GEOM::GEOM_Object_ptr thePlane);
 
   GEOM::GEOM_Object_ptr MirrorPlaneCopy (GEOM::GEOM_Object_ptr theObject,
-                                        GEOM::GEOM_Object_ptr thePlane);
+                                         GEOM::GEOM_Object_ptr thePlane);
 
   GEOM::GEOM_Object_ptr MirrorAxis (GEOM::GEOM_Object_ptr theObject,
-                                   GEOM::GEOM_Object_ptr theAxis);
+                                    GEOM::GEOM_Object_ptr theAxis);
 
   GEOM::GEOM_Object_ptr MirrorAxisCopy (GEOM::GEOM_Object_ptr theObject,
-                                       GEOM::GEOM_Object_ptr theAxis);
+                                        GEOM::GEOM_Object_ptr theAxis);
 
   GEOM::GEOM_Object_ptr MirrorPoint (GEOM::GEOM_Object_ptr theObject,
-                                    GEOM::GEOM_Object_ptr thePoint);
+                                     GEOM::GEOM_Object_ptr thePoint);
 
   GEOM::GEOM_Object_ptr MirrorPointCopy (GEOM::GEOM_Object_ptr theObject,
-                                        GEOM::GEOM_Object_ptr thePoint);
+                                         GEOM::GEOM_Object_ptr thePoint);
 
   GEOM::GEOM_Object_ptr OffsetShape (GEOM::GEOM_Object_ptr theObject,
-                                    CORBA::Double theOffset);
+                                     CORBA::Double         theOffset,
+                                     CORBA::Boolean        theJoinByPipes);
 
   GEOM::GEOM_Object_ptr OffsetShapeCopy (GEOM::GEOM_Object_ptr theObject,
-                                        CORBA::Double theOffset);
+                                         CORBA::Double         theOffset,
+                                         CORBA::Boolean        theJoinByPipes);
 
   GEOM::GEOM_Object_ptr ProjectShapeCopy (GEOM::GEOM_Object_ptr theSource,
                                           GEOM::GEOM_Object_ptr theTarget);
 
+  CORBA::Double ProjectPointOnWire (GEOM::GEOM_Object_ptr thePoint,
+                                    GEOM::GEOM_Object_ptr theWire,
+                                    GEOM::GEOM_Object_out thePointOnEdge,
+                                    CORBA::Long&          theEdgeInWireIndex);
+
   GEOM::GEOM_Object_ptr ScaleShape (GEOM::GEOM_Object_ptr theObject,
-                                   GEOM::GEOM_Object_ptr thePoint,
-                                   CORBA::Double theFactor);
+                                    GEOM::GEOM_Object_ptr thePoint,
+                                    CORBA::Double theFactor);
 
   GEOM::GEOM_Object_ptr ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject,
-                                       GEOM::GEOM_Object_ptr thePoint,
-                                       CORBA::Double theFactor);
+                                        GEOM::GEOM_Object_ptr thePoint,
+                                        CORBA::Double theFactor);
 
   GEOM::GEOM_Object_ptr ScaleShapeAlongAxes (GEOM::GEOM_Object_ptr theObject,
-                                            GEOM::GEOM_Object_ptr thePoint,
-                                            CORBA::Double theFactorX,
-                                            CORBA::Double theFactorY,
-                                            CORBA::Double theFactorZ);
+                                             GEOM::GEOM_Object_ptr thePoint,
+                                             CORBA::Double theFactorX,
+                                             CORBA::Double theFactorY,
+                                             CORBA::Double theFactorZ);
 
   GEOM::GEOM_Object_ptr ScaleShapeAlongAxesCopy (GEOM::GEOM_Object_ptr theObject,
-                                                GEOM::GEOM_Object_ptr thePoint,
-                                                CORBA::Double theFactorX,
-                                                CORBA::Double theFactorY,
-                                                CORBA::Double theFactorZ);
+                                                 GEOM::GEOM_Object_ptr thePoint,
+                                                 CORBA::Double theFactorX,
+                                                 CORBA::Double theFactorY,
+                                                 CORBA::Double theFactorZ);
 
   GEOM::GEOM_Object_ptr PositionShape (GEOM::GEOM_Object_ptr theObject,
-                                      GEOM::GEOM_Object_ptr theStartLCS,
-                                      GEOM::GEOM_Object_ptr theEndLCS);
+                                       GEOM::GEOM_Object_ptr theStartLCS,
+                                       GEOM::GEOM_Object_ptr theEndLCS);
 
   GEOM::GEOM_Object_ptr PositionShapeCopy (GEOM::GEOM_Object_ptr theObject,
-                                          GEOM::GEOM_Object_ptr theStartLCS,
-                                          GEOM::GEOM_Object_ptr theEndLCS);
+                                           GEOM::GEOM_Object_ptr theStartLCS,
+                                           GEOM::GEOM_Object_ptr theEndLCS);
 
   GEOM::GEOM_Object_ptr PositionAlongPath (GEOM::GEOM_Object_ptr theObject,
-                                          GEOM::GEOM_Object_ptr thePath,
-                                          CORBA::Double         theDistance,
-                                          CORBA::Boolean        theCopy,
-                                          CORBA::Boolean        theReverse);
+                                           GEOM::GEOM_Object_ptr thePath,
+                                           CORBA::Double         theDistance,
+                                           CORBA::Boolean        theCopy,
+                                           CORBA::Boolean        theReverse);
 
   GEOM::GEOM_Object_ptr RotateThreePoints (GEOM::GEOM_Object_ptr theObject,
-                                          GEOM::GEOM_Object_ptr theCentPoint,
-                                          GEOM::GEOM_Object_ptr thePoint1,
-                                          GEOM::GEOM_Object_ptr thePoint2);
+                                           GEOM::GEOM_Object_ptr theCentPoint,
+                                           GEOM::GEOM_Object_ptr thePoint1,
+                                           GEOM::GEOM_Object_ptr thePoint2);
 
   GEOM::GEOM_Object_ptr RotateThreePointsCopy (GEOM::GEOM_Object_ptr theObject,
-                                              GEOM::GEOM_Object_ptr theCentPoint,
-                                              GEOM::GEOM_Object_ptr thePoint1,
-                                              GEOM::GEOM_Object_ptr thePoint2);
+                                               GEOM::GEOM_Object_ptr theCentPoint,
+                                               GEOM::GEOM_Object_ptr thePoint1,
+                                               GEOM::GEOM_Object_ptr thePoint2);
 
   GEOM::GEOM_Object_ptr TransformLikeOtherCopy (GEOM::GEOM_Object_ptr theObject,
                                                 GEOM::GEOM_Object_ptr theSample);
 
   GEOM::GEOM_Object_ptr RecomputeObject (GEOM::GEOM_Object_ptr theObject);
 
+  GEOM::GEOM_Object_ptr MakeProjectionOnCylinder
+                                   (GEOM::GEOM_Object_ptr theObject,
+                                    CORBA::Double         theRadius,
+                                    CORBA::Double         theStartAngle,
+                                    CORBA::Double         theAngleLength,
+                                    CORBA::Double         theAngleRotation);
 
   ::GEOMImpl_ITransformOperations* GetOperations() { return (::GEOMImpl_ITransformOperations*)GetImpl(); }
 };