X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHFiltersSelection%2FSMESH_TypeFilter.cxx;h=509b872405e0a524c92836266e5887a9cb212ffc;hp=f406022d264b4c852e47da78af1f6e5d218ae115;hb=f31477795020e2cfc50d5b625579285c644a6a96;hpb=80b2ef84c3197c4159cd6b82cc6a476853e76022 diff --git a/src/SMESHFiltersSelection/SMESH_TypeFilter.cxx b/src/SMESHFiltersSelection/SMESH_TypeFilter.cxx index f406022d2..509b87240 100644 --- a/src/SMESHFiltersSelection/SMESH_TypeFilter.cxx +++ b/src/SMESHFiltersSelection/SMESH_TypeFilter.cxx @@ -1,3 +1,24 @@ +// Copyright (C) 2007-2008 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. +// +// 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 +// #include "SMESH_TypeFilter.hxx" #include @@ -5,12 +26,15 @@ #include #include -SMESH_TypeFilter::SMESH_TypeFilter (MeshObjectType theType) +#include +#include CORBA_CLIENT_HEADER(SMESH_Gen) + +SMESH_TypeFilter::SMESH_TypeFilter (MeshObjectType theType) { myType = theType; } -SMESH_TypeFilter::~SMESH_TypeFilter() +SMESH_TypeFilter::~SMESH_TypeFilter() { } @@ -27,7 +51,7 @@ bool SMESH_TypeFilter::isOk (const SUIT_DataOwner* theDataOwner) const _PTR(Study) study = appStudy->studyDS(); QString entry = owner->entry(); - _PTR(SObject) obj (study->FindObjectID(entry.latin1())), aRefSO; + _PTR(SObject) obj (study->FindObjectID(entry.toLatin1().data())), aRefSO; if( extractReference && obj && obj->ReferencedObject( aRefSO ) ) obj = aRefSO; if (!obj) return false; @@ -61,90 +85,98 @@ bool SMESH_TypeFilter::isOk (const SUIT_DataOwner* theDataOwner) const return false; switch (myType) - { + { case HYPOTHESIS: { - if ( aLevel == 2 && ( objFather->Tag() == 1 )) // hypo definition + if (aLevel == 2 && (objFather->Tag() == SMESH::Tag_HypothesisRoot)) + // hypo definition Ok = true; - else if ( aLevel == 3 && ( objFather->Tag() == 2 )) // applied global hypo + else if (aLevel == 3 && (objFather->Tag() == SMESH::Tag_RefOnAppliedHypothesis)) + // applied global hypo Ok = true; - else if ( aLevel == 5 && ( objFather->Tag() == 2 )) // applied local hypo + else if (aLevel == 5 && (objFather->Tag() == SMESH::Tag_RefOnAppliedHypothesis)) + // applied local hypo Ok = true; break; } case ALGORITHM: { - if ( aLevel == 2 && ( objFather->Tag() == 2 )) // algo definition + if (aLevel == 2 && (objFather->Tag() == SMESH::Tag_AlgorithmsRoot)) + // algo definition Ok = true; - else if ( aLevel == 3 && ( objFather->Tag() == 3 )) // applied global algo + else if (aLevel == 3 && (objFather->Tag() == SMESH::Tag_RefOnAppliedAlgorithms)) + // applied global algo Ok = true; - else if ( aLevel == 5 && ( objFather->Tag() == 3 )) // applied local algo + else if (aLevel == 5 && (objFather->Tag() == SMESH::Tag_RefOnAppliedAlgorithms)) + // applied local algo Ok = true; break; } case MESH: { - if ( aLevel == 1 && ( obj->Tag() >= 3 )) + if (aLevel == 1 && (obj->Tag() >= SMESH::Tag_FirstMeshRoot)) Ok = true; break; } case SUBMESH: { // see SMESH_Gen_i.cxx for tag numbers - if ( aLevel == 3 && ( objFather->Tag() >= 4 && objFather->Tag() <= 10 )) + if (aLevel == 3 && (objFather->Tag() >= SMESH::Tag_FirstSubMesh && + objFather->Tag() <= SMESH::Tag_LastSubMesh)) Ok = true; break; } case MESHorSUBMESH: { - if ( aLevel == 1 && ( obj->Tag() >= 3 )) + if (aLevel == 1 && (obj->Tag() >= SMESH::Tag_FirstMeshRoot)) Ok = true; // mesh - else if ( aLevel == 3 && ( objFather->Tag() >= 4 && objFather->Tag() <= 10 )) + else if (aLevel == 3 && (objFather->Tag() >= SMESH::Tag_FirstSubMesh && + objFather->Tag() <= SMESH::Tag_LastSubMesh)) Ok = true; break; } - case SUBMESH_VERTEX: // Label "SubMeshes on vertexes" + case SUBMESH_VERTEX: // Label "SubMeshes on vertexes" { - if ( aLevel == 3 && ( objFather->Tag() == 4 )) + if (aLevel == 3 && (objFather->Tag() == SMESH::Tag_SubMeshOnVertex)) Ok = true; break; } case SUBMESH_EDGE: { - if ( aLevel == 3 && ( objFather->Tag() == 5 )) + if (aLevel == 3 && (objFather->Tag() == SMESH::Tag_SubMeshOnEdge)) Ok = true; break; } case SUBMESH_FACE: { - if ( aLevel == 3 && ( objFather->Tag() == 7 )) + if (aLevel == 3 && (objFather->Tag() == SMESH::Tag_SubMeshOnFace)) Ok = true; break; } case SUBMESH_SOLID: { - if ( aLevel == 3 && ( objFather->Tag() == 9 )) + if (aLevel == 3 && (objFather->Tag() == SMESH::Tag_SubMeshOnSolid)) Ok = true; break; } case SUBMESH_COMPOUND: { - if ( aLevel == 3 && ( objFather->Tag() == 10 )) + if (aLevel == 3 && (objFather->Tag() == SMESH::Tag_SubMeshOnCompound)) Ok = true; break; } case GROUP: { - if ( aLevel == 3 && ( objFather->Tag() > 10 )) + if (aLevel == 3 && (objFather->Tag() >= SMESH::Tag_FirstGroup)) Ok = true; break; } - } + } } return Ok; } -MeshObjectType SMESH_TypeFilter::type() const +MeshObjectType SMESH_TypeFilter::type() const { return myType; }