File indexing completed on 2025-01-18 10:03:24
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Draft_Modification_HeaderFile
0018 #define _Draft_Modification_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <Draft_IndexedDataMapOfFaceFaceInfo.hxx>
0024 #include <Draft_IndexedDataMapOfEdgeEdgeInfo.hxx>
0025 #include <Draft_IndexedDataMapOfVertexVertexInfo.hxx>
0026 #include <TopoDS_Shape.hxx>
0027 #include <Draft_ErrorStatus.hxx>
0028 #include <TopoDS_Face.hxx>
0029 #include <TopTools_ListOfShape.hxx>
0030 #include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
0031 #include <BRepTools_Modification.hxx>
0032 #include <GeomAbs_Shape.hxx>
0033 #include <TopAbs_Orientation.hxx>
0034 class gp_Dir;
0035 class gp_Pln;
0036 class Geom_Surface;
0037 class TopLoc_Location;
0038 class TopoDS_Edge;
0039 class Geom_Curve;
0040 class TopoDS_Vertex;
0041 class gp_Pnt;
0042 class Geom2d_Curve;
0043
0044
0045 class Draft_Modification;
0046 DEFINE_STANDARD_HANDLE(Draft_Modification, BRepTools_Modification)
0047
0048
0049 class Draft_Modification : public BRepTools_Modification
0050 {
0051
0052 public:
0053
0054
0055 Standard_EXPORT Draft_Modification(const TopoDS_Shape& S);
0056
0057
0058 Standard_EXPORT void Clear();
0059
0060
0061 Standard_EXPORT void Init (const TopoDS_Shape& S);
0062
0063
0064
0065
0066
0067 Standard_EXPORT Standard_Boolean Add (const TopoDS_Face& F, const gp_Dir& Direction, const Standard_Real Angle, const gp_Pln& NeutralPlane, const Standard_Boolean Flag = Standard_True);
0068
0069
0070
0071
0072
0073 Standard_EXPORT void Remove (const TopoDS_Face& F);
0074
0075
0076
0077
0078
0079
0080
0081 Standard_EXPORT void Perform();
0082
0083
0084
0085
0086 Standard_EXPORT Standard_Boolean IsDone() const;
0087
0088 Standard_EXPORT Draft_ErrorStatus Error() const;
0089
0090
0091
0092 Standard_EXPORT const TopoDS_Shape& ProblematicShape() const;
0093
0094
0095
0096 Standard_EXPORT const TopTools_ListOfShape& ConnectedFaces (const TopoDS_Face& F);
0097
0098
0099
0100 Standard_EXPORT const TopTools_ListOfShape& ModifiedFaces();
0101
0102
0103
0104
0105
0106
0107
0108
0109
0110
0111
0112
0113
0114
0115 Standard_EXPORT Standard_Boolean NewSurface (const TopoDS_Face& F, Handle(Geom_Surface)& S, TopLoc_Location& L, Standard_Real& Tol, Standard_Boolean& RevWires, Standard_Boolean& RevFace) Standard_OVERRIDE;
0116
0117
0118
0119
0120
0121
0122
0123 Standard_EXPORT Standard_Boolean NewCurve (const TopoDS_Edge& E, Handle(Geom_Curve)& C, TopLoc_Location& L, Standard_Real& Tol) Standard_OVERRIDE;
0124
0125
0126
0127
0128
0129
0130 Standard_EXPORT Standard_Boolean NewPoint (const TopoDS_Vertex& V, gp_Pnt& P, Standard_Real& Tol) Standard_OVERRIDE;
0131
0132
0133
0134
0135
0136
0137
0138
0139
0140
0141
0142 Standard_EXPORT Standard_Boolean NewCurve2d (const TopoDS_Edge& E, const TopoDS_Face& F, const TopoDS_Edge& NewE, const TopoDS_Face& NewF, Handle(Geom2d_Curve)& C, Standard_Real& Tol) Standard_OVERRIDE;
0143
0144
0145
0146
0147
0148
0149 Standard_EXPORT Standard_Boolean NewParameter (const TopoDS_Vertex& V, const TopoDS_Edge& E, Standard_Real& P, Standard_Real& Tol) Standard_OVERRIDE;
0150
0151
0152
0153
0154
0155
0156
0157 Standard_EXPORT GeomAbs_Shape Continuity (const TopoDS_Edge& E, const TopoDS_Face& F1, const TopoDS_Face& F2, const TopoDS_Edge& NewE, const TopoDS_Face& NewF1, const TopoDS_Face& NewF2) Standard_OVERRIDE;
0158
0159
0160
0161
0162 DEFINE_STANDARD_RTTIEXT(Draft_Modification,BRepTools_Modification)
0163
0164 protected:
0165
0166
0167
0168
0169 private:
0170
0171
0172 Standard_EXPORT Standard_Boolean InternalAdd (const TopoDS_Face& F, const gp_Dir& Direction, const Standard_Real Angle, const gp_Pln& NeutralPlane, const Standard_Boolean Flag = Standard_True);
0173
0174 Standard_EXPORT Standard_Boolean Propagate();
0175
0176 Standard_EXPORT Handle(Geom_Curve) NewCurve (const Handle(Geom_Curve)& C, const Handle(Geom_Surface)& S, const TopAbs_Orientation OriS, const gp_Dir& Direction, const Standard_Real Angle, const gp_Pln& NeutralPlane, const Standard_Boolean Flag = Standard_True);
0177
0178 Standard_EXPORT Handle(Geom_Surface) NewSurface (const Handle(Geom_Surface)& S, const TopAbs_Orientation OriS, const gp_Dir& Direction, const Standard_Real Angle, const gp_Pln& NeutralPlane);
0179
0180 Draft_IndexedDataMapOfFaceFaceInfo myFMap;
0181 Draft_IndexedDataMapOfEdgeEdgeInfo myEMap;
0182 Draft_IndexedDataMapOfVertexVertexInfo myVMap;
0183 Standard_Boolean myComp;
0184 TopoDS_Shape myShape;
0185 TopoDS_Shape badShape;
0186 Draft_ErrorStatus errStat;
0187 TopoDS_Face curFace;
0188 TopTools_ListOfShape conneF;
0189 TopTools_IndexedDataMapOfShapeListOfShape myEFMap;
0190
0191
0192 };
0193
0194
0195
0196
0197
0198
0199
0200 #endif