-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2014 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
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
return GEOM::GEOM_Object::_nil();
}
+ 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 ));
+ 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);
+ aMeshShape = GEOM::GEOM_Object::_narrow(aRefSO->GetObject());
+ aSObject = aRefSOClient;
+ }
+ else {
+ SALOMEDS_SObject* aSO = _CAST(SObject,aSObject);
+ aMeshShape = GEOM::GEOM_Object::_narrow(aSO->GetObject());
+ }
+
+ if (!aMeshShape->_is_nil())
+ {
+ std::string name = aSObject->GetName();
+ return CORBA::string_dup( name.c_str() );
+ }
+ }
+ return 0;
+ }
+
GEOM::GEOM_Object_ptr GetSubShape (GEOM::GEOM_Object_ptr theMainShape,
long theID)
{