-// Copyright (C) 2007-2012 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
// SALOME GEOM includes
#include <GeometryGUI.h>
+#include <GEOM_wrap.hxx>
// SALOME KERNEL includes
#include <SALOMEDS_SObject.hxx>
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)
{
_PTR(Study) aStudy = SMESH::GetActiveStudyDocument();
if (!aStudy || geomGen->_is_nil())
return GEOM::GEOM_Object::_nil();
- GEOM::GEOM_IShapesOperations_var aShapesOp = geomGen->GetIShapesOperations(aStudy->StudyId());
+ GEOM::GEOM_IShapesOperations_wrap aShapesOp =
+ geomGen->GetIShapesOperations(aStudy->StudyId());
if (aShapesOp->_is_nil())
return GEOM::GEOM_Object::_nil();
- GEOM::GEOM_Object_var subShape = aShapesOp->GetSubShape (theMainShape,theID);
+ GEOM::GEOM_Object_wrap subShape = aShapesOp->GetSubShape (theMainShape,theID);
return subShape._retn();
}
} // end of namespace SMESH