Salome HOME
Correction for compilation on Linux
[modules/shaper.git] / src / GeomAPI / GeomAPI_DataMapOfShapeShape.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        GeomAPI_DataMapOfShapeShape.h
4 // Created:     28 Oct 2014
5 // Author:      Sergey Zaritchny
6
7 #ifndef GeomAPI_DataMapOfShapeShape_H_
8 #define GeomAPI_DataMapOfShapeShape_H_
9
10 #include <memory>
11 #include <GeomAPI_Interface.h>
12
13 class GeomAPI_Pnt;
14 class GeomAPI_Dir;
15
16 /**\class GeomAPI_DataMapOfShapeShape
17  * \ingroup DataModel
18  * \brief DataMap of Shape - Shape defined by TopoDS_Shapes
19  */
20 class GeomAPI_DataMapOfShapeShape : public GeomAPI_Interface
21 {
22  public:
23   /// Creation of plane by the point and normal
24   GEOMAPI_EXPORT 
25   GeomAPI_DataMapOfShapeShape();
26
27   /// Clear 
28   GEOMAPI_EXPORT 
29   void clear();
30
31   /// Size of the map
32   GEOMAPI_EXPORT 
33   int size();
34
35   /// Adds \a theKey to me with \a theItem. Returns True if the Key  was not already in the map
36   GEOMAPI_EXPORT 
37   bool bind (std::shared_ptr<GeomAPI_Shape> theKey, std::shared_ptr<GeomAPI_Shape> theItem);
38
39   /// Returns true if theKey is stored  in the map.
40   GEOMAPI_EXPORT 
41   bool isBound (std::shared_ptr<GeomAPI_Shape> theKey);
42
43   /// Returns  the Item stored  with the Key in the Map.
44   GEOMAPI_EXPORT 
45   const std::shared_ptr<GeomAPI_Shape> find(std::shared_ptr<GeomAPI_Shape> theKey);  
46   
47   /// Removes the Key from the  map. Returns true if the Key was in the Map
48   GEOMAPI_EXPORT 
49   bool unBind(std::shared_ptr<GeomAPI_Shape> theKey);
50
51   /// Destructor
52   GEOMAPI_EXPORT 
53   ~GeomAPI_DataMapOfShapeShape();
54 };
55
56 #endif
57