X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_GEOMGenUtils.cxx;h=7a403902d7f775a7b0cf8b0765d4eba813f1eb1e;hb=858b4bff6498075831d120d54f3dfe25566336b9;hp=974b54ff88e1b17e6cae96b89332c9a59d62bcaa;hpb=7eda9ca931ed2a11cb5e4637e4ffe19f5c061115;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_GEOMGenUtils.cxx b/src/SMESHGUI/SMESHGUI_GEOMGenUtils.cxx index 974b54ff8..7a403902d 100644 --- a/src/SMESHGUI/SMESHGUI_GEOMGenUtils.cxx +++ b/src/SMESHGUI/SMESHGUI_GEOMGenUtils.cxx @@ -93,11 +93,7 @@ namespace SMESH if ( !aMeshShape->_is_nil() ) return aMeshShape; - _PTR(Study) aStudy = SMESH::GetActiveStudyDocument(); - if (!aStudy) - return aMeshShape; - - _PTR(ChildIterator) anIter (aStudy->NewChildIterator(theSO)); + _PTR(ChildIterator) anIter (SMESH::getStudy()->NewChildIterator(theSO)); for ( ; anIter->More(); anIter->Next()) { _PTR(SObject) aSObject = anIter->Value(); _PTR(SObject) aRefSOClient; @@ -115,16 +111,23 @@ namespace SMESH return aMeshShape; } + GEOM::GEOM_Object_var GetGeom( Handle(SALOME_InteractiveObject) io ) + { + GEOM::GEOM_Object_var go; + if ( !io.IsNull() && io->hasEntry() ) + { + _PTR(SObject) so = SMESH::getStudy()->FindObjectID( io->getEntry() ); + go = GetGeom( so ); + } + return go._retn(); + } + SMESHGUI_EXPORT char* GetGeomName( _PTR(SObject) smeshSO ) { if (!smeshSO) return 0; - _PTR(Study) aStudy = SMESH::GetActiveStudyDocument(); - if (!aStudy) - return 0; - - _PTR(ChildIterator) anIter (aStudy->NewChildIterator( smeshSO )); + _PTR(ChildIterator) anIter (SMESH::getStudy()->NewChildIterator( smeshSO )); for ( ; anIter->More(); anIter->Next()) { _PTR(SObject) aSObject = anIter->Value(); _PTR(SObject) aRefSOClient; @@ -153,11 +156,10 @@ namespace SMESH long theID) { GEOM::GEOM_Gen_var geomGen = SMESH::GetGEOMGen(); - _PTR(Study) aStudy = SMESH::GetActiveStudyDocument(); - if (!aStudy || geomGen->_is_nil()) + if (geomGen->_is_nil()) return GEOM::GEOM_Object::_nil(); GEOM::GEOM_IShapesOperations_wrap aShapesOp = - geomGen->GetIShapesOperations(aStudy->StudyId()); + geomGen->GetIShapesOperations(); if (aShapesOp->_is_nil()) return GEOM::GEOM_Object::_nil(); GEOM::GEOM_Object_wrap subShape = aShapesOp->GetSubShape (theMainShape,theID); @@ -183,10 +185,7 @@ namespace SMESH meshGeom.clear(); if ( hypIO.IsNull() ) return false; - _PTR(Study) aStudy = SMESH::GetActiveStudyDocument(); - if ( !aStudy ) return false; - - _PTR(SObject) hypSO = aStudy->FindObjectID( hypIO->getEntry() ); + _PTR(SObject) hypSO = SMESH::getStudy()->FindObjectID( hypIO->getEntry() ); if ( !hypSO ) return false; // Depth() is a number of fathers