File indexing completed on 2026-06-27 08:39:25
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _FilletSurf_InternalBuilder_HeaderFile
0018 #define _FilletSurf_InternalBuilder_HeaderFile
0019
0020 #include <BRepAdaptor_Curve2d.hxx>
0021 #include <ChFi3d_FilBuilder.hxx>
0022 #include <ChFi3d_FilletShape.hxx>
0023 #include <TopTools_ListOfShape.hxx>
0024 #include <ChFiDS_SequenceOfSurfData.hxx>
0025 #include <math_Vector.hxx>
0026 #include <TopAbs_Orientation.hxx>
0027 #include <FilletSurf_StatusType.hxx>
0028
0029 class Adaptor3d_TopolTool;
0030 class ChFiDS_Spine;
0031 class Geom_Surface;
0032 class Geom_Curve;
0033 class Geom2d_Curve;
0034 class Geom_TrimmedCurve;
0035 class TopoDS_Shape;
0036 class TopoDS_Face;
0037
0038
0039
0040 class FilletSurf_InternalBuilder : public ChFi3d_FilBuilder
0041 {
0042 public:
0043 DEFINE_STANDARD_ALLOC
0044
0045 Standard_EXPORT FilletSurf_InternalBuilder(const TopoDS_Shape& S,
0046 const ChFi3d_FilletShape FShape = ChFi3d_Polynomial,
0047 const Standard_Real Ta = 1.0e-2,
0048 const Standard_Real Tapp3d = 1.0e-4,
0049 const Standard_Real Tapp2d = 1.0e-5);
0050
0051
0052
0053
0054
0055
0056
0057
0058 Standard_EXPORT Standard_Integer Add(const TopTools_ListOfShape& E, const Standard_Real R);
0059
0060 Standard_EXPORT void Perform();
0061
0062 Standard_EXPORT Standard_Boolean Done() const;
0063
0064
0065 Standard_EXPORT Standard_Integer NbSurface() const;
0066
0067
0068 Standard_EXPORT const Handle(Geom_Surface)& SurfaceFillet(const Standard_Integer Index) const;
0069
0070
0071
0072 Standard_EXPORT Standard_Real TolApp3d(const Standard_Integer Index) const;
0073
0074
0075 Standard_EXPORT const TopoDS_Face& SupportFace1(const Standard_Integer Index) const;
0076
0077
0078 Standard_EXPORT const TopoDS_Face& SupportFace2(const Standard_Integer Index) const;
0079
0080
0081 Standard_EXPORT const Handle(Geom_Curve)& CurveOnFace1(const Standard_Integer Index) const;
0082
0083
0084 Standard_EXPORT const Handle(Geom_Curve)& CurveOnFace2(const Standard_Integer Index) const;
0085
0086
0087 Standard_EXPORT const Handle(Geom2d_Curve)& PCurveOnFace1(const Standard_Integer Index) const;
0088
0089
0090 Standard_EXPORT const Handle(Geom2d_Curve)& PCurve1OnFillet(const Standard_Integer Index) const;
0091
0092
0093 Standard_EXPORT const Handle(Geom2d_Curve)& PCurveOnFace2(const Standard_Integer Index) const;
0094
0095
0096 Standard_EXPORT const Handle(Geom2d_Curve)& PCurve2OnFillet(const Standard_Integer Index) const;
0097
0098
0099 Standard_EXPORT Standard_Real FirstParameter() const;
0100
0101
0102 Standard_EXPORT Standard_Real LastParameter() const;
0103
0104 Standard_EXPORT FilletSurf_StatusType StartSectionStatus() const;
0105
0106 Standard_EXPORT FilletSurf_StatusType EndSectionStatus() const;
0107
0108 Standard_EXPORT void Simulate();
0109
0110 Standard_EXPORT Standard_Integer NbSection(const Standard_Integer IndexSurf) const;
0111
0112 Standard_EXPORT void Section(const Standard_Integer IndexSurf,
0113 const Standard_Integer IndexSec,
0114 Handle(Geom_TrimmedCurve)& Circ) const;
0115
0116 protected:
0117
0118
0119 Standard_EXPORT virtual Standard_Boolean PerformSurf(ChFiDS_SequenceOfSurfData& SeqData,
0120 const Handle(ChFiDS_ElSpine)& Guide,
0121 const Handle(ChFiDS_Spine)& Spine,
0122 const Standard_Integer Choix,
0123 const Handle(BRepAdaptor_Surface)& S1,
0124 const Handle(Adaptor3d_TopolTool)& I1,
0125 const Handle(BRepAdaptor_Surface)& S2,
0126 const Handle(Adaptor3d_TopolTool)& I2,
0127 const Standard_Real MaxStep,
0128 const Standard_Real Fleche,
0129 const Standard_Real TolGuide,
0130 Standard_Real& First,
0131 Standard_Real& Last,
0132 const Standard_Boolean Inside,
0133 const Standard_Boolean Appro,
0134 const Standard_Boolean Forward,
0135 const Standard_Boolean RecOnS1,
0136 const Standard_Boolean RecOnS2,
0137 const math_Vector& Soldep,
0138 Standard_Integer& Intf,
0139 Standard_Integer& Intl) Standard_OVERRIDE;
0140
0141 Standard_EXPORT virtual void PerformSurf(ChFiDS_SequenceOfSurfData& SeqData,
0142 const Handle(ChFiDS_ElSpine)& Guide,
0143 const Handle(ChFiDS_Spine)& Spine,
0144 const Standard_Integer Choix,
0145 const Handle(BRepAdaptor_Surface)& S1,
0146 const Handle(Adaptor3d_TopolTool)& I1,
0147 const Handle(BRepAdaptor_Curve2d)& PC1,
0148 const Handle(BRepAdaptor_Surface)& Sref1,
0149 const Handle(BRepAdaptor_Curve2d)& PCref1,
0150 Standard_Boolean& Decroch1,
0151 const Handle(BRepAdaptor_Surface)& S2,
0152 const Handle(Adaptor3d_TopolTool)& I2,
0153 const TopAbs_Orientation Or2,
0154 const Standard_Real MaxStep,
0155 const Standard_Real Fleche,
0156 const Standard_Real TolGuide,
0157 Standard_Real& First,
0158 Standard_Real& Last,
0159 const Standard_Boolean Inside,
0160 const Standard_Boolean Appro,
0161 const Standard_Boolean Forward,
0162 const Standard_Boolean RecP,
0163 const Standard_Boolean RecS,
0164 const Standard_Boolean RecRst,
0165 const math_Vector& Soldep) Standard_OVERRIDE;
0166
0167 Standard_EXPORT virtual void PerformSurf(ChFiDS_SequenceOfSurfData& SeqData,
0168 const Handle(ChFiDS_ElSpine)& Guide,
0169 const Handle(ChFiDS_Spine)& Spine,
0170 const Standard_Integer Choix,
0171 const Handle(BRepAdaptor_Surface)& S1,
0172 const Handle(Adaptor3d_TopolTool)& I1,
0173 const TopAbs_Orientation Or1,
0174 const Handle(BRepAdaptor_Surface)& S2,
0175 const Handle(Adaptor3d_TopolTool)& I2,
0176 const Handle(BRepAdaptor_Curve2d)& PC2,
0177 const Handle(BRepAdaptor_Surface)& Sref2,
0178 const Handle(BRepAdaptor_Curve2d)& PCref2,
0179 Standard_Boolean& Decroch2,
0180 const Standard_Real MaxStep,
0181 const Standard_Real Fleche,
0182 const Standard_Real TolGuide,
0183 Standard_Real& First,
0184 Standard_Real& Last,
0185 const Standard_Boolean Inside,
0186 const Standard_Boolean Appro,
0187 const Standard_Boolean Forward,
0188 const Standard_Boolean RecP,
0189 const Standard_Boolean RecS,
0190 const Standard_Boolean RecRst,
0191 const math_Vector& Soldep) Standard_OVERRIDE;
0192
0193 Standard_EXPORT virtual void PerformSurf(ChFiDS_SequenceOfSurfData& Data,
0194 const Handle(ChFiDS_ElSpine)& Guide,
0195 const Handle(ChFiDS_Spine)& Spine,
0196 const Standard_Integer Choix,
0197 const Handle(BRepAdaptor_Surface)& S1,
0198 const Handle(Adaptor3d_TopolTool)& I1,
0199 const Handle(BRepAdaptor_Curve2d)& PC1,
0200 const Handle(BRepAdaptor_Surface)& Sref1,
0201 const Handle(BRepAdaptor_Curve2d)& PCref1,
0202 Standard_Boolean& Decroch1,
0203 const TopAbs_Orientation Or1,
0204 const Handle(BRepAdaptor_Surface)& S2,
0205 const Handle(Adaptor3d_TopolTool)& I2,
0206 const Handle(BRepAdaptor_Curve2d)& PC2,
0207 const Handle(BRepAdaptor_Surface)& Sref2,
0208 const Handle(BRepAdaptor_Curve2d)& PCref2,
0209 Standard_Boolean& Decroch2,
0210 const TopAbs_Orientation Or2,
0211 const Standard_Real MaxStep,
0212 const Standard_Real Fleche,
0213 const Standard_Real TolGuide,
0214 Standard_Real& First,
0215 Standard_Real& Last,
0216 const Standard_Boolean Inside,
0217 const Standard_Boolean Appro,
0218 const Standard_Boolean Forward,
0219 const Standard_Boolean RecP1,
0220 const Standard_Boolean RecRst1,
0221 const Standard_Boolean RecP2,
0222 const Standard_Boolean RecRst2,
0223 const math_Vector& Soldep) Standard_OVERRIDE;
0224
0225 private:
0226 };
0227
0228 #endif