File indexing completed on 2025-01-18 10:04:57
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _ShapeUpgrade_ShapeDivide_HeaderFile
0018 #define _ShapeUpgrade_ShapeDivide_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <TopoDS_Shape.hxx>
0025 #include <Standard_Integer.hxx>
0026 #include <Message_Gravity.hxx>
0027 #include <ShapeExtend_Status.hxx>
0028 class ShapeUpgrade_FaceDivide;
0029 class ShapeBuild_ReShape;
0030 class ShapeExtend_BasicMsgRegistrator;
0031 class Message_Msg;
0032
0033
0034 #ifdef Status
0035 #undef Status
0036 #endif
0037
0038
0039 class ShapeUpgrade_ShapeDivide
0040 {
0041 public:
0042
0043 DEFINE_STANDARD_ALLOC
0044
0045
0046 Standard_EXPORT ShapeUpgrade_ShapeDivide();
0047
0048
0049 Standard_EXPORT ShapeUpgrade_ShapeDivide(const TopoDS_Shape& S);
0050
0051
0052 Standard_EXPORT void Init (const TopoDS_Shape& S);
0053
0054 Standard_EXPORT virtual ~ShapeUpgrade_ShapeDivide();
0055
0056
0057 Standard_EXPORT void SetPrecision (const Standard_Real Prec);
0058
0059
0060 Standard_EXPORT void SetMaxTolerance (const Standard_Real maxtol);
0061
0062
0063 Standard_EXPORT void SetMinTolerance (const Standard_Real mintol);
0064
0065
0066
0067 Standard_EXPORT void SetSurfaceSegmentMode (const Standard_Boolean Segment);
0068
0069
0070
0071
0072
0073 Standard_EXPORT virtual Standard_Boolean Perform (const Standard_Boolean newContext = Standard_True);
0074
0075
0076 Standard_EXPORT TopoDS_Shape Result() const;
0077
0078
0079
0080 Standard_EXPORT Handle(ShapeBuild_ReShape) GetContext() const;
0081
0082
0083
0084 Standard_EXPORT void SetContext (const Handle(ShapeBuild_ReShape)& context);
0085
0086
0087 Standard_EXPORT virtual void SetMsgRegistrator (const Handle(ShapeExtend_BasicMsgRegistrator)& msgreg);
0088
0089
0090 Standard_EXPORT Handle(ShapeExtend_BasicMsgRegistrator) MsgRegistrator() const;
0091
0092
0093
0094 Standard_EXPORT void SendMsg (const TopoDS_Shape& shape, const Message_Msg& message, const Message_Gravity gravity = Message_Info) const;
0095
0096
0097
0098
0099
0100
0101 Standard_EXPORT Standard_Boolean Status (const ShapeExtend_Status status) const;
0102
0103
0104 Standard_EXPORT void SetSplitFaceTool (const Handle(ShapeUpgrade_FaceDivide)& splitFaceTool);
0105
0106
0107
0108
0109
0110 Standard_EXPORT void SetEdgeMode (const Standard_Integer aEdgeMode);
0111
0112
0113
0114
0115 protected:
0116
0117
0118
0119 Standard_EXPORT virtual Handle(ShapeUpgrade_FaceDivide) GetSplitFaceTool() const;
0120
0121 Standard_EXPORT virtual Message_Msg GetFaceMsg() const;
0122
0123 Standard_EXPORT virtual Message_Msg GetWireMsg() const;
0124
0125
0126 Standard_EXPORT virtual Message_Msg GetEdgeMsg() const;
0127
0128
0129 Handle(ShapeBuild_ReShape) myContext;
0130 Handle(ShapeExtend_BasicMsgRegistrator) myMsgReg;
0131 TopoDS_Shape myShape;
0132 TopoDS_Shape myResult;
0133 Standard_Real myPrecision;
0134 Standard_Real myMinTol;
0135 Standard_Real myMaxTol;
0136 Standard_Boolean mySegmentMode;
0137 Standard_Integer myStatus;
0138 Standard_Integer myEdgeMode;
0139
0140
0141 private:
0142
0143
0144
0145 Handle(ShapeUpgrade_FaceDivide) mySplitFaceTool;
0146
0147
0148 };
0149
0150
0151
0152
0153
0154
0155
0156 #endif