Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _GEOMAlgo_ShapeSet_HeaderFile
00024 #define _GEOMAlgo_ShapeSet_HeaderFile
00025
00026 #ifndef _Standard_HeaderFile
00027 #include <Standard.hxx>
00028 #endif
00029 #ifndef _Standard_Macro_HeaderFile
00030 #include <Standard_Macro.hxx>
00031 #endif
00032
00033 #ifndef _TopTools_MapOfOrientedShape_HeaderFile
00034 #include <TopTools_MapOfOrientedShape.hxx>
00035 #endif
00036 #ifndef _TopTools_ListOfShape_HeaderFile
00037 #include <TopTools_ListOfShape.hxx>
00038 #endif
00039 #ifndef _TopAbs_ShapeEnum_HeaderFile
00040 #include <TopAbs_ShapeEnum.hxx>
00041 #endif
00042 #ifndef _Standard_Boolean_HeaderFile
00043 #include <Standard_Boolean.hxx>
00044 #endif
00045 class TopTools_ListOfShape;
00046 class TopoDS_Shape;
00047
00048
00051 class GEOMAlgo_ShapeSet {
00052 public:
00053
00054 void* operator new(size_t,void* anAddress)
00055 {
00056 return anAddress;
00057 }
00058 void* operator new(size_t size)
00059 {
00060 return Standard::Allocate(size);
00061 }
00062 void operator delete(void *anAddress)
00063 {
00064 if (anAddress) Standard::Free((Standard_Address&)anAddress);
00065 }
00066
00068 Standard_EXPORT GEOMAlgo_ShapeSet();
00070 Standard_EXPORT void Add(const TopTools_ListOfShape& theLS) ;
00072 Standard_EXPORT void Add(const TopoDS_Shape& theShape) ;
00075 Standard_EXPORT void Add(const TopoDS_Shape& theShape,const TopAbs_ShapeEnum theType) ;
00077 Standard_EXPORT void Subtract(const GEOMAlgo_ShapeSet& theSet) ;
00079 Standard_EXPORT void Clear() ;
00082 Standard_EXPORT Standard_Boolean Contains(const GEOMAlgo_ShapeSet& theSet) const;
00084 Standard_EXPORT const TopTools_ListOfShape& GetSet() const;
00086 Standard_EXPORT Standard_Boolean IsEqual(const GEOMAlgo_ShapeSet& theOther) const;
00087 Standard_Boolean operator ==(const GEOMAlgo_ShapeSet& theOther) const
00088 {
00089 return IsEqual(theOther);
00090 }
00091
00092
00093
00094
00095
00096 protected:
00097
00098
00099
00100 TopTools_MapOfOrientedShape myMap;
00101 TopTools_ListOfShape myList;
00102
00103
00104 private:
00105
00106
00107
00108
00109
00110 };
00111
00112
00113
00114
00115
00116
00117
00118
00119 #endif