Salome HOME
23586: [EDF] HYDRO: Copy mesh to new geometry
[modules/smesh.git] / src / StdMeshers_I / StdMeshers_ObjRefUlils.cxx
index c7e3988b845e69486f2f04bd30f532d488c27a38..f9a2b7837efaa3e5dc87ba60c7ff79a4886ec9b1 100644 (file)
@@ -162,3 +162,21 @@ void StdMeshers_ObjRefUlils::SaveToStream( const std::string& studyEntry,
   else
     stream << " " << studyEntry;
 }
+
+//=======================================================================
+//function : EntryToShape
+//purpose  : Return TopoDS_Shape by a study entry
+//=======================================================================
+
+TopoDS_Shape StdMeshers_ObjRefUlils::EntryToShape(const std::string theEntry)
+{
+  TopoDS_Shape shape;
+
+  if (SMESH_Gen_i* gen = SMESH_Gen_i::GetSMESHGen()) {
+    SALOMEDS::SObject_wrap sobj = SMESH_Gen_i::getStudyServant()->FindObjectID( theEntry.c_str() );
+    CORBA::Object_var       obj = gen->SObjectToObject( sobj );
+    GEOM::GEOM_Object_var  geom = GEOM::GEOM_Object::_narrow( obj );
+    shape = gen->GeomObjectToShape( geom.in() );
+  }
+  return shape;
+}