Warning, /include/opencascade/Extrema_CurveTool.lxx is written in an unsupported language. File is not indexed.
0001 // Created on: 1995-07-18
0002 // Created by: Modelistation
0003 // Copyright (c) 1995-1999 Matra Datavision
0004 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0005 //
0006 // This file is part of Open CASCADE Technology software library.
0007 //
0008 // This library is free software; you can redistribute it and/or modify it under
0009 // the terms of the GNU Lesser General Public License version 2.1 as published
0010 // by the Free Software Foundation, with special exception defined in the file
0011 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0012 // distribution for complete text of the license and disclaimer of any warranty.
0013 //
0014 // Alternatively, this file may be used under the terms of Open CASCADE
0015 // commercial license or contractual agreement.
0016
0017 #include <gp_Vec.hxx>
0018 #include <gp_Pnt.hxx>
0019 #include <gp_Parab.hxx>
0020 #include <gp_Lin.hxx>
0021 #include <gp_Elips.hxx>
0022 #include <gp_Hypr.hxx>
0023 #include <gp_Circ.hxx>
0024 #include <Geom_BezierCurve.hxx>
0025 #include <Geom_BSplineCurve.hxx>
0026 #include <Adaptor3d_Curve.hxx>
0027
0028 //=======================================================================
0029 // function : FirstParameter
0030 // purpose :
0031 //=======================================================================
0032
0033 inline Standard_Real Extrema_CurveTool::FirstParameter(const Adaptor3d_Curve& C)
0034 {
0035 return C.FirstParameter();
0036 }
0037
0038 //=======================================================================
0039 // function : LastParameter
0040 // purpose :
0041 //=======================================================================
0042
0043 inline Standard_Real Extrema_CurveTool::LastParameter(const Adaptor3d_Curve& C)
0044 {
0045 return C.LastParameter();
0046 }
0047
0048 //=======================================================================
0049 // function : Value
0050 // purpose :
0051 //=======================================================================
0052
0053 inline gp_Pnt Extrema_CurveTool::Value(const Adaptor3d_Curve& C, const Standard_Real U)
0054 {
0055 return C.Value(U);
0056 }
0057
0058 //=======================================================================
0059 // function : D0
0060 // purpose :
0061 //=======================================================================
0062
0063 inline void Extrema_CurveTool::D0(const Adaptor3d_Curve& C, const Standard_Real U, gp_Pnt& P)
0064 {
0065 C.D0(U, P);
0066 }
0067
0068 //=======================================================================
0069 // function : D1
0070 // purpose :
0071 //=======================================================================
0072
0073 inline void Extrema_CurveTool::D1(const Adaptor3d_Curve& C,
0074 const Standard_Real U,
0075 gp_Pnt& P,
0076 gp_Vec& V)
0077 {
0078 C.D1(U, P, V);
0079 }
0080
0081 //=======================================================================
0082 // function : D2
0083 // purpose :
0084 //=======================================================================
0085
0086 inline void Extrema_CurveTool::D2(const Adaptor3d_Curve& C,
0087 const Standard_Real U,
0088 gp_Pnt& P,
0089 gp_Vec& V1,
0090 gp_Vec& V2)
0091 {
0092 C.D2(U, P, V1, V2);
0093 }
0094
0095 //=======================================================================
0096 // function : D3
0097 // purpose :
0098 //=======================================================================
0099
0100 inline void Extrema_CurveTool::D3(const Adaptor3d_Curve& C,
0101 const Standard_Real U,
0102 gp_Pnt& P,
0103 gp_Vec& V1,
0104 gp_Vec& V2,
0105 gp_Vec& V3)
0106 {
0107 C.D3(U, P, V1, V2, V3);
0108 }
0109
0110 //=======================================================================
0111 // function : DN
0112 // purpose :
0113 //=======================================================================
0114 inline gp_Vec Extrema_CurveTool::DN(const Adaptor3d_Curve& C,
0115 const Standard_Real U,
0116 const Standard_Integer N)
0117 {
0118 return C.DN(U, N);
0119 }
0120
0121 //=======================================================================
0122 // function : Continuity
0123 // purpose :
0124 //=======================================================================
0125
0126 inline GeomAbs_Shape Extrema_CurveTool::Continuity(const Adaptor3d_Curve& C)
0127 {
0128 return C.Continuity();
0129 }
0130
0131 //=======================================================================
0132 // function : NbIntervals
0133 // purpose :
0134 //=======================================================================
0135
0136 inline Standard_Integer Extrema_CurveTool::NbIntervals(Adaptor3d_Curve& C, const GeomAbs_Shape S)
0137 {
0138 return C.NbIntervals(S);
0139 }
0140
0141 //=======================================================================
0142 // function : Intervals
0143 // purpose :
0144 //=======================================================================
0145
0146 inline void Extrema_CurveTool::Intervals(Adaptor3d_Curve& C,
0147 TColStd_Array1OfReal& T,
0148 const GeomAbs_Shape S)
0149 {
0150 C.Intervals(T, S);
0151 }
0152
0153 //=======================================================================
0154 // function : Period
0155 // purpose :
0156 //=======================================================================
0157
0158 inline Standard_Real Extrema_CurveTool::Period(const Adaptor3d_Curve& C)
0159 {
0160 return C.Period();
0161 }
0162
0163 //=======================================================================
0164 // function : GetType
0165 // purpose :
0166 //=======================================================================
0167
0168 inline GeomAbs_CurveType Extrema_CurveTool::GetType(const Adaptor3d_Curve& C)
0169 {
0170 return C.GetType();
0171 }
0172
0173 //=======================================================================
0174 // function : Line
0175 // purpose :
0176 //=======================================================================
0177
0178 inline gp_Lin Extrema_CurveTool::Line(const Adaptor3d_Curve& C)
0179 {
0180 return C.Line();
0181 }
0182
0183 //=======================================================================
0184 // function : Circle
0185 // purpose :
0186 //=======================================================================
0187
0188 inline gp_Circ Extrema_CurveTool::Circle(const Adaptor3d_Curve& C)
0189 {
0190 return C.Circle();
0191 }
0192
0193 //=======================================================================
0194 // function : Ellipse
0195 // purpose :
0196 //=======================================================================
0197
0198 inline gp_Elips Extrema_CurveTool::Ellipse(const Adaptor3d_Curve& C)
0199 {
0200 return C.Ellipse();
0201 }
0202
0203 //=======================================================================
0204 // function : Hyperbola
0205 // purpose :
0206 //=======================================================================
0207
0208 inline gp_Hypr Extrema_CurveTool::Hyperbola(const Adaptor3d_Curve& C)
0209 {
0210 return C.Hyperbola();
0211 }
0212
0213 //=======================================================================
0214 // function : Parabola
0215 // purpose :
0216 //=======================================================================
0217
0218 inline gp_Parab Extrema_CurveTool::Parabola(const Adaptor3d_Curve& C)
0219 {
0220 return C.Parabola();
0221 }
0222
0223 //=======================================================================
0224 // function : NbPoles
0225 // purpose :
0226 //=======================================================================
0227
0228 inline Standard_Integer Extrema_CurveTool::NbPoles(const Adaptor3d_Curve& C)
0229 {
0230 return C.NbPoles();
0231 }
0232
0233 //=======================================================================
0234 // function : Degree
0235 // purpose :
0236 //=======================================================================
0237
0238 inline Standard_Integer Extrema_CurveTool::Degree(const Adaptor3d_Curve& C)
0239 {
0240 return C.Degree();
0241 }
0242
0243 //=======================================================================
0244 // function : IsRational
0245 // purpose :
0246 //=======================================================================
0247
0248 inline Standard_Boolean Extrema_CurveTool::IsRational(const Adaptor3d_Curve& C)
0249 {
0250 return C.IsRational();
0251 }
0252
0253 //=======================================================================
0254 // function : NbKnots
0255 // purpose :
0256 //=======================================================================
0257
0258 inline Standard_Integer Extrema_CurveTool::NbKnots(const Adaptor3d_Curve& C)
0259 {
0260 return C.NbKnots();
0261 }
0262
0263 //=======================================================================
0264 // function : Bezier
0265 // purpose :
0266 //=======================================================================
0267
0268 inline Handle(Geom_BezierCurve) Extrema_CurveTool::Bezier(const Adaptor3d_Curve& C)
0269 {
0270 return C.Bezier();
0271 }
0272
0273 //=======================================================================
0274 // function : BSpline
0275 // purpose :
0276 //=======================================================================
0277
0278 inline Handle(Geom_BSplineCurve) Extrema_CurveTool::BSpline(const Adaptor3d_Curve& C)
0279 {
0280 return C.BSpline();
0281 }
0282
0283 //=======================================================================
0284 // function : Resolution
0285 // purpose :
0286 //=======================================================================
0287
0288 inline Standard_Real Extrema_CurveTool::Resolution(const Adaptor3d_Curve& C,
0289 const Standard_Real R3d)
0290 {
0291 return C.Resolution(R3d);
0292 }