File indexing completed on 2026-09-13 09:17:43
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _ShapeFix_Root_HeaderFile
0018 #define _ShapeFix_Root_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <TopoDS_Shape.hxx>
0024 #include <Standard_Transient.hxx>
0025 #include <Message_Gravity.hxx>
0026 #include <Standard_Integer.hxx>
0027
0028 #include <ShapeExtend_BasicMsgRegistrator.hxx>
0029
0030 class ShapeBuild_ReShape;
0031 class ShapeExtend_BasicMsgRegistrator;
0032 class Message_Msg;
0033
0034
0035
0036
0037
0038
0039 class ShapeFix_Root : public Standard_Transient
0040 {
0041
0042 public:
0043
0044 Standard_EXPORT ShapeFix_Root();
0045
0046
0047 Standard_EXPORT virtual void Set(const occ::handle<ShapeFix_Root>& Root);
0048
0049
0050 Standard_EXPORT virtual void SetContext(const occ::handle<ShapeBuild_ReShape>& context);
0051
0052
0053 occ::handle<ShapeBuild_ReShape> Context() const;
0054
0055
0056 Standard_EXPORT virtual void SetMsgRegistrator(
0057 const occ::handle<ShapeExtend_BasicMsgRegistrator>& msgreg);
0058
0059
0060 occ::handle<ShapeExtend_BasicMsgRegistrator> MsgRegistrator() const;
0061
0062
0063 Standard_EXPORT virtual void SetPrecision(const double preci);
0064
0065
0066 double Precision() const;
0067
0068
0069 Standard_EXPORT virtual void SetMinTolerance(const double mintol);
0070
0071
0072 double MinTolerance() const;
0073
0074
0075 Standard_EXPORT virtual void SetMaxTolerance(const double maxtol);
0076
0077
0078 double MaxTolerance() const;
0079
0080
0081 double LimitTolerance(const double toler) const;
0082
0083
0084
0085 Standard_EXPORT void SendMsg(const TopoDS_Shape& shape,
0086 const Message_Msg& message,
0087 const Message_Gravity gravity = Message_Info) const;
0088
0089
0090
0091 void SendMsg(const Message_Msg& message, const Message_Gravity gravity = Message_Info) const;
0092
0093
0094
0095 void SendWarning(const TopoDS_Shape& shape, const Message_Msg& message) const;
0096
0097
0098 void SendWarning(const Message_Msg& message) const;
0099
0100
0101
0102 void SendFail(const TopoDS_Shape& shape, const Message_Msg& message) const;
0103
0104
0105 void SendFail(const Message_Msg& message) const;
0106
0107 DEFINE_STANDARD_RTTIEXT(ShapeFix_Root, Standard_Transient)
0108
0109 protected:
0110
0111
0112 static bool NeedFix(const int flag, const bool def = true);
0113
0114 TopoDS_Shape myShape;
0115
0116 private:
0117 occ::handle<ShapeBuild_ReShape> myContext;
0118 occ::handle<ShapeExtend_BasicMsgRegistrator> myMsgReg;
0119 double myPrecision;
0120 double myMinTol;
0121 double myMaxTol;
0122 };
0123
0124 #include <ShapeFix_Root.lxx>
0125
0126 #endif