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