File indexing completed on 2026-08-26 09:16:02
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _GeomFill_HeaderFile
0018 #define _GeomFill_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <Convert_ParameterisationType.hxx>
0025 #include <Standard_Real.hxx>
0026 #include <TColgp_Array1OfPnt.hxx>
0027 #include <TColStd_Array1OfReal.hxx>
0028 #include <Standard_Boolean.hxx>
0029 #include <TColgp_Array1OfVec.hxx>
0030 #include <Standard_Integer.hxx>
0031 #include <TColStd_Array1OfInteger.hxx>
0032 class Geom_Surface;
0033 class Geom_Curve;
0034 class gp_Vec;
0035 class gp_Pnt;
0036
0037
0038 class GeomFill
0039 {
0040 public:
0041 DEFINE_STANDARD_ALLOC
0042
0043
0044 Standard_EXPORT static Handle(Geom_Surface) Surface(const Handle(Geom_Curve)& Curve1,
0045 const Handle(Geom_Curve)& Curve2);
0046
0047 Standard_EXPORT static void GetCircle(const Convert_ParameterisationType TConv,
0048 const gp_Vec& ns1,
0049 const gp_Vec& ns2,
0050 const gp_Vec& nplan,
0051 const gp_Pnt& pt1,
0052 const gp_Pnt& pt2,
0053 const Standard_Real Rayon,
0054 const gp_Pnt& Center,
0055 TColgp_Array1OfPnt& Poles,
0056 TColStd_Array1OfReal& Weigths);
0057
0058 Standard_EXPORT static Standard_Boolean GetCircle(const Convert_ParameterisationType TConv,
0059 const gp_Vec& ns1,
0060 const gp_Vec& ns2,
0061 const gp_Vec& dn1w,
0062 const gp_Vec& dn2w,
0063 const gp_Vec& nplan,
0064 const gp_Vec& dnplan,
0065 const gp_Pnt& pts1,
0066 const gp_Pnt& pts2,
0067 const gp_Vec& tang1,
0068 const gp_Vec& tang2,
0069 const Standard_Real Rayon,
0070 const Standard_Real DRayon,
0071 const gp_Pnt& Center,
0072 const gp_Vec& DCenter,
0073 TColgp_Array1OfPnt& Poles,
0074 TColgp_Array1OfVec& DPoles,
0075 TColStd_Array1OfReal& Weigths,
0076 TColStd_Array1OfReal& DWeigths);
0077
0078 Standard_EXPORT static Standard_Boolean GetCircle(const Convert_ParameterisationType TConv,
0079 const gp_Vec& ns1,
0080 const gp_Vec& ns2,
0081 const gp_Vec& dn1w,
0082 const gp_Vec& dn2w,
0083 const gp_Vec& d2n1w,
0084 const gp_Vec& d2n2w,
0085 const gp_Vec& nplan,
0086 const gp_Vec& dnplan,
0087 const gp_Vec& d2nplan,
0088 const gp_Pnt& pts1,
0089 const gp_Pnt& pts2,
0090 const gp_Vec& tang1,
0091 const gp_Vec& tang2,
0092 const gp_Vec& Dtang1,
0093 const gp_Vec& Dtang2,
0094 const Standard_Real Rayon,
0095 const Standard_Real DRayon,
0096 const Standard_Real D2Rayon,
0097 const gp_Pnt& Center,
0098 const gp_Vec& DCenter,
0099 const gp_Vec& D2Center,
0100 TColgp_Array1OfPnt& Poles,
0101 TColgp_Array1OfVec& DPoles,
0102 TColgp_Array1OfVec& D2Poles,
0103 TColStd_Array1OfReal& Weigths,
0104 TColStd_Array1OfReal& DWeigths,
0105 TColStd_Array1OfReal& D2Weigths);
0106
0107 Standard_EXPORT static void GetShape(const Standard_Real MaxAng,
0108 Standard_Integer& NbPoles,
0109 Standard_Integer& NbKnots,
0110 Standard_Integer& Degree,
0111 Convert_ParameterisationType& TypeConv);
0112
0113 Standard_EXPORT static void Knots(const Convert_ParameterisationType TypeConv,
0114 TColStd_Array1OfReal& TKnots);
0115
0116 Standard_EXPORT static void Mults(const Convert_ParameterisationType TypeConv,
0117 TColStd_Array1OfInteger& TMults);
0118
0119 Standard_EXPORT static void GetMinimalWeights(const Convert_ParameterisationType TConv,
0120 const Standard_Real AngleMin,
0121 const Standard_Real AngleMax,
0122 TColStd_Array1OfReal& Weigths);
0123
0124
0125
0126 Standard_EXPORT static Standard_Real GetTolerance(const Convert_ParameterisationType TConv,
0127 const Standard_Real AngleMin,
0128 const Standard_Real Radius,
0129 const Standard_Real AngularTol,
0130 const Standard_Real SpatialTol);
0131 };
0132
0133 #endif