]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
PAL9166. Add possibility to make sketcher on an existing plane
authoreap <eap@opencascade.com>
Mon, 20 Jun 2005 05:15:39 +0000 (05:15 +0000)
committereap <eap@opencascade.com>
Mon, 20 Jun 2005 05:15:39 +0000 (05:15 +0000)
idl/GEOM_Gen.idl
src/GEOM_I/GEOM_ICurvesOperations_i.cc
src/GEOM_I/GEOM_ICurvesOperations_i.hh

index 891f401e02eb7ed37a7f77399a3497c69b6a386f..56c6cfd8ca19c79b1ae1a1039cb0584197a39679 100644 (file)
@@ -1463,6 +1463,17 @@ module GEOM
      *  \return New GEOM_Object, containing the created wire.
      */
     GEOM_Object MakeSketcher (in string theCommand, in ListOfDouble theWorkingPlane);
+
+    /*!
+     *  Create a sketcher (wire or face), following the textual description,
+     *  passed through \a theCommand argument. \n
+     *  For format of the description string see the previous method.\n
+     *  \param theCommand String, defining the sketcher in local
+     *                    coordinates of the working plane.
+     *  \param theWorkingPlane Planar Face of the working plane.
+     *  \return New GEOM_Object, containing the created wire.
+     */
+    GEOM_Object MakeSketcherOnPlane (in string theCommand, in GEOM_Object theWorkingPlane);
   };
 
   /*!
index ba436bb03ac088c378561dfdb3c30d5b9ff363ed..5182be099aa6b5c3d58d2711b4f787e4a73a15f6 100644 (file)
@@ -303,3 +303,28 @@ GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeSketcher (const char* theCom
 
   return GetObject(anObject);
 }
+
+
+//=============================================================================
+/*!
+ *  MakeSketcherOnPlane
+ */
+//============================================================================= 
+GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeSketcherOnPlane (const char* theCommand, GEOM::GEOM_Object_ptr theWorkingPlane)
+{
+  GEOM::GEOM_Object_var aGEOMObject;
+
+  //Set a not done flag
+  GetOperations()->SetNotDone();
+
+  Handle(GEOM_Object) aWorkingPlane = GetOperations()->GetEngine()->GetObject
+    (theWorkingPlane->GetStudyID(), theWorkingPlane->GetEntry());
+
+  // Make Sketcher
+  Handle(GEOM_Object) anObject =
+      GetOperations()->MakeSketcherOnPlane(theCommand, aWorkingPlane);
+  if (!GetOperations()->IsDone() || anObject.IsNull())
+    return aGEOMObject._retn();
+
+  return GetObject(anObject);
+}
index 6308621f8b5f55429bb439eaeb1183b2129016dd..28f028d196e5ce112142ac075793fbc3e542ef5e 100644 (file)
@@ -44,6 +44,8 @@ class GEOM_ICurvesOperations_i :
 
   GEOM::GEOM_Object_ptr MakeSketcher (const char* theCommand, const GEOM::ListOfDouble& theWorkingPlane);
 
+  GEOM::GEOM_Object_ptr MakeSketcherOnPlane (const char* theCommand, GEOM::GEOM_Object_ptr theWorkingPlane);
+
   ::GEOMImpl_ICurvesOperations* GetOperations()
   { return (::GEOMImpl_ICurvesOperations*)GetImpl(); }
 };