+// Copyright (C) 2005 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.
+//
+// This library is distributed in the hope that it will be useful
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
// File : SMESH_NumberFilter.cxx
// Module : SMESH
// Get shape from geom object and verify its parameters
GEOM_Client aGeomClient;
+ if ( CORBA::is_nil( GeometryGUI::GetGeomGen() ) && !GeometryGUI::InitGeomGen() )
+ return false;
TopoDS_Shape aShape = aGeomClient.GetShape(GeometryGUI::GetGeomGen(), aGeomObj);
if (aShape.IsNull() ||
!myShapeTypes.Contains(aShape.ShapeType()))
return anObj._retn();
// Get geom object corresponding to the mesh
- _PTR(ChildIterator) anIter = study->NewChildIterator(aSO);
- for (; anIter->More(); anIter->Next()) {
- _PTR(SObject) aSO = anIter->Value();
- if (!aSO)
- continue;
- _PTR(SObject) aRefSO;
- _PTR(SObject) anObj;
- if (aSO->ReferencedObject(aRefSO))
- anObj = aRefSO;
-
- if (!anObj)
- anObj = aSO;
-
- anObject = _CAST(SObject,anObj)->GetObject();
- GEOM::GEOM_Object_var aMeshShape = GEOM::GEOM_Object::_narrow(anObject);
-
- if (!aMeshShape->_is_nil())
- return aMeshShape._retn();
+ if ( myKind == "SMESH" ) {
+ _PTR(ChildIterator) anIter = study->NewChildIterator(aSO);
+ for (; anIter->More(); anIter->Next()) {
+ _PTR(SObject) aSO = anIter->Value();
+ if (!aSO)
+ continue;
+ _PTR(SObject) aRefSO;
+ _PTR(SObject) anObj;
+ if (aSO->ReferencedObject(aRefSO))
+ anObj = aRefSO;
+
+ if (!anObj)
+ anObj = aSO;
+
+ anObject = _CAST(SObject,anObj)->GetObject();
+ GEOM::GEOM_Object_var aMeshShape = GEOM::GEOM_Object::_narrow(anObject);
+
+ if (!aMeshShape->_is_nil())
+ return aMeshShape._retn();
+ }
}
return GEOM::GEOM_Object::_nil();