1 // SMESH SMDS : implementaion of Salome mesh data structure
3 // Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
24 // File : SMDS_StdMapNodeOfExtendedOrientedMap_0.cxx
28 #include "SMDS_StdMapNodeOfExtendedOrientedMap.hxx"
30 #ifndef _Standard_TypeMismatch_HeaderFile
31 #include <Standard_TypeMismatch.hxx>
34 #ifndef _SMDS_MeshElement_HeaderFile
35 #include "SMDS_MeshElement.hxx"
37 #ifndef _SMDS_MeshOrientedElementMapHasher_HeaderFile
38 #include "SMDS_MeshOrientedElementMapHasher.hxx"
40 #ifndef _SMDS_ExtendedOrientedMap_HeaderFile
41 #include "SMDS_ExtendedOrientedMap.hxx"
43 #ifndef _SMDS_MapIteratorOfExtendedOrientedMap_HeaderFile
44 #include "SMDS_MapIteratorOfExtendedOrientedMap.hxx"
46 SMDS_StdMapNodeOfExtendedOrientedMap::~SMDS_StdMapNodeOfExtendedOrientedMap() {}
50 Standard_EXPORT Handle_Standard_Type& SMDS_StdMapNodeOfExtendedOrientedMap_Type_()
53 static Handle_Standard_Type aType1 = STANDARD_TYPE(TCollection_MapNode);
54 if ( aType1.IsNull()) aType1 = STANDARD_TYPE(TCollection_MapNode);
55 static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
56 if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared);
57 static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
58 if ( aType3.IsNull()) aType3 = STANDARD_TYPE(Standard_Transient);
61 static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
62 static Handle_Standard_Type _aType = new Standard_Type("SMDS_StdMapNodeOfExtendedOrientedMap",
63 sizeof(SMDS_StdMapNodeOfExtendedOrientedMap),
65 (Standard_Address)_Ancestors,
66 (Standard_Address)NULL);
73 // allow safe downcasting
75 const Handle(SMDS_StdMapNodeOfExtendedOrientedMap) Handle(SMDS_StdMapNodeOfExtendedOrientedMap)::DownCast(const Handle(Standard_Transient)& AnObject)
77 Handle(SMDS_StdMapNodeOfExtendedOrientedMap) _anOtherObject;
79 if (!AnObject.IsNull()) {
80 if (AnObject->IsKind(STANDARD_TYPE(SMDS_StdMapNodeOfExtendedOrientedMap))) {
81 _anOtherObject = Handle(SMDS_StdMapNodeOfExtendedOrientedMap)((Handle(SMDS_StdMapNodeOfExtendedOrientedMap)&)AnObject);
85 return _anOtherObject ;
87 const Handle(Standard_Type)& SMDS_StdMapNodeOfExtendedOrientedMap::DynamicType() const
89 return STANDARD_TYPE(SMDS_StdMapNodeOfExtendedOrientedMap) ;
91 Standard_Boolean SMDS_StdMapNodeOfExtendedOrientedMap::IsKind(const Handle(Standard_Type)& AType) const
93 return (STANDARD_TYPE(SMDS_StdMapNodeOfExtendedOrientedMap) == AType || TCollection_MapNode::IsKind(AType));
95 Handle_SMDS_StdMapNodeOfExtendedOrientedMap::~Handle_SMDS_StdMapNodeOfExtendedOrientedMap() {}
96 #define TheKey Handle_SMDS_MeshElement
97 #define TheKey_hxx <SMDS_MeshElement.hxx>
98 #define Hasher SMDS_MeshOrientedElementMapHasher
99 #define Hasher_hxx <SMDS_MeshOrientedElementMapHasher.hxx>
100 #define TCollection_StdMapNode SMDS_StdMapNodeOfExtendedOrientedMap
101 #define TCollection_StdMapNode_hxx <SMDS_StdMapNodeOfExtendedOrientedMap.hxx>
102 #define TCollection_MapIterator SMDS_MapIteratorOfExtendedOrientedMap
103 #define TCollection_MapIterator_hxx <SMDS_MapIteratorOfExtendedOrientedMap.hxx>
104 #define Handle_TCollection_StdMapNode Handle_SMDS_StdMapNodeOfExtendedOrientedMap
105 #define TCollection_StdMapNode_Type_() SMDS_StdMapNodeOfExtendedOrientedMap_Type_()
106 #define TCollection_Map SMDS_ExtendedOrientedMap
107 #define TCollection_Map_hxx <SMDS_ExtendedOrientedMap.hxx>
108 #include <TCollection_StdMapNode.gxx>