File indexing completed on 2026-09-20 09:18:56
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _ShapeFix_Solid_HeaderFile
0018 #define _ShapeFix_Solid_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <TopoDS_Shape.hxx>
0024 #include <Standard_Integer.hxx>
0025 #include <ShapeFix_Root.hxx>
0026 #include <ShapeExtend_Status.hxx>
0027 class ShapeFix_Shell;
0028 class TopoDS_Solid;
0029 class TopoDS_Shell;
0030 class ShapeExtend_BasicMsgRegistrator;
0031
0032
0033 #ifdef Status
0034 #undef Status
0035 #endif
0036
0037
0038
0039 class ShapeFix_Solid : public ShapeFix_Root
0040 {
0041
0042 public:
0043
0044 Standard_EXPORT ShapeFix_Solid();
0045
0046
0047 Standard_EXPORT ShapeFix_Solid(const TopoDS_Solid& solid);
0048
0049
0050 Standard_EXPORT virtual void Init(const TopoDS_Solid& solid);
0051
0052
0053
0054
0055
0056 Standard_EXPORT virtual bool Perform(
0057 const Message_ProgressRange& theProgress = Message_ProgressRange());
0058
0059
0060 Standard_EXPORT TopoDS_Solid SolidFromShell(const TopoDS_Shell& shell);
0061
0062
0063 Standard_EXPORT bool Status(const ShapeExtend_Status status) const;
0064
0065
0066 Standard_EXPORT TopoDS_Shape Solid() const;
0067
0068
0069 occ::handle<ShapeFix_Shell> FixShellTool() const { return myFixShell; }
0070
0071
0072 Standard_EXPORT void SetMsgRegistrator(
0073 const occ::handle<ShapeExtend_BasicMsgRegistrator>& msgreg) override;
0074
0075
0076 Standard_EXPORT void SetPrecision(const double preci) override;
0077
0078
0079 Standard_EXPORT void SetMinTolerance(const double mintol) override;
0080
0081
0082 Standard_EXPORT void SetMaxTolerance(const double maxtol) override;
0083
0084
0085
0086 int& FixShellMode() { return myFixShellMode; }
0087
0088
0089
0090 int& FixShellOrientationMode() { return myFixShellOrientationMode; }
0091
0092
0093
0094
0095
0096
0097 bool& CreateOpenSolidMode() { return myCreateOpenSolidMode; }
0098
0099
0100
0101 Standard_EXPORT TopoDS_Shape Shape();
0102
0103 DEFINE_STANDARD_RTTIEXT(ShapeFix_Solid, ShapeFix_Root)
0104
0105 protected:
0106 TopoDS_Shape mySolid;
0107 occ::handle<ShapeFix_Shell> myFixShell;
0108 int myStatus;
0109 int myFixShellMode;
0110 int myFixShellOrientationMode;
0111 bool myCreateOpenSolidMode;
0112 };
0113
0114 #endif