Warning, file /include/opencascade/TopTools_MutexForShapeProvider.hxx was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _TopTools_MutexForShapeProvider_HeaderFile
0017 #define _TopTools_MutexForShapeProvider_HeaderFile
0018
0019 #include <TopoDS_TShape.hxx>
0020 #include <NCollection_DataMap.hxx>
0021 #include <TopAbs_ShapeEnum.hxx>
0022
0023 class Standard_Mutex;
0024 class TopoDS_Shape;
0025
0026
0027
0028 class TopTools_MutexForShapeProvider
0029 {
0030 public:
0031
0032 Standard_EXPORT TopTools_MutexForShapeProvider();
0033
0034
0035 Standard_EXPORT ~TopTools_MutexForShapeProvider();
0036
0037
0038 Standard_EXPORT void CreateMutexesForSubShapes(const TopoDS_Shape& theShape, const TopAbs_ShapeEnum theType);
0039
0040
0041 Standard_EXPORT void CreateMutexForShape(const TopoDS_Shape& theShape);
0042
0043
0044
0045 Standard_EXPORT Standard_Mutex* GetMutex(const TopoDS_Shape& theShape) const;
0046
0047
0048 Standard_EXPORT void RemoveAllMutexes();
0049
0050 private:
0051
0052 TopTools_MutexForShapeProvider (const TopTools_MutexForShapeProvider &);
0053
0054 TopTools_MutexForShapeProvider & operator = (const TopTools_MutexForShapeProvider &);
0055
0056
0057 NCollection_DataMap<Handle(TopoDS_TShape), Standard_Mutex *> myMap;
0058
0059 };
0060
0061 #endif