File indexing completed on 2026-10-05 09:22:14
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _GeomFill_DiscreteTrihedron_HeaderFile
0017 #define _GeomFill_DiscreteTrihedron_HeaderFile
0018
0019 #include <Standard.hxx>
0020
0021 #include <gp_Ax2.hxx>
0022 #include <NCollection_Sequence.hxx>
0023 #include <NCollection_HSequence.hxx>
0024 #include <GeomFill_TrihedronLaw.hxx>
0025 #include <Standard_Real.hxx>
0026 #include <Standard_Integer.hxx>
0027 #include <GeomAbs_Shape.hxx>
0028 #include <NCollection_Array1.hxx>
0029 class GeomFill_Frenet;
0030 class gp_Vec;
0031
0032
0033
0034
0035
0036 class GeomFill_DiscreteTrihedron : public GeomFill_TrihedronLaw
0037 {
0038
0039 public:
0040 Standard_EXPORT GeomFill_DiscreteTrihedron();
0041
0042 Standard_EXPORT occ::handle<GeomFill_TrihedronLaw> Copy() const override;
0043
0044 Standard_EXPORT void Init();
0045
0046
0047
0048 Standard_EXPORT bool SetCurve(const occ::handle<Adaptor3d_Curve>& C) override;
0049
0050
0051 Standard_EXPORT bool D0(const double Param,
0052 gp_Vec& Tangent,
0053 gp_Vec& Normal,
0054 gp_Vec& BiNormal) override;
0055
0056
0057
0058
0059
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
0070
0071
0072
0073
0074 Standard_EXPORT bool D2(const double Param,
0075 gp_Vec& Tangent,
0076 gp_Vec& DTangent,
0077 gp_Vec& D2Tangent,
0078 gp_Vec& Normal,
0079 gp_Vec& DNormal,
0080 gp_Vec& D2Normal,
0081 gp_Vec& BiNormal,
0082 gp_Vec& DBiNormal,
0083 gp_Vec& D2BiNormal) override;
0084
0085
0086
0087
0088 Standard_EXPORT int NbIntervals(const GeomAbs_Shape S) const override;
0089
0090
0091
0092
0093
0094
0095 Standard_EXPORT void Intervals(NCollection_Array1<double>& T,
0096 const GeomAbs_Shape S) const override;
0097
0098
0099
0100 Standard_EXPORT void GetAverageLaw(gp_Vec& ATangent, gp_Vec& ANormal, gp_Vec& ABiNormal) override;
0101
0102
0103 Standard_EXPORT bool IsConstant() const override;
0104
0105
0106 Standard_EXPORT bool IsOnlyBy3dCurve() const override;
0107
0108 DEFINE_STANDARD_RTTIEXT(GeomFill_DiscreteTrihedron, GeomFill_TrihedronLaw)
0109
0110 private:
0111 gp_Pnt myPoint;
0112 occ::handle<NCollection_HSequence<gp_Ax2>> myTrihedrons;
0113 occ::handle<NCollection_HSequence<double>> myKnots;
0114 occ::handle<GeomFill_Frenet> myFrenet;
0115 bool myUseFrenet;
0116 };
0117
0118 #endif