File indexing completed on 2026-08-31 09:17:21
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _BRepSweep_Trsf_HeaderFile
0018 #define _BRepSweep_Trsf_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 #include <TopLoc_Location.hxx>
0024 #include <BRepSweep_NumLinearRegularSweep.hxx>
0025 #include <TopAbs_Orientation.hxx>
0026 class BRep_Builder;
0027 class TopoDS_Shape;
0028 class Sweep_NumShape;
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043 class BRepSweep_Trsf : public BRepSweep_NumLinearRegularSweep
0044 {
0045 public:
0046 DEFINE_STANDARD_ALLOC
0047
0048
0049
0050
0051 Standard_EXPORT void Init();
0052
0053
0054
0055 Standard_EXPORT Standard_Boolean Process(const TopoDS_Shape& aGenS, const Sweep_NumShape& aDirV);
0056
0057
0058
0059 Standard_EXPORT virtual TopoDS_Shape MakeEmptyVertex(const TopoDS_Shape& aGenV,
0060 const Sweep_NumShape& aDirV) = 0;
0061
0062
0063
0064 Standard_EXPORT virtual TopoDS_Shape MakeEmptyDirectingEdge(const TopoDS_Shape& aGenV,
0065 const Sweep_NumShape& aDirE) = 0;
0066
0067
0068
0069 Standard_EXPORT virtual TopoDS_Shape MakeEmptyGeneratingEdge(const TopoDS_Shape& aGenE,
0070 const Sweep_NumShape& aDirV) = 0;
0071
0072
0073
0074
0075 Standard_EXPORT virtual void SetParameters(const TopoDS_Shape& aNewFace,
0076 TopoDS_Shape& aNewVertex,
0077 const TopoDS_Shape& aGenF,
0078 const TopoDS_Shape& aGenV,
0079 const Sweep_NumShape& aDirV) = 0;
0080
0081
0082
0083
0084 Standard_EXPORT virtual void SetDirectingParameter(const TopoDS_Shape& aNewEdge,
0085 TopoDS_Shape& aNewVertex,
0086 const TopoDS_Shape& aGenV,
0087 const Sweep_NumShape& aDirE,
0088 const Sweep_NumShape& aDirV) = 0;
0089
0090
0091
0092
0093 Standard_EXPORT virtual void SetGeneratingParameter(const TopoDS_Shape& aNewEdge,
0094 TopoDS_Shape& aNewVertex,
0095 const TopoDS_Shape& aGenE,
0096 const TopoDS_Shape& aGenV,
0097 const Sweep_NumShape& aDirV) = 0;
0098
0099
0100
0101
0102
0103
0104 Standard_EXPORT virtual TopoDS_Shape MakeEmptyFace(const TopoDS_Shape& aGenS,
0105 const Sweep_NumShape& aDirS) = 0;
0106
0107
0108
0109
0110 Standard_EXPORT virtual void SetPCurve(const TopoDS_Shape& aNewFace,
0111 TopoDS_Shape& aNewEdge,
0112 const TopoDS_Shape& aGenF,
0113 const TopoDS_Shape& aGenE,
0114 const Sweep_NumShape& aDirV,
0115 const TopAbs_Orientation orien) = 0;
0116
0117
0118
0119
0120 Standard_EXPORT virtual void SetGeneratingPCurve(const TopoDS_Shape& aNewFace,
0121 TopoDS_Shape& aNewEdge,
0122 const TopoDS_Shape& aGenE,
0123 const Sweep_NumShape& aDirE,
0124 const Sweep_NumShape& aDirV,
0125 const TopAbs_Orientation orien) = 0;
0126
0127
0128
0129
0130 Standard_EXPORT virtual void SetDirectingPCurve(const TopoDS_Shape& aNewFace,
0131 TopoDS_Shape& aNewEdge,
0132 const TopoDS_Shape& aGenE,
0133 const TopoDS_Shape& aGenV,
0134 const Sweep_NumShape& aDirE,
0135 const TopAbs_Orientation orien) = 0;
0136
0137
0138
0139
0140 Standard_EXPORT virtual Standard_Boolean GGDShapeIsToAdd(const TopoDS_Shape& aNewShape,
0141 const TopoDS_Shape& aNewSubShape,
0142 const TopoDS_Shape& aGenS,
0143 const TopoDS_Shape& aSubGenS,
0144 const Sweep_NumShape& aDirS) const = 0;
0145
0146
0147
0148
0149 Standard_EXPORT virtual Standard_Boolean GDDShapeIsToAdd(
0150 const TopoDS_Shape& aNewShape,
0151 const TopoDS_Shape& aNewSubShape,
0152 const TopoDS_Shape& aGenS,
0153 const Sweep_NumShape& aDirS,
0154 const Sweep_NumShape& aSubDirS) const = 0;
0155
0156
0157
0158
0159
0160 Standard_EXPORT virtual Standard_Boolean SeparatedWires(const TopoDS_Shape& aNewShape,
0161 const TopoDS_Shape& aNewSubShape,
0162 const TopoDS_Shape& aGenS,
0163 const TopoDS_Shape& aSubGenS,
0164 const Sweep_NumShape& aDirS) const = 0;
0165
0166
0167
0168
0169
0170 Standard_EXPORT virtual Standard_Boolean HasShape(const TopoDS_Shape& aGenS,
0171 const Sweep_NumShape& aDirS) const = 0;
0172
0173
0174
0175 Standard_EXPORT virtual Standard_Boolean IsInvariant(const TopoDS_Shape& aGenS) const = 0;
0176
0177
0178
0179
0180 Standard_EXPORT void SetContinuity(const TopoDS_Shape& aGenS, const Sweep_NumShape& aDirS);
0181
0182 protected:
0183
0184
0185
0186 Standard_EXPORT BRepSweep_Trsf(const BRep_Builder& aBuilder,
0187 const TopoDS_Shape& aGenShape,
0188 const Sweep_NumShape& aDirWire,
0189 const TopLoc_Location& aLocation,
0190 const Standard_Boolean aCopy);
0191
0192 TopLoc_Location myLocation;
0193 Standard_Boolean myCopy;
0194
0195 private:
0196 };
0197
0198 #endif