X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_GEOMGenUtils.cxx;h=7a403902d7f775a7b0cf8b0765d4eba813f1eb1e;hb=0a237be4b91b6db526b340c534f40a385d6d65ab;hp=c029e1ebfdae7e1d82c943b18bd5411de541c2e6;hpb=251f8c052dd12dd29922210dc901b295fe999a0e;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_GEOMGenUtils.cxx b/src/SMESHGUI/SMESHGUI_GEOMGenUtils.cxx index c029e1ebf..7a403902d 100644 --- a/src/SMESHGUI/SMESHGUI_GEOMGenUtils.cxx +++ b/src/SMESHGUI/SMESHGUI_GEOMGenUtils.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 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 @@ -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