Salome HOME
untabify
[modules/geom.git] / src / GEOM_I_Superv / GEOM_Superv_i.cc
index 094b6e99fef0247b72851e5e733a0d9a97096db3..2762674fed62f3dbd53d1db0a1fe47146f51995f 100644 (file)
@@ -473,6 +473,20 @@ SALOMEDS::SObject_ptr GEOM_Superv_i::PublishInStudy(SALOMEDS::Study_ptr theStudy
   return myGeomEngine->PublishInStudy(theStudy, theSObject, theObject, theName);
 }
 
+//============================================================================
+// function : PublishNamedShapesInStudy
+// purpose  : 
+//============================================================================
+GEOM::ListOfGO*
+GEOM_Superv_i::PublishNamedShapesInStudy(SALOMEDS::Study_ptr theStudy,
+                                        //SALOMEDS::SObject_ptr theSObject,
+                                        CORBA::Object_ptr theObject)
+{
+  if (CORBA::is_nil(myGeomEngine))
+    setGeomEngine();
+  return myGeomEngine->PublishNamedShapesInStudy(theStudy, theObject);
+}
+
 //============================================================================
 // function : CanCopy()
 // purpose  :
@@ -560,6 +574,58 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurve (GEOM::GEOM_Object_ptr the
   return anObj;
 }
 
+//=============================================================================
+//  MakePointOnCurveByCoord
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurveByCoord (GEOM::GEOM_Object_ptr theRefCurve,
+                                                              CORBA::Double theXParameter,
+                                                              CORBA::Double theYParameter,
+                                                              CORBA::Double theZParameter)
+{
+  beginService( " GEOM_Superv_i::MakePointOnCurveByCoord" );
+  MESSAGE("GEOM_Superv_i::MakePointOnCurveByCoord");
+  getBasicOp();
+  GEOM::GEOM_Object_ptr anObj =
+    myBasicOp->MakePointOnCurveByCoord(theRefCurve, theXParameter,
+                                theYParameter, theZParameter);
+  endService( " GEOM_Superv_i::MakePointOnCurveByCoord" );
+  return anObj;
+}
+
+//=============================================================================
+//  MakePointOnSurface:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnSurface (GEOM::GEOM_Object_ptr theRefSurface,
+                                                         CORBA::Double theUParameter,
+                                                         CORBA::Double theVParameter)
+{
+  beginService( " GEOM_Superv_i::MakePointOnSurface" );
+  MESSAGE("GEOM_Superv_i::MakePointOnSurface");
+  getBasicOp();
+  GEOM::GEOM_Object_ptr anObj =
+    myBasicOp->MakePointOnSurface(theRefSurface, theUParameter, theVParameter);
+  endService( " GEOM_Superv_i::MakePointOnSurface" );
+  return anObj;
+}
+
+//=============================================================================
+//  MakePointOnSurfaceByCoord
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnSurfaceByCoord (GEOM::GEOM_Object_ptr theRefSurface,
+                                                                CORBA::Double theXParameter,
+                                                                CORBA::Double theYParameter,
+                                                                CORBA::Double theZParameter)
+{
+  beginService( " GEOM_Superv_i::MakePointOnSurfaceByCoord" );
+  MESSAGE("GEOM_Superv_i::MakePointOnSurfaceByCoord");
+  getBasicOp();
+  GEOM::GEOM_Object_ptr anObj =
+    myBasicOp->MakePointOnSurfaceByCoord(theRefSurface, theXParameter,
+                                theYParameter, theZParameter);
+  endService( " GEOM_Superv_i::MakePointOnSurfaceByCoord" );
+  return anObj;
+}
+
 //=============================================================================
 //  MakePointOnLinesIntersection:
 //=============================================================================
@@ -690,6 +756,36 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneFace (GEOM::GEOM_Object_ptr theFac
   return anObj;
 }
 
+//=============================================================================
+//  MakePlane2Vec:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlane2Vec (GEOM::GEOM_Object_ptr theVec1,
+                                                   GEOM::GEOM_Object_ptr theVec2,
+                                                   CORBA::Double theTrimSize)
+{ 
+  beginService( " GEOM_Superv_i::MakePlane2Vec" );
+  MESSAGE("GEOM_Superv_i::MakePlane2Vec");
+  getBasicOp();
+  GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlane2Vec(theVec1, theVec2, theTrimSize);
+  endService( " GEOM_Superv_i::MakePlane2Vec" );
+  return anObj;
+}
+
+//=============================================================================
+//  MakePlaneLCS:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneLCS (GEOM::GEOM_Object_ptr theLCS,
+                                                  CORBA::Double theTrimSize,
+                                                  CORBA::Double theOrientation)
+{ 
+  beginService( " GEOM_Superv_i::MakePlaneLCS" );
+  MESSAGE("GEOM_Superv_i::MakePlaneLCS");
+  getBasicOp();
+  GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneLCS(theLCS, theTrimSize, theOrientation);
+  endService( " GEOM_Superv_i::MakePlaneLCS" );
+  return anObj;
+}
+
 //=============================================================================
 //  MakeMarker:
 //=============================================================================
@@ -1856,14 +1952,15 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
 //=============================================================================
 //  MakeWire:
 //=============================================================================
-GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires)
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires,
+                                               CORBA::Double       theTolerance)
 {
   beginService( " GEOM_Superv_i::MakeWire" );
   MESSAGE("GEOM_Superv_i::MakeWire");
   if (GEOM_List_i<GEOM::ListOfGO>* aListImplEW = 
       dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theEdgesAndWires, myPOA).in())) {
     getShapesOp();
-    GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeWire(aListImplEW->GetList());
+    GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeWire(aListImplEW->GetList(), theTolerance);
     endService( " GEOM_Superv_i::MakeWire" );
     return anObj;
   }
@@ -2634,14 +2731,15 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineBezier (GEOM::GEOM_List_ptr thePo
 //=============================================================================
 //  MakeSplineInterpolation:
 //=============================================================================
-GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints)
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints,
+                                                              CORBA::Boolean      theIsClosed)
 {
   beginService( " GEOM_Superv_i::MakeSplineInterpolation" );
   MESSAGE("GEOM_Superv_i::MakeSplineInterpolation");
   if (GEOM_List_i<GEOM::ListOfGO>* aListImplP = 
       dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
     getCurvesOp();
-    GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineInterpolation(aListImplP->GetList());
+    GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineInterpolation(aListImplP->GetList(), theIsClosed);
     endService( " GEOM_Superv_i::MakeSplineInterpolation" );
     return anObj;
   }
@@ -2805,6 +2903,26 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFillet2D (GEOM::GEOM_Object_ptr theShap
   return NULL;
 }
 
+//=============================================================================
+//  MakeFillet1D:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFillet1D (GEOM::GEOM_Object_ptr theShape, 
+                                                  CORBA::Double theR,
+                                                  GEOM::GEOM_List_ptr theVertexes)
+{
+  beginService( " GEOM_Superv_i::MakeFillet1D" );
+  MESSAGE("GEOM_Superv_i::MakeFillet1D");
+  if (GEOM_List_i<GEOM::ListOfLong>* aListImplV = 
+      dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theVertexes, myPOA).in())) {
+    getLocalOp();
+    GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFillet1D(theShape, theR, aListImplV->GetList());
+    endService( " GEOM_Superv_i::MakeFillet1D" );
+    return anObj;
+  }
+  endService( " GEOM_Superv_i::MakeFillet1D" );
+  return NULL;
+}
+
 //=============================================================================
 //  MakeChamferAll:
 //=============================================================================