Salome HOME
New data type - DataMapOfShapeShape is added.
[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 <boost/shared_ptr.hpp>
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   /// Adds the Key <K> to  the Map <me>  with  the  Item. Returns True  if the Key  was not already in the map
29   bool bind (const boost::shared_ptr<GeomAPI_Shape>& theKey, const boost::shared_ptr<GeomAPI_Shape>& theItem);
30
31   /// Returns true if theKey is stored  in the map.
32   bool isBound (const boost::shared_ptr<GeomAPI_Shape>& theKey);
33
34   /// Returns  the Item stored  with the Key in the Map.
35   const boost::shared_ptr<GeomAPI_Shape> find(const boost::shared_ptr<GeomAPI_Shape>& theKey);  
36   
37   /// Removes the Key from the  map. Returns true if the Key was in the Map
38   bool unBind(const boost::shared_ptr<GeomAPI_Shape>& theKey);
39 };
40
41 #endif
42