2 // File : SMESH_TypeFilter.cxx
3 // Created : Fri Dec 07 09:57:24 2001
4 // Author : Nicolas REJNERI
7 // Copyright : Open CASCADE
10 #include "SMESH_TypeFilter.ixx"
12 #include "SALOME_InteractiveObject.hxx"
13 #include "SALOME_TypeFilter.hxx"
15 #include "utilities.h"
16 #include "QAD_Application.h"
17 #include "QAD_Desktop.h"
18 #include "QAD_Study.h"
21 SMESH_TypeFilter::SMESH_TypeFilter(MeshObjectType aType)
26 Standard_Boolean SMESH_TypeFilter::IsOk(const Handle(SALOME_InteractiveObject)& anObj) const
28 Handle(SALOME_TypeFilter) meshFilter = new SALOME_TypeFilter( "MESH" );
29 if ( !meshFilter->IsOk(anObj) )
32 if ( anObj->hasEntry() ) {
33 QAD_Study* ActiveStudy = QAD_Application::getDesktop()->getActiveStudy();
34 SALOMEDS::Study_var aStudy = ActiveStudy->getStudyDocument();
35 SALOMEDS::SObject_var obj = aStudy->FindObjectID( anObj->getEntry() );
43 SALOMEDS::SObject_var objFather = obj->GetFather();
44 SALOMEDS::SComponent_var objComponent = obj->GetFatherComponent();
45 if (( objFather->Tag() == 1 ) && (strcmp( objFather->GetID(), objComponent->GetID() ) != 0 ) )
51 SALOMEDS::SObject_var objFather = obj->GetFather();
52 SALOMEDS::SComponent_var objComponent = obj->GetFatherComponent();
53 if (( objFather->Tag() == 2 ) && (strcmp( objFather->GetID(), objComponent->GetID() ) != 0 ) )
59 SALOMEDS::SObject_var objFather = obj->GetFather();
60 SALOMEDS::SComponent_var objComponent = obj->GetFatherComponent();
62 if (( obj->Tag() >= 3 ) && (strcmp( objFather->GetID(), objComponent->GetID() ) == 0 ) )
68 SALOMEDS::SObject_var objFather = obj->GetFather();
69 SALOMEDS::SComponent_var objComponent = obj->GetFatherComponent();
71 if (( objFather->Tag() >= 4 ) && (strcmp( objFather->GetID(), objComponent->GetID() ) != 0 ) )
77 SALOMEDS::SObject_var objFather = obj->GetFather();
78 SALOMEDS::SComponent_var objComponent = obj->GetFatherComponent();
80 if (( obj->Tag() >= 3 ) && (strcmp( objFather->GetID(), objComponent->GetID() ) == 0 ) )
83 if (( objFather->Tag() >= 4 ) && (strcmp( objFather->GetID(), objComponent->GetID() ) != 0 ) )
90 SALOMEDS::SObject_var objFather = obj->GetFather();
91 SALOMEDS::SComponent_var objComponent = obj->GetFatherComponent();
93 if (( obj->Tag() == 4 ) && (strcmp( objFather->GetID(), objComponent->GetID() ) != 0 ) && ( objFather->Tag() >= 3 ))
99 SALOMEDS::SObject_var objFather = obj->GetFather();
100 SALOMEDS::SComponent_var objComponent = obj->GetFatherComponent();
102 if (( obj->Tag() == 5 ) && (strcmp( objFather->GetID(), objComponent->GetID() ) != 0 ) && ( objFather->Tag() >= 3 ))
108 SALOMEDS::SObject_var objFather = obj->GetFather();
109 SALOMEDS::SComponent_var objComponent = obj->GetFatherComponent();
111 if (( obj->Tag() == 6 ) && (strcmp( objFather->GetID(), objComponent->GetID() ) != 0 ) && ( objFather->Tag() >= 3 ))
117 SALOMEDS::SObject_var objFather = obj->GetFather();
118 SALOMEDS::SComponent_var objComponent = obj->GetFatherComponent();
120 if (( obj->Tag() == 7 ) && (strcmp( objFather->GetID(), objComponent->GetID() ) != 0 ) && ( objFather->Tag() >= 3 ))
124 case SUBMESH_COMPOUND:
126 SALOMEDS::SObject_var objFather = obj->GetFather();
127 SALOMEDS::SComponent_var objComponent = obj->GetFatherComponent();
129 if (( obj->Tag() == 8 ) && (strcmp( objFather->GetID(), objComponent->GetID() ) != 0 ) && ( objFather->Tag() >= 3 ))