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
00024
00025
00026
00027 #ifndef ShHealOper_RemoveFace_HeaderFile
00028 #define ShHealOper_RemoveFace_HeaderFile
00029
00030 #include <MMgt_TShared.hxx>
00031 #include <ShHealOper_Tool.hxx>
00032 #include <TopoDS_Shape.hxx>
00033 #include <TopTools_SequenceOfShape.hxx>
00034 #include <TopTools_MapOfShape.hxx>
00035 #include <TopoDS_Solid.hxx>
00036 #include <TopoDS_Shell.hxx>
00037 #include <TopoDS_Face.hxx>
00038 #include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
00040
00041
00042 class ShHealOper_RemoveFace : public ShHealOper_Tool
00043 {
00044 public:
00045
00046
00047 Standard_EXPORT ShHealOper_RemoveFace ();
00048
00049
00050 Standard_EXPORT ShHealOper_RemoveFace (const TopoDS_Shape& theShape);
00051
00052 Standard_EXPORT virtual void Init(const TopoDS_Shape& theShape);
00053
00054 Standard_EXPORT Standard_Boolean Perform();
00055
00056
00057 Standard_EXPORT Standard_Boolean Perform(const TopTools_SequenceOfShape& theRemovedFaces);
00058
00059
00060
00061 private:
00062
00063 Standard_Boolean removeFaces(const TopoDS_Shape& theShape,TopoDS_Shape& theNewShape);
00064 Standard_Boolean removeFaces(const TopoDS_Solid& theShape,TopoDS_Shape& theNewShape);
00065 Standard_Boolean removeFaces(const TopoDS_Shell& theShell,TopoDS_Shape& theNewShape);
00066 Standard_Boolean isReplace(const TopoDS_Shape& theOldShape,TopoDS_Shape& theNewShape);
00067
00068
00069 void removePCurve(const TopoDS_Face& theFace);
00070
00071
00072 Standard_Boolean isManifold(const TopoDS_Shell& aShell);
00073
00074 private:
00075
00076
00077 TopTools_MapOfShape myMapFaces;
00078 TopTools_IndexedDataMapOfShapeListOfShape myMapEdgesFace;
00079 public:
00080
00081
00082 };
00083
00084
00085
00086
00087
00088 #endif