File indexing completed on 2026-09-18 09:19:35
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Blend_Function_HeaderFile
0018 #define _Blend_Function_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <Blend_AppFunction.hxx>
0025 #include <Standard_Boolean.hxx>
0026 #include <NCollection_Array1.hxx>
0027 #include <gp_Pnt.hxx>
0028 #include <gp_Vec.hxx>
0029 #include <gp_Pnt2d.hxx>
0030 #include <gp_Vec2d.hxx>
0031 class gp_Pnt;
0032 class gp_Vec;
0033 class gp_Vec2d;
0034 class Blend_Point;
0035
0036
0037
0038
0039
0040
0041
0042 class Blend_Function : public Blend_AppFunction
0043 {
0044 public:
0045 DEFINE_STANDARD_ALLOC
0046
0047
0048 Standard_EXPORT int NbVariables() const override;
0049
0050
0051 Standard_EXPORT const gp_Pnt& Pnt1() const override;
0052
0053
0054 Standard_EXPORT const gp_Pnt& Pnt2() const override;
0055
0056
0057
0058
0059 Standard_EXPORT virtual const gp_Pnt& PointOnS1() const = 0;
0060
0061
0062
0063
0064 Standard_EXPORT virtual const gp_Pnt& PointOnS2() const = 0;
0065
0066
0067
0068 Standard_EXPORT virtual bool IsTangencyPoint() const = 0;
0069
0070
0071 Standard_EXPORT virtual const gp_Vec& TangentOnS1() const = 0;
0072
0073
0074
0075 Standard_EXPORT virtual const gp_Vec2d& Tangent2dOnS1() const = 0;
0076
0077
0078 Standard_EXPORT virtual const gp_Vec& TangentOnS2() const = 0;
0079
0080
0081
0082 Standard_EXPORT virtual const gp_Vec2d& Tangent2dOnS2() const = 0;
0083
0084
0085
0086
0087
0088 Standard_EXPORT virtual void Tangent(const double U1,
0089 const double V1,
0090 const double U2,
0091 const double V2,
0092 gp_Vec& TgFirst,
0093 gp_Vec& TgLast,
0094 gp_Vec& NormFirst,
0095 gp_Vec& NormLast) const = 0;
0096
0097 Standard_EXPORT virtual bool TwistOnS1() const;
0098
0099 Standard_EXPORT virtual bool TwistOnS2() const;
0100
0101 Standard_EXPORT void Section(const Blend_Point& P,
0102 NCollection_Array1<gp_Pnt>& Poles,
0103 NCollection_Array1<gp_Pnt2d>& Poles2d,
0104 NCollection_Array1<double>& Weigths) override = 0;
0105
0106
0107
0108
0109 Standard_EXPORT bool Section(const Blend_Point& P,
0110 NCollection_Array1<gp_Pnt>& Poles,
0111 NCollection_Array1<gp_Vec>& DPoles,
0112 NCollection_Array1<gp_Vec>& D2Poles,
0113 NCollection_Array1<gp_Pnt2d>& Poles2d,
0114 NCollection_Array1<gp_Vec2d>& DPoles2d,
0115 NCollection_Array1<gp_Vec2d>& D2Poles2d,
0116 NCollection_Array1<double>& Weigths,
0117 NCollection_Array1<double>& DWeigths,
0118 NCollection_Array1<double>& D2Weigths) override;
0119 };
0120
0121 #endif