Salome HOME
9b24aa885df7be54e2b7f1a0bed311c98845244f
[modules/geom.git] / src / NMTTools / NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape.hxx
1 //  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 //  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
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.
10 //
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.
15 //
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
19 //
20 //  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 #ifndef _NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape_HeaderFile
23 #define _NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape_HeaderFile
24
25 #ifndef _Standard_HeaderFile
26 #include <Standard.hxx>
27 #endif
28 #ifndef _Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape_HeaderFile
29 #include <Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape.hxx>
30 #endif
31
32 #ifndef _TopoDS_Shape_HeaderFile
33 #include <TopoDS_Shape.hxx>
34 #endif
35 #ifndef _Standard_Integer_HeaderFile
36 #include <Standard_Integer.hxx>
37 #endif
38 #ifndef _TopTools_IndexedMapOfShape_HeaderFile
39 #include <TopTools_IndexedMapOfShape.hxx>
40 #endif
41 #ifndef _TCollection_MapNodePtr_HeaderFile
42 #include <TCollection_MapNodePtr.hxx>
43 #endif
44 #ifndef _TCollection_MapNode_HeaderFile
45 #include <TCollection_MapNode.hxx>
46 #endif
47 class TopoDS_Shape;
48 class TopTools_IndexedMapOfShape;
49 class TopTools_ShapeMapHasher;
50 class NMTTools_IndexedDataMapOfShapeIndexedMapOfShape;
51
52
53
54 class NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape : public TCollection_MapNode {
55
56 public:
57  // Methods PUBLIC
58  // 
59
60 NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape(const TopoDS_Shape& K1,const Standard_Integer K2,const TopTools_IndexedMapOfShape& I,const TCollection_MapNodePtr& n1,const TCollection_MapNodePtr& n2);
61
62   TopoDS_Shape& Key1() const;
63
64   Standard_Integer& Key2() const;
65
66   TCollection_MapNodePtr& Next2() const;
67
68   TopTools_IndexedMapOfShape& Value() const;
69 //Standard_EXPORT ~NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape();
70
71
72
73
74  // Type management
75  //
76  Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
77  //Standard_EXPORT Standard_Boolean            IsKind(const Handle(Standard_Type)&) const;
78
79 protected:
80
81  // Methods PROTECTED
82  // 
83
84
85  // Fields PROTECTED
86  //
87
88
89 private: 
90
91  // Methods PRIVATE
92  // 
93
94
95  // Fields PRIVATE
96  //
97 TopoDS_Shape myKey1;
98 Standard_Integer myKey2;
99 TopTools_IndexedMapOfShape myValue;
100 TCollection_MapNodePtr myNext2;
101
102
103 };
104
105 #define TheKey TopoDS_Shape
106 #define TheKey_hxx <TopoDS_Shape.hxx>
107 #define TheItem TopTools_IndexedMapOfShape
108 #define TheItem_hxx <TopTools_IndexedMapOfShape.hxx>
109 #define Hasher TopTools_ShapeMapHasher
110 #define Hasher_hxx <TopTools_ShapeMapHasher.hxx>
111 #define TCollection_IndexedDataMapNode NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape
112 #define TCollection_IndexedDataMapNode_hxx <NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape.hxx>
113 #define Handle_TCollection_IndexedDataMapNode Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape
114 #define TCollection_IndexedDataMapNode_Type_() NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapeIndexedMapOfShape_Type_()
115 #define TCollection_IndexedDataMap NMTTools_IndexedDataMapOfShapeIndexedMapOfShape
116 #define TCollection_IndexedDataMap_hxx <NMTTools_IndexedDataMapOfShapeIndexedMapOfShape.hxx>
117
118 #include <TCollection_IndexedDataMapNode.lxx>
119
120 #undef TheKey
121 #undef TheKey_hxx
122 #undef TheItem
123 #undef TheItem_hxx
124 #undef Hasher
125 #undef Hasher_hxx
126 #undef TCollection_IndexedDataMapNode
127 #undef TCollection_IndexedDataMapNode_hxx
128 #undef Handle_TCollection_IndexedDataMapNode
129 #undef TCollection_IndexedDataMapNode_Type_
130 #undef TCollection_IndexedDataMap
131 #undef TCollection_IndexedDataMap_hxx
132
133
134 // other Inline functions and methods (like "C++: function call" methods)
135 //
136
137
138 #endif