1 // SMESH SMDS : implementaion of Salome mesh data structure
3 // Copyright (C) 2003 OPEN CASCADE
5 // This library is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU Lesser General Public
7 // License as published by the Free Software Foundation; either
8 // version 2.1 of the License.
10 // This library is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 // Lesser General Public License for more details.
15 // You should have received a copy of the GNU Lesser General Public
16 // License along with this library; if not, write to the Free Software
17 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 #include "SMESH_TypeFilter.jxx"
23 #ifndef _Standard_TypeMismatch_HeaderFile
24 #include <Standard_TypeMismatch.hxx>
27 SMESH_TypeFilter::~SMESH_TypeFilter() {}
31 Standard_EXPORT Handle_Standard_Type& SMESH_TypeFilter_Type_()
34 static Handle_Standard_Type aType1 = STANDARD_TYPE(SALOME_Filter);
35 if ( aType1.IsNull()) aType1 = STANDARD_TYPE(SALOME_Filter);
36 static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
37 if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared);
38 static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
39 if ( aType3.IsNull()) aType3 = STANDARD_TYPE(Standard_Transient);
42 static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
43 static Handle_Standard_Type _aType = new Standard_Type("SMESH_TypeFilter",
44 sizeof(SMESH_TypeFilter),
46 (Standard_Address)_Ancestors,
47 (Standard_Address)NULL);
54 // allow safe downcasting
56 const Handle(SMESH_TypeFilter) Handle(SMESH_TypeFilter)::DownCast(const Handle(Standard_Transient)& AnObject)
58 Handle(SMESH_TypeFilter) _anOtherObject;
60 if (!AnObject.IsNull()) {
61 if (AnObject->IsKind(STANDARD_TYPE(SMESH_TypeFilter))) {
62 _anOtherObject = Handle(SMESH_TypeFilter)((Handle(SMESH_TypeFilter)&)AnObject);
66 return _anOtherObject ;
68 const Handle(Standard_Type)& SMESH_TypeFilter::DynamicType() const
70 return STANDARD_TYPE(SMESH_TypeFilter) ;
72 Standard_Boolean SMESH_TypeFilter::IsKind(const Handle(Standard_Type)& AType) const
74 return (STANDARD_TYPE(SMESH_TypeFilter) == AType || SALOME_Filter::IsKind(AType));
76 Handle_SMESH_TypeFilter::~Handle_SMESH_TypeFilter() {}