File indexing completed on 2026-09-20 09:17:38
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _GeomFill_GuideTrihedronPlan_HeaderFile
0018 #define _GeomFill_GuideTrihedronPlan_HeaderFile
0019
0020 #include <Standard.hxx>
0021
0022 #include <gp_Pnt2d.hxx>
0023 #include <NCollection_Array2.hxx>
0024 #include <NCollection_HArray2.hxx>
0025 #include <math_Vector.hxx>
0026 #include <Standard_Integer.hxx>
0027 #include <GeomFill_TrihedronWithGuide.hxx>
0028 #include <Standard_Real.hxx>
0029 #include <GeomAbs_Shape.hxx>
0030 #include <NCollection_Array1.hxx>
0031
0032 class GeomFill_Frenet;
0033 class GeomFill_TrihedronLaw;
0034 class gp_Vec;
0035
0036
0037
0038 class GeomFill_GuideTrihedronPlan : public GeomFill_TrihedronWithGuide
0039 {
0040
0041 public:
0042 Standard_EXPORT GeomFill_GuideTrihedronPlan(const occ::handle<Adaptor3d_Curve>& theGuide);
0043
0044
0045
0046 Standard_EXPORT bool SetCurve(const occ::handle<Adaptor3d_Curve>& thePath) override;
0047
0048 Standard_EXPORT occ::handle<GeomFill_TrihedronLaw> Copy() const override;
0049
0050
0051
0052 Standard_EXPORT GeomFill_PipeError ErrorStatus() const override;
0053
0054 Standard_EXPORT occ::handle<Adaptor3d_Curve> Guide() const override;
0055
0056 Standard_EXPORT bool D0(const double Param,
0057 gp_Vec& Tangent,
0058 gp_Vec& Normal,
0059 gp_Vec& BiNormal) override;
0060
0061 Standard_EXPORT bool D1(const double Param,
0062 gp_Vec& Tangent,
0063 gp_Vec& DTangent,
0064 gp_Vec& Normal,
0065 gp_Vec& DNormal,
0066 gp_Vec& BiNormal,
0067 gp_Vec& DBiNormal) override;
0068
0069 Standard_EXPORT bool D2(const double Param,
0070 gp_Vec& Tangent,
0071 gp_Vec& DTangent,
0072 gp_Vec& D2Tangent,
0073 gp_Vec& Normal,
0074 gp_Vec& DNormal,
0075 gp_Vec& D2Normal,
0076 gp_Vec& BiNormal,
0077 gp_Vec& DBiNormal,
0078 gp_Vec& D2BiNormal) override;
0079
0080
0081
0082
0083
0084 Standard_EXPORT void SetInterval(const double First, const double Last) override;
0085
0086
0087
0088
0089 Standard_EXPORT int NbIntervals(const GeomAbs_Shape S) const override;
0090
0091
0092
0093
0094
0095
0096 Standard_EXPORT void Intervals(NCollection_Array1<double>& T,
0097 const GeomAbs_Shape S) const override;
0098
0099
0100
0101 Standard_EXPORT void GetAverageLaw(gp_Vec& ATangent, gp_Vec& ANormal, gp_Vec& ABiNormal) override;
0102
0103
0104 Standard_EXPORT bool IsConstant() const override;
0105
0106
0107
0108
0109 Standard_EXPORT bool IsOnlyBy3dCurve() const override;
0110
0111 Standard_EXPORT void Origine(const double OrACR1, const double OrACR2) override;
0112
0113 DEFINE_STANDARD_RTTIEXT(GeomFill_GuideTrihedronPlan, GeomFill_TrihedronWithGuide)
0114
0115 private:
0116 Standard_EXPORT void Init();
0117
0118 Standard_EXPORT void InitX(const double Param);
0119
0120 occ::handle<Adaptor3d_Curve> myTrimmed;
0121 occ::handle<Adaptor3d_Curve> myCurve;
0122 occ::handle<NCollection_HArray2<gp_Pnt2d>> Pole;
0123 math_Vector X;
0124 math_Vector XTol;
0125 math_Vector Inf;
0126 math_Vector Sup;
0127 occ::handle<GeomFill_Frenet> frenet;
0128 int myNbPts;
0129 GeomFill_PipeError myStatus;
0130 };
0131
0132 #endif