PageRenderTime 34ms CodeModel.GetById 19ms app.highlight 11ms RepoModel.GetById 1ms app.codeStats 1ms

/src/contrib/geom-5.1.2.7/inc/GEOMAlgo_IndexedDataMapOfShapeShapeInfo.hxx

http://pythonocc.googlecode.com/
C++ Header | 172 lines | 76 code | 63 blank | 33 comment | 1 complexity | d8732ce0e929162b0795b04e143f7b74 MD5 | raw file
  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_IndexedDataMapOfShapeShapeInfo_HeaderFile
 23#define _GEOMAlgo_IndexedDataMapOfShapeShapeInfo_HeaderFile
 24
 25#ifndef _TCollection_BasicMap_HeaderFile
 26#include <TCollection_BasicMap.hxx>
 27#endif
 28#ifndef _Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo_HeaderFile
 29#include <Handle_GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo.hxx>
 30#endif
 31#ifndef _Standard_Integer_HeaderFile
 32#include <Standard_Integer.hxx>
 33#endif
 34#ifndef _Standard_Boolean_HeaderFile
 35#include <Standard_Boolean.hxx>
 36#endif
 37class Standard_DomainError;
 38class Standard_OutOfRange;
 39class Standard_NoSuchObject;
 40class TopoDS_Shape;
 41class GEOMAlgo_ShapeInfo;
 42class TopTools_ShapeMapHasher;
 43class GEOMAlgo_IndexedDataMapNodeOfIndexedDataMapOfShapeShapeInfo;
 44
 45
 46#ifndef _Standard_HeaderFile
 47#include <Standard.hxx>
 48#endif
 49#ifndef _Standard_Macro_HeaderFile
 50#include <Standard_Macro.hxx>
 51#endif
 52
 53
 54class GEOMAlgo_IndexedDataMapOfShapeShapeInfo  : public TCollection_BasicMap {
 55
 56public:
 57
 58    void* operator new(size_t,void* anAddress) 
 59      {
 60        return anAddress;
 61      }
 62    void* operator new(size_t size) 
 63      { 
 64        return Standard::Allocate(size); 
 65      }
 66    void  operator delete(void *anAddress) 
 67      { 
 68        if (anAddress) Standard::Free((Standard_Address&)anAddress); 
 69      }
 70 // Methods PUBLIC
 71 // 
 72
 73
 74Standard_EXPORT GEOMAlgo_IndexedDataMapOfShapeShapeInfo(const Standard_Integer NbBuckets = 1);
 75
 76
 77Standard_EXPORT   GEOMAlgo_IndexedDataMapOfShapeShapeInfo& Assign(const GEOMAlgo_IndexedDataMapOfShapeShapeInfo& Other) ;
 78  GEOMAlgo_IndexedDataMapOfShapeShapeInfo& operator =(const GEOMAlgo_IndexedDataMapOfShapeShapeInfo& Other) 
 79{
 80  return Assign(Other);
 81}
 82
 83
 84
 85Standard_EXPORT   void ReSize(const Standard_Integer NbBuckets) ;
 86
 87
 88Standard_EXPORT   void Clear() ;
 89~GEOMAlgo_IndexedDataMapOfShapeShapeInfo()
 90{
 91  Clear();
 92}
 93
 94
 95
 96Standard_EXPORT   Standard_Integer Add(const TopoDS_Shape& K,const GEOMAlgo_ShapeInfo& I) ;
 97
 98
 99Standard_EXPORT   void Substitute(const Standard_Integer I,const TopoDS_Shape& K,const GEOMAlgo_ShapeInfo& T) ;
100
101
102Standard_EXPORT   void RemoveLast() ;
103
104
105Standard_EXPORT   Standard_Boolean Contains(const TopoDS_Shape& K) const;
106
107
108Standard_EXPORT  const TopoDS_Shape& FindKey(const Standard_Integer I) const;
109
110
111Standard_EXPORT  const GEOMAlgo_ShapeInfo& FindFromIndex(const Standard_Integer I) const;
112 const GEOMAlgo_ShapeInfo& operator ()(const Standard_Integer I) const
113{
114  return FindFromIndex(I);
115}
116
117
118
119Standard_EXPORT   GEOMAlgo_ShapeInfo& ChangeFromIndex(const Standard_Integer I) ;
120  GEOMAlgo_ShapeInfo& operator ()(const Standard_Integer I) 
121{
122  return ChangeFromIndex(I);
123}
124
125
126
127Standard_EXPORT   Standard_Integer FindIndex(const TopoDS_Shape& K) const;
128
129
130Standard_EXPORT  const GEOMAlgo_ShapeInfo& FindFromKey(const TopoDS_Shape& K) const;
131
132
133Standard_EXPORT   GEOMAlgo_ShapeInfo& ChangeFromKey(const TopoDS_Shape& K) ;
134
135
136
137
138
139protected:
140
141 // Methods PROTECTED
142 // 
143
144
145 // Fields PROTECTED
146 //
147
148
149private: 
150
151 // Methods PRIVATE
152 // 
153
154
155Standard_EXPORT GEOMAlgo_IndexedDataMapOfShapeShapeInfo(const GEOMAlgo_IndexedDataMapOfShapeShapeInfo& Other);
156
157
158 // Fields PRIVATE
159 //
160
161
162};
163
164
165
166
167
168// other Inline functions and methods (like "C++: function call" methods)
169//
170
171
172#endif