File indexing completed on 2026-09-14 09:15:51
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _ShapeUpgrade_RemoveLocations_HeaderFile
0017 #define _ShapeUpgrade_RemoveLocations_HeaderFile
0018
0019 #include <Standard.hxx>
0020 #include <Standard_Type.hxx>
0021
0022 #include <TopAbs_ShapeEnum.hxx>
0023 #include <TopoDS_Shape.hxx>
0024 #include <TopTools_ShapeMapHasher.hxx>
0025 #include <NCollection_DataMap.hxx>
0026 #include <Standard_Transient.hxx>
0027
0028
0029 class ShapeUpgrade_RemoveLocations : public Standard_Transient
0030 {
0031
0032 public:
0033
0034 Standard_EXPORT ShapeUpgrade_RemoveLocations();
0035
0036
0037 Standard_EXPORT bool Remove(const TopoDS_Shape& theShape);
0038
0039
0040 TopoDS_Shape GetResult() const;
0041
0042
0043
0044
0045 void SetRemoveLevel(const TopAbs_ShapeEnum theLevel);
0046
0047
0048
0049
0050 TopAbs_ShapeEnum RemoveLevel() const;
0051
0052
0053 TopoDS_Shape ModifiedShape(const TopoDS_Shape& theInitShape) const;
0054
0055
0056 const NCollection_DataMap<TopoDS_Shape, TopoDS_Shape, TopTools_ShapeMapHasher>&
0057 GetModifiedShapesMap() const
0058 {
0059 return myMapNewShapes;
0060 }
0061
0062 DEFINE_STANDARD_RTTIEXT(ShapeUpgrade_RemoveLocations, Standard_Transient)
0063
0064 private:
0065 Standard_EXPORT bool MakeNewShape(const TopoDS_Shape& theShape,
0066 const TopoDS_Shape& theAncShape,
0067 TopoDS_Shape& theNewShape,
0068 const bool theRemoveLoc);
0069
0070 TopAbs_ShapeEnum myLevelRemoving;
0071 TopoDS_Shape myShape;
0072 NCollection_DataMap<TopoDS_Shape, TopoDS_Shape, TopTools_ShapeMapHasher> myMapNewShapes;
0073 };
0074
0075 #include <ShapeUpgrade_RemoveLocations.lxx>
0076
0077 #endif