-// Copyright (C) 2007-2014 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
return GEOM::GEOM_Object::_nil();
}
- GEOM::GEOM_Object_ptr GetGeom (_PTR(SObject) theSO)
+ GEOM::GEOM_Object_var GetGeom (_PTR(SObject) theSO)
{
+ GEOM::GEOM_Object_var aMeshShape;
if (!theSO)
- return GEOM::GEOM_Object::_nil();
+ return aMeshShape;
- _PTR(Study) aStudy = SMESH::GetActiveStudyDocument();
- if (!aStudy)
- return GEOM::GEOM_Object::_nil();
+ CORBA::Object_var obj = _CAST( SObject,theSO )->GetObject();
+ aMeshShape = GEOM::GEOM_Object::_narrow( obj );
+ if ( !aMeshShape->_is_nil() )
+ 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;
- GEOM::GEOM_Object_var aMeshShape;
if (aSObject->ReferencedObject(aRefSOClient)) {
SALOMEDS_SObject* aRefSO = _CAST(SObject,aRefSOClient);
SALOMEDS_SObject* aSO = _CAST(SObject,aSObject);
aMeshShape = GEOM::GEOM_Object::_narrow(aSO->GetObject());
}
+ if ( !aMeshShape->_is_nil() )
+ return aMeshShape;
+ }
+ return aMeshShape;
+ }
- if (!aMeshShape->_is_nil())
- return aMeshShape._retn();
+ 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 GEOM::GEOM_Object::_nil();
+ 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;
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);
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