Salome HOME
Merge with version on tag OCC-V2_1_0d
[modules/geom.git] / src / NMTTools / NMTTools_IndexedDataMapOfShapePaveBlock.hxx
1 // File generated by CPPExt (Value)
2 //                     Copyright (C) 1991,1995 by
3 //  
4 //                      MATRA DATAVISION, FRANCE
5 //  
6 // This software is furnished in accordance with the terms and conditions
7 // of the contract and with the inclusion of the above copyright notice.
8 // This software or any other copy thereof may not be provided or otherwise
9 // be made available to any other person. No title to an ownership of the
10 // software is hereby transferred.
11 //  
12 // At the termination of the contract, the software and all copies of this
13 // software must be deleted.
14
15 #ifndef _NMTTools_IndexedDataMapOfShapePaveBlock_HeaderFile
16 #define _NMTTools_IndexedDataMapOfShapePaveBlock_HeaderFile
17
18 #ifndef _TCollection_BasicMap_HeaderFile
19 #include <TCollection_BasicMap.hxx>
20 #endif
21 #ifndef _Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock_HeaderFile
22 #include <Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock.hxx>
23 #endif
24 #ifndef _Standard_Integer_HeaderFile
25 #include <Standard_Integer.hxx>
26 #endif
27 #ifndef _Standard_Boolean_HeaderFile
28 #include <Standard_Boolean.hxx>
29 #endif
30 class Standard_DomainError;
31 class Standard_OutOfRange;
32 class Standard_NoSuchObject;
33 class TopoDS_Shape;
34 class BOPTools_PaveBlock;
35 class TopTools_ShapeMapHasher;
36 class NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock;
37
38
39 #ifndef _Standard_HeaderFile
40 #include <Standard.hxx>
41 #endif
42 #ifndef _Standard_Macro_HeaderFile
43 #include <Standard_Macro.hxx>
44 #endif
45
46 class NMTTools_IndexedDataMapOfShapePaveBlock  : public TCollection_BasicMap {
47
48 public:
49
50     void* operator new(size_t,void* anAddress) 
51       {
52         return anAddress;
53       }
54     void* operator new(size_t size) 
55       { 
56         return Standard::Allocate(size); 
57       }
58     void  operator delete(void *anAddress) 
59       { 
60         if (anAddress) Standard::Free((Standard_Address&)anAddress); 
61       }
62  // Methods PUBLIC
63  // 
64 Standard_EXPORT NMTTools_IndexedDataMapOfShapePaveBlock(const Standard_Integer NbBuckets = 1);
65 Standard_EXPORT   NMTTools_IndexedDataMapOfShapePaveBlock& Assign(const NMTTools_IndexedDataMapOfShapePaveBlock& Other) ;
66   NMTTools_IndexedDataMapOfShapePaveBlock& operator =(const NMTTools_IndexedDataMapOfShapePaveBlock& Other) 
67 {
68   return Assign(Other);
69 }
70
71 Standard_EXPORT   void ReSize(const Standard_Integer NbBuckets) ;
72 Standard_EXPORT   void Clear() ;
73 ~NMTTools_IndexedDataMapOfShapePaveBlock()
74 {
75   Clear();
76 }
77
78 Standard_EXPORT   Standard_Integer Add(const TopoDS_Shape& K,const BOPTools_PaveBlock& I) ;
79 Standard_EXPORT   void Substitute(const Standard_Integer I,const TopoDS_Shape& K,const BOPTools_PaveBlock& T) ;
80 Standard_EXPORT   void RemoveLast() ;
81 Standard_EXPORT   Standard_Boolean Contains(const TopoDS_Shape& K) const;
82 Standard_EXPORT  const TopoDS_Shape& FindKey(const Standard_Integer I) const;
83 Standard_EXPORT  const BOPTools_PaveBlock& FindFromIndex(const Standard_Integer I) const;
84  const BOPTools_PaveBlock& operator ()(const Standard_Integer I) const
85 {
86   return FindFromIndex(I);
87 }
88
89 Standard_EXPORT   BOPTools_PaveBlock& ChangeFromIndex(const Standard_Integer I) ;
90   BOPTools_PaveBlock& operator ()(const Standard_Integer I) 
91 {
92   return ChangeFromIndex(I);
93 }
94
95 Standard_EXPORT   Standard_Integer FindIndex(const TopoDS_Shape& K) const;
96 Standard_EXPORT  const BOPTools_PaveBlock& FindFromKey(const TopoDS_Shape& K) const;
97 Standard_EXPORT   BOPTools_PaveBlock& ChangeFromKey(const TopoDS_Shape& K) ;
98
99
100
101
102
103 protected:
104
105  // Methods PROTECTED
106  // 
107
108
109  // Fields PROTECTED
110  //
111
112
113 private: 
114
115  // Methods PRIVATE
116  // 
117 Standard_EXPORT NMTTools_IndexedDataMapOfShapePaveBlock(const NMTTools_IndexedDataMapOfShapePaveBlock& Other);
118
119
120  // Fields PRIVATE
121  //
122
123
124 };
125
126
127
128
129
130 // other Inline functions and methods (like "C++: function call" methods)
131 //
132
133
134 #endif