File indexing completed on 2025-01-18 10:03:52
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _HLRBRep_SurfaceTool_HeaderFile
0018 #define _HLRBRep_SurfaceTool_HeaderFile
0019
0020 #include <Adaptor3d_Curve.hxx>
0021 #include <Adaptor3d_Surface.hxx>
0022 #include <GeomAbs_Shape.hxx>
0023 #include <TColStd_Array1OfReal.hxx>
0024 #include <gp_Pnt.hxx>
0025 #include <gp_Vec.hxx>
0026 #include <GeomAbs_SurfaceType.hxx>
0027 #include <gp_Pln.hxx>
0028 #include <gp_Cylinder.hxx>
0029 #include <gp_Cone.hxx>
0030 #include <gp_Torus.hxx>
0031 #include <gp_Sphere.hxx>
0032 #include <gp_Ax1.hxx>
0033 #include <gp_Dir.hxx>
0034
0035 class gp_Pnt;
0036 class gp_Vec;
0037 class Geom_BezierSurface;
0038 class Geom_BSplineSurface;
0039
0040 class HLRBRep_SurfaceTool
0041 {
0042 public:
0043
0044 DEFINE_STANDARD_ALLOC
0045
0046
0047 static Standard_Real FirstUParameter (const Standard_Address S);
0048
0049 static Standard_Real FirstVParameter (const Standard_Address S);
0050
0051 static Standard_Real LastUParameter (const Standard_Address S);
0052
0053 static Standard_Real LastVParameter (const Standard_Address S);
0054
0055 static Standard_Integer NbUIntervals (const Standard_Address S, const GeomAbs_Shape Sh);
0056
0057 static Standard_Integer NbVIntervals (const Standard_Address S, const GeomAbs_Shape Sh);
0058
0059 static void UIntervals (const Standard_Address S, TColStd_Array1OfReal& T, const GeomAbs_Shape Sh);
0060
0061 static void VIntervals (const Standard_Address S, TColStd_Array1OfReal& T, const GeomAbs_Shape Sh);
0062
0063
0064 static Handle(Adaptor3d_Surface) UTrim (const Standard_Address S, const Standard_Real First, const Standard_Real Last, const Standard_Real Tol);
0065
0066
0067 static Handle(Adaptor3d_Surface) VTrim (const Standard_Address S, const Standard_Real First, const Standard_Real Last, const Standard_Real Tol);
0068
0069 static Standard_Boolean IsUClosed (const Standard_Address S);
0070
0071 static Standard_Boolean IsVClosed (const Standard_Address S);
0072
0073 static Standard_Boolean IsUPeriodic (const Standard_Address S);
0074
0075 static Standard_Real UPeriod (const Standard_Address S);
0076
0077 static Standard_Boolean IsVPeriodic (const Standard_Address S);
0078
0079 static Standard_Real VPeriod (const Standard_Address S);
0080
0081 static gp_Pnt Value (const Standard_Address S, const Standard_Real u, const Standard_Real v);
0082
0083 static void D0 (const Standard_Address S, const Standard_Real u, const Standard_Real v, gp_Pnt& P);
0084
0085 static void D1 (const Standard_Address S, const Standard_Real u, const Standard_Real v, gp_Pnt& P, gp_Vec& D1u, gp_Vec& D1v);
0086
0087 static void D2 (const Standard_Address S, const Standard_Real u, const Standard_Real v, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV);
0088
0089 static void D3 (const Standard_Address S, const Standard_Real u, const Standard_Real v, gp_Pnt& P, gp_Vec& D1U, gp_Vec& D1V, gp_Vec& D2U, gp_Vec& D2V, gp_Vec& D2UV, gp_Vec& D3U, gp_Vec& D3V, gp_Vec& D3UUV, gp_Vec& D3UVV);
0090
0091 static gp_Vec DN (const Standard_Address S, const Standard_Real u, const Standard_Real v, const Standard_Integer Nu, const Standard_Integer Nv);
0092
0093 static Standard_Real UResolution (const Standard_Address S, const Standard_Real R3d);
0094
0095 static Standard_Real VResolution (const Standard_Address S, const Standard_Real R3d);
0096
0097 static GeomAbs_SurfaceType GetType (const Standard_Address S);
0098
0099 static gp_Pln Plane (const Standard_Address S);
0100
0101 static gp_Cylinder Cylinder (const Standard_Address S);
0102
0103 static gp_Cone Cone (const Standard_Address S);
0104
0105 static gp_Torus Torus (const Standard_Address S);
0106
0107 static gp_Sphere Sphere (const Standard_Address S);
0108
0109 static Handle(Geom_BezierSurface) Bezier (const Standard_Address S);
0110
0111 static Handle(Geom_BSplineSurface) BSpline (const Standard_Address S);
0112
0113 static gp_Ax1 AxeOfRevolution (const Standard_Address S);
0114
0115 static gp_Dir Direction (const Standard_Address S);
0116
0117 static Handle(Adaptor3d_Curve) BasisCurve (const Standard_Address S);
0118
0119 static Handle(Adaptor3d_Surface) BasisSurface (const Standard_Address S);
0120
0121 static Standard_Real OffsetValue (const Standard_Address S);
0122
0123 Standard_EXPORT static Standard_Integer NbSamplesU (const Standard_Address S);
0124
0125 Standard_EXPORT static Standard_Integer NbSamplesV (const Standard_Address S);
0126
0127 Standard_EXPORT static Standard_Integer NbSamplesU (const Standard_Address S, const Standard_Real u1, const Standard_Real u2);
0128
0129 Standard_EXPORT static Standard_Integer NbSamplesV (const Standard_Address S, const Standard_Real v1, const Standard_Real v2);
0130
0131
0132
0133
0134 protected:
0135
0136
0137
0138
0139
0140 private:
0141
0142
0143
0144
0145
0146 };
0147
0148
0149 #include <HLRBRep_SurfaceTool.lxx>
0150
0151
0152
0153
0154
0155 #endif