Salome HOME
Merge branch 'BR_PYTHON_PLUGIN' of newgeom:newgeom.git into Dev_0.6.1
[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
21 class GEOMAPI_EXPORT GeomAPI_DataMapOfShapeShape : public GeomAPI_Interface
22 {
23  public:
24   /// Creation of plane by the point and normal
25   GeomAPI_DataMapOfShapeShape();
26
27   /// Clear 
28   void clear();
29
30   /// Size of the map
31   int size();
32
33   /// Adds the Key <K> to  the Map <me>  with  the  Item. Returns True  if the Key  was not already in the map
34   bool bind (std::shared_ptr<GeomAPI_Shape> theKey, std::shared_ptr<GeomAPI_Shape> theItem);
35
36   /// Returns true if theKey is stored  in the map.
37   bool isBound (std::shared_ptr<GeomAPI_Shape> theKey);
38
39   /// Returns  the Item stored  with the Key in the Map.
40   const std::shared_ptr<GeomAPI_Shape> find(std::shared_ptr<GeomAPI_Shape> theKey);  
41   
42   /// Removes the Key from the  map. Returns true if the Key was in the Map
43   bool unBind(std::shared_ptr<GeomAPI_Shape> theKey);
44
45   /// Destructor
46   ~GeomAPI_DataMapOfShapeShape();
47 };
48
49 #endif
50