Salome HOME
Update from BR_V5_DEV 13Feb2009
[modules/geom.git] / src / GEOMAlgo / GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.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 _GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_HeaderFile
23 #define _GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_HeaderFile
24
25 #ifndef _Standard_HeaderFile
26 #include <Standard.hxx>
27 #endif
28 #ifndef _Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_HeaderFile
29 #include <Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.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 _Bnd_Box_HeaderFile
39 #include <Bnd_Box.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 Bnd_Box;
49 class TopTools_ShapeMapHasher;
50 class GEOMAlgo_IndexedDataMapOfShapeBox;
51
52
53
54 class GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox : public TCollection_MapNode {
55
56 public:
57  // Methods PUBLIC
58  // 
59
60 GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox(const TopoDS_Shape& K1,const Standard_Integer K2,const Bnd_Box& 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   Bnd_Box& Value() const;
69 //Standard_EXPORT ~GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox();
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 Bnd_Box myValue;
100 TCollection_MapNodePtr myNext2;
101
102
103 };
104
105 #define TheKey TopoDS_Shape
106 #define TheKey_hxx <TopoDS_Shape.hxx>
107 #define TheItem Bnd_Box
108 #define TheItem_hxx <Bnd_Box.hxx>
109 #define Hasher TopTools_ShapeMapHasher
110 #define Hasher_hxx <TopTools_ShapeMapHasher.hxx>
111 #define TCollection_IndexedDataMapNode GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox
112 #define TCollection_IndexedDataMapNode_hxx <GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx>
113 #define Handle_TCollection_IndexedDataMapNode Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox
114 #define TCollection_IndexedDataMapNode_Type_() GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeBox_Type_()
115 #define TCollection_IndexedDataMap GEOMAlgo_IndexedDataMapOfShapeBox
116 #define TCollection_IndexedDataMap_hxx <GEOMAlgo_IndexedDataMapOfShapeBox.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