File indexing completed on 2026-09-11 09:17:43
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _GeomFill_GuideTrihedronAC_HeaderFile
0018 #define _GeomFill_GuideTrihedronAC_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <GeomFill_TrihedronWithGuide.hxx>
0024 #include <Standard_Integer.hxx>
0025 #include <GeomAbs_Shape.hxx>
0026 #include <NCollection_Array1.hxx>
0027 class Approx_CurvlinFunc;
0028 class GeomFill_TrihedronLaw;
0029 class gp_Vec;
0030
0031
0032
0033 class GeomFill_GuideTrihedronAC : public GeomFill_TrihedronWithGuide
0034 {
0035
0036 public:
0037 Standard_EXPORT GeomFill_GuideTrihedronAC(const occ::handle<Adaptor3d_Curve>& guide);
0038
0039
0040
0041 Standard_EXPORT bool SetCurve(const occ::handle<Adaptor3d_Curve>& C) override;
0042
0043 Standard_EXPORT occ::handle<GeomFill_TrihedronLaw> Copy() const override;
0044
0045 Standard_EXPORT occ::handle<Adaptor3d_Curve> Guide() const override;
0046
0047 Standard_EXPORT bool D0(const double Param,
0048 gp_Vec& Tangent,
0049 gp_Vec& Normal,
0050 gp_Vec& BiNormal) override;
0051
0052 Standard_EXPORT bool D1(const double Param,
0053 gp_Vec& Tangent,
0054 gp_Vec& DTangent,
0055 gp_Vec& Normal,
0056 gp_Vec& DNormal,
0057 gp_Vec& BiNormal,
0058 gp_Vec& DBiNormal) override;
0059
0060 Standard_EXPORT bool D2(const double Param,
0061 gp_Vec& Tangent,
0062 gp_Vec& DTangent,
0063 gp_Vec& D2Tangent,
0064 gp_Vec& Normal,
0065 gp_Vec& DNormal,
0066 gp_Vec& D2Normal,
0067 gp_Vec& BiNormal,
0068 gp_Vec& DBiNormal,
0069 gp_Vec& D2BiNormal) override;
0070
0071
0072
0073
0074 Standard_EXPORT int NbIntervals(const GeomAbs_Shape S) const override;
0075
0076
0077
0078
0079
0080
0081 Standard_EXPORT void Intervals(NCollection_Array1<double>& T,
0082 const GeomAbs_Shape S) const override;
0083
0084
0085
0086
0087
0088 Standard_EXPORT void SetInterval(const double First, const double Last) override;
0089
0090
0091
0092 Standard_EXPORT void GetAverageLaw(gp_Vec& ATangent, gp_Vec& ANormal, gp_Vec& ABiNormal) override;
0093
0094
0095 Standard_EXPORT bool IsConstant() const override;
0096
0097
0098
0099
0100 Standard_EXPORT bool IsOnlyBy3dCurve() const override;
0101
0102 Standard_EXPORT void Origine(const double OrACR1, const double OrACR2) override;
0103
0104 DEFINE_STANDARD_RTTIEXT(GeomFill_GuideTrihedronAC, GeomFill_TrihedronWithGuide)
0105
0106 private:
0107 occ::handle<Approx_CurvlinFunc> myGuideAC;
0108 double Lguide;
0109 occ::handle<Approx_CurvlinFunc> myCurveAC;
0110 double L;
0111 occ::handle<Adaptor3d_Curve> myCurve;
0112 double UTol;
0113 double STol;
0114 double Orig1;
0115 double Orig2;
0116 };
0117
0118 #endif