Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _NMTTools_IndexedDataMapOfShapePaveBlock_HeaderFile
00024 #define _NMTTools_IndexedDataMapOfShapePaveBlock_HeaderFile
00025
00026 #ifndef _TCollection_BasicMap_HeaderFile
00027 #include <TCollection_BasicMap.hxx>
00028 #endif
00029 #ifndef _Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock_HeaderFile
00030 #include <Handle_NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock.hxx>
00031 #endif
00032 #ifndef _Standard_Integer_HeaderFile
00033 #include <Standard_Integer.hxx>
00034 #endif
00035 #ifndef _Standard_Boolean_HeaderFile
00036 #include <Standard_Boolean.hxx>
00037 #endif
00038 class Standard_DomainError;
00039 class Standard_OutOfRange;
00040 class Standard_NoSuchObject;
00041 class TopoDS_Shape;
00042 class BOPTools_PaveBlock;
00043 class TopTools_ShapeMapHasher;
00044 class NMTTools_IndexedDataMapNodeOfIndexedDataMapOfShapePaveBlock;
00045
00046
00047 #ifndef _Standard_HeaderFile
00048 #include <Standard.hxx>
00049 #endif
00050 #ifndef _Standard_Macro_HeaderFile
00051 #include <Standard_Macro.hxx>
00052 #endif
00053
00054
00055 class NMTTools_IndexedDataMapOfShapePaveBlock : public TCollection_BasicMap {
00056
00057 public:
00058
00059 void* operator new(size_t,void* anAddress)
00060 {
00061 return anAddress;
00062 }
00063 void* operator new(size_t size)
00064 {
00065 return Standard::Allocate(size);
00066 }
00067 void operator delete(void *anAddress)
00068 {
00069 if (anAddress) Standard::Free((Standard_Address&)anAddress);
00070 }
00071
00072
00073
00074
00075 Standard_EXPORT NMTTools_IndexedDataMapOfShapePaveBlock(const Standard_Integer NbBuckets = 1);
00076
00077
00078 Standard_EXPORT NMTTools_IndexedDataMapOfShapePaveBlock& Assign(const NMTTools_IndexedDataMapOfShapePaveBlock& Other) ;
00079 NMTTools_IndexedDataMapOfShapePaveBlock& operator =(const NMTTools_IndexedDataMapOfShapePaveBlock& Other)
00080 {
00081 return Assign(Other);
00082 }
00083
00084
00085
00086 Standard_EXPORT void ReSize(const Standard_Integer NbBuckets) ;
00087
00088
00089 Standard_EXPORT void Clear() ;
00090 ~NMTTools_IndexedDataMapOfShapePaveBlock()
00091 {
00092 Clear();
00093 }
00094
00095
00096
00097 Standard_EXPORT Standard_Integer Add(const TopoDS_Shape& K,const BOPTools_PaveBlock& I) ;
00098
00099
00100 Standard_EXPORT void Substitute(const Standard_Integer I,const TopoDS_Shape& K,const BOPTools_PaveBlock& T) ;
00101
00102
00103 Standard_EXPORT void RemoveLast() ;
00104
00105
00106 Standard_EXPORT Standard_Boolean Contains(const TopoDS_Shape& K) const;
00107
00108
00109 Standard_EXPORT const TopoDS_Shape& FindKey(const Standard_Integer I) const;
00110
00111
00112 Standard_EXPORT const BOPTools_PaveBlock& FindFromIndex(const Standard_Integer I) const;
00113 const BOPTools_PaveBlock& operator ()(const Standard_Integer I) const
00114 {
00115 return FindFromIndex(I);
00116 }
00117
00118
00119
00120 Standard_EXPORT BOPTools_PaveBlock& ChangeFromIndex(const Standard_Integer I) ;
00121 BOPTools_PaveBlock& operator ()(const Standard_Integer I)
00122 {
00123 return ChangeFromIndex(I);
00124 }
00125
00126
00127
00128 Standard_EXPORT Standard_Integer FindIndex(const TopoDS_Shape& K) const;
00129
00130
00131 Standard_EXPORT const BOPTools_PaveBlock& FindFromKey(const TopoDS_Shape& K) const;
00132
00133
00134 Standard_EXPORT BOPTools_PaveBlock& ChangeFromKey(const TopoDS_Shape& K) ;
00135
00136
00137
00138
00139
00140 protected:
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150 private:
00151
00152
00153
00154
00155
00156 Standard_EXPORT NMTTools_IndexedDataMapOfShapePaveBlock(const NMTTools_IndexedDataMapOfShapePaveBlock& Other);
00157
00158
00159
00160
00161
00162
00163 };
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173 #endif