1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: GeomAPI_DataMapOfShapeShape.h
4 // Created: 28 Oct 2014
5 // Author: Sergey Zaritchny
7 #ifndef GeomAPI_DataMapOfShapeShape_H_
8 #define GeomAPI_DataMapOfShapeShape_H_
11 #include <GeomAPI_Interface.h>
13 #include <GeomAPI_Shape.h>
15 /**\class GeomAPI_DataMapOfShapeShape
17 * \brief DataMap of Shape - Shape defined by TopoDS_Shapes
19 class GeomAPI_DataMapOfShapeShape : public GeomAPI_Interface
24 GeomAPI_DataMapOfShapeShape();
34 /// Adds \a theKey to me with \a theItem. Returns True if the Key was not already in the map.
36 bool bind (const std::shared_ptr<GeomAPI_Shape> theKey,
37 const std::shared_ptr<GeomAPI_Shape> theItem);
40 GEOMAPI_EXPORT void merge(const GeomAPI_DataMapOfShapeShape& theDataMap);
43 GEOMAPI_EXPORT void merge(const std::shared_ptr<GeomAPI_DataMapOfShapeShape> theDataMap);
45 /// \return true if theKey is stored in the map.
47 bool isBound (const std::shared_ptr<GeomAPI_Shape> theKey);
49 /// \return the Item stored with the Key in the Map.
51 const std::shared_ptr<GeomAPI_Shape> find(const std::shared_ptr<GeomAPI_Shape> theKey);
53 /// \brief Removes the Key from the map.
54 /// \return true if the Key was in the Map.
56 bool unBind(const std::shared_ptr<GeomAPI_Shape> theKey);
60 ~GeomAPI_DataMapOfShapeShape();