File indexing completed on 2025-01-18 10:04:58
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _ShapeUpgrade_WireDivide_HeaderFile
0018 #define _ShapeUpgrade_WireDivide_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <TopoDS_Face.hxx>
0024 #include <TopoDS_Wire.hxx>
0025 #include <Standard_Integer.hxx>
0026 #include <ShapeUpgrade_Tool.hxx>
0027 #include <ShapeExtend_Status.hxx>
0028 class ShapeUpgrade_SplitCurve3d;
0029 class ShapeUpgrade_SplitCurve2d;
0030 class ShapeUpgrade_EdgeDivide;
0031 class ShapeAnalysis_TransferParameters;
0032 class ShapeUpgrade_FixSmallCurves;
0033 class Geom_Surface;
0034 class TopoDS_Edge;
0035 class TopLoc_Location;
0036
0037
0038 #ifdef Status
0039 #undef Status
0040 #endif
0041
0042 class ShapeUpgrade_WireDivide;
0043 DEFINE_STANDARD_HANDLE(ShapeUpgrade_WireDivide, ShapeUpgrade_Tool)
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056 class ShapeUpgrade_WireDivide : public ShapeUpgrade_Tool
0057 {
0058
0059 public:
0060
0061
0062
0063 Standard_EXPORT ShapeUpgrade_WireDivide();
0064
0065
0066 Standard_EXPORT void Init (const TopoDS_Wire& W, const TopoDS_Face& F);
0067
0068
0069 Standard_EXPORT void Init (const TopoDS_Wire& W, const Handle(Geom_Surface)& S);
0070
0071
0072 Standard_EXPORT void Load (const TopoDS_Wire& W);
0073
0074
0075 Standard_EXPORT void Load (const TopoDS_Edge& E);
0076
0077
0078 Standard_EXPORT void SetFace (const TopoDS_Face& F);
0079
0080
0081 Standard_EXPORT void SetSurface (const Handle(Geom_Surface)& S);
0082
0083
0084 Standard_EXPORT void SetSurface (const Handle(Geom_Surface)& S, const TopLoc_Location& L);
0085
0086
0087
0088
0089
0090
0091
0092
0093 Standard_EXPORT virtual void Perform();
0094
0095
0096
0097 Standard_EXPORT const TopoDS_Wire& Wire() const;
0098
0099
0100
0101
0102
0103
0104 Standard_EXPORT Standard_Boolean Status (const ShapeExtend_Status status) const;
0105
0106
0107 Standard_EXPORT void SetSplitCurve3dTool (const Handle(ShapeUpgrade_SplitCurve3d)& splitCurve3dTool);
0108
0109
0110 Standard_EXPORT void SetSplitCurve2dTool (const Handle(ShapeUpgrade_SplitCurve2d)& splitCurve2dTool);
0111
0112
0113 Standard_EXPORT void SetTransferParamTool (const Handle(ShapeAnalysis_TransferParameters)& TransferParam);
0114
0115
0116 Standard_EXPORT void SetEdgeDivideTool (const Handle(ShapeUpgrade_EdgeDivide)& edgeDivideTool);
0117
0118
0119 Standard_EXPORT virtual Handle(ShapeUpgrade_EdgeDivide) GetEdgeDivideTool() const;
0120
0121
0122 Standard_EXPORT virtual Handle(ShapeAnalysis_TransferParameters) GetTransferParamTool();
0123
0124
0125
0126
0127
0128 Standard_EXPORT void SetEdgeMode (const Standard_Integer EdgeMode);
0129
0130
0131 Standard_EXPORT void SetFixSmallCurveTool (const Handle(ShapeUpgrade_FixSmallCurves)& FixSmallCurvesTool);
0132
0133
0134 Standard_EXPORT Handle(ShapeUpgrade_FixSmallCurves) GetFixSmallCurveTool() const;
0135
0136
0137
0138
0139 DEFINE_STANDARD_RTTIEXT(ShapeUpgrade_WireDivide,ShapeUpgrade_Tool)
0140
0141 protected:
0142
0143
0144
0145 Standard_EXPORT virtual Handle(ShapeUpgrade_SplitCurve3d) GetSplitCurve3dTool() const;
0146
0147
0148 Standard_EXPORT virtual Handle(ShapeUpgrade_SplitCurve2d) GetSplitCurve2dTool() const;
0149
0150 TopoDS_Face myFace;
0151 TopoDS_Wire myWire;
0152 Standard_Integer myStatus;
0153 Standard_Integer myEdgeMode;
0154
0155
0156 private:
0157
0158
0159 Handle(ShapeUpgrade_SplitCurve3d) mySplitCurve3dTool;
0160 Handle(ShapeUpgrade_SplitCurve2d) mySplitCurve2dTool;
0161 Handle(ShapeUpgrade_EdgeDivide) myEdgeDivide;
0162 Handle(ShapeAnalysis_TransferParameters) myTransferParamTool;
0163 Handle(ShapeUpgrade_FixSmallCurves) myFixSmallCurveTool;
0164
0165
0166 };
0167
0168
0169
0170
0171
0172
0173
0174 #endif