PAL13473 (Build repetitive mesh):

Take myKind field into account
This commit is contained in:
eap 2006-12-06 14:52:21 +00:00
parent 7e07caff33
commit e117dee711
2 changed files with 20 additions and 16 deletions

View File

@ -176,24 +176,26 @@ GEOM::GEOM_Object_ptr SMESH_NumberFilter::getGeom
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 ( 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;
if (!anObj)
anObj = aSO;
anObject = _CAST(SObject,anObj)->GetObject();
GEOM::GEOM_Object_var aMeshShape = GEOM::GEOM_Object::_narrow(anObject);
anObject = _CAST(SObject,anObj)->GetObject();
GEOM::GEOM_Object_var aMeshShape = GEOM::GEOM_Object::_narrow(anObject);
if (!aMeshShape->_is_nil())
return aMeshShape._retn();
if (!aMeshShape->_is_nil())
return aMeshShape._retn();
}
}
return GEOM::GEOM_Object::_nil();

View File

@ -31,6 +31,8 @@
#include <SALOMEconfig.h>
#include CORBA_SERVER_HEADER(GEOM_Gen)
#include <string>
class SUIT_DataOwner;
/*!
@ -77,7 +79,7 @@ class SMESH_NumberFilter : public SUIT_SelectionFilter
GEOM::GEOM_Object_ptr getGeom (const SUIT_DataOwner*, const bool extractReference = true ) const;
private:
char* myKind;
std::string myKind;
TopAbs_ShapeEnum mySubShapeType;
int myNumber;
bool myIsClosedOnly;