File indexing completed on 2025-01-18 10:03:39
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _GeomFill_CurveAndTrihedron_HeaderFile
0018 #define _GeomFill_CurveAndTrihedron_HeaderFile
0019
0020 #include <Standard.hxx>
0021
0022 #include <gp_Mat.hxx>
0023 #include <GeomFill_LocationLaw.hxx>
0024 #include <Standard_Real.hxx>
0025 #include <TColgp_Array1OfPnt2d.hxx>
0026 #include <TColgp_Array1OfVec2d.hxx>
0027 #include <Standard_Integer.hxx>
0028 #include <GeomAbs_Shape.hxx>
0029 #include <TColStd_Array1OfReal.hxx>
0030 class GeomFill_TrihedronLaw;
0031
0032
0033 class GeomFill_CurveAndTrihedron;
0034 DEFINE_STANDARD_HANDLE(GeomFill_CurveAndTrihedron, GeomFill_LocationLaw)
0035
0036
0037
0038
0039
0040
0041
0042
0043 class GeomFill_CurveAndTrihedron : public GeomFill_LocationLaw
0044 {
0045
0046 public:
0047
0048
0049 Standard_EXPORT GeomFill_CurveAndTrihedron(const Handle(GeomFill_TrihedronLaw)& Trihedron);
0050
0051
0052
0053 Standard_EXPORT virtual Standard_Boolean SetCurve (const Handle(Adaptor3d_Curve)& C) Standard_OVERRIDE;
0054
0055 Standard_EXPORT virtual const Handle(Adaptor3d_Curve)& GetCurve() const Standard_OVERRIDE;
0056
0057
0058
0059 Standard_EXPORT virtual void SetTrsf (const gp_Mat& Transfo) Standard_OVERRIDE;
0060
0061 Standard_EXPORT virtual Handle(GeomFill_LocationLaw) Copy() const Standard_OVERRIDE;
0062
0063
0064 Standard_EXPORT virtual Standard_Boolean D0 (const Standard_Real Param, gp_Mat& M, gp_Vec& V) Standard_OVERRIDE;
0065
0066
0067 Standard_EXPORT virtual Standard_Boolean D0 (const Standard_Real Param, gp_Mat& M, gp_Vec& V, TColgp_Array1OfPnt2d& Poles2d) Standard_OVERRIDE;
0068
0069
0070
0071
0072 Standard_EXPORT virtual Standard_Boolean D1 (const Standard_Real Param, gp_Mat& M, gp_Vec& V, gp_Mat& DM, gp_Vec& DV, TColgp_Array1OfPnt2d& Poles2d, TColgp_Array1OfVec2d& DPoles2d) Standard_OVERRIDE;
0073
0074
0075
0076
0077 Standard_EXPORT virtual Standard_Boolean D2 (const Standard_Real Param, gp_Mat& M, gp_Vec& V, gp_Mat& DM, gp_Vec& DV, gp_Mat& D2M, gp_Vec& D2V, TColgp_Array1OfPnt2d& Poles2d, TColgp_Array1OfVec2d& DPoles2d, TColgp_Array1OfVec2d& D2Poles2d) Standard_OVERRIDE;
0078
0079
0080
0081
0082 Standard_EXPORT virtual Standard_Integer NbIntervals (const GeomAbs_Shape S) const Standard_OVERRIDE;
0083
0084
0085
0086
0087
0088
0089 Standard_EXPORT virtual void Intervals (TColStd_Array1OfReal& T, const GeomAbs_Shape S) const Standard_OVERRIDE;
0090
0091
0092
0093
0094
0095 Standard_EXPORT virtual void SetInterval (const Standard_Real First, const Standard_Real Last) Standard_OVERRIDE;
0096
0097
0098
0099 Standard_EXPORT virtual void GetInterval (Standard_Real& First, Standard_Real& Last) const Standard_OVERRIDE;
0100
0101
0102
0103
0104 Standard_EXPORT virtual void GetDomain (Standard_Real& First, Standard_Real& Last) const Standard_OVERRIDE;
0105
0106
0107
0108 Standard_EXPORT virtual Standard_Real GetMaximalNorm() Standard_OVERRIDE;
0109
0110
0111
0112 Standard_EXPORT virtual void GetAverageLaw (gp_Mat& AM, gp_Vec& AV) Standard_OVERRIDE;
0113
0114
0115
0116 Standard_EXPORT virtual Standard_Boolean IsTranslation (Standard_Real& Error) const Standard_OVERRIDE;
0117
0118
0119
0120 Standard_EXPORT virtual Standard_Boolean IsRotation (Standard_Real& Error) const Standard_OVERRIDE;
0121
0122 Standard_EXPORT virtual void Rotation (gp_Pnt& Center) const Standard_OVERRIDE;
0123
0124
0125
0126
0127 DEFINE_STANDARD_RTTIEXT(GeomFill_CurveAndTrihedron,GeomFill_LocationLaw)
0128
0129 protected:
0130
0131
0132
0133
0134 private:
0135
0136
0137 Standard_Boolean WithTrans;
0138 Handle(GeomFill_TrihedronLaw) myLaw;
0139 Handle(Adaptor3d_Curve) myCurve;
0140 Handle(Adaptor3d_Curve) myTrimmed;
0141 gp_Pnt Point;
0142 gp_Vec V1;
0143 gp_Vec V2;
0144 gp_Vec V3;
0145 gp_Mat Trans;
0146
0147
0148 };
0149
0150
0151
0152
0153
0154
0155
0156 #endif