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 //=======================================================================
0030 //function : FirstParameter
0031 //purpose :
0032 //=======================================================================
0033
0034 inline Standard_Real Extrema_CurveTool::FirstParameter(const Adaptor3d_Curve& C)
0035 {
0036 return C.FirstParameter();
0037 }
0038
0039 //=======================================================================
0040 //function : LastParameter
0041 //purpose :
0042 //=======================================================================
0043
0044 inline Standard_Real Extrema_CurveTool::LastParameter(const Adaptor3d_Curve& C)
0045 {
0046 return C.LastParameter();
0047 }
0048
0049 //=======================================================================
0050 //function : Value
0051 //purpose :
0052 //=======================================================================
0053
0054 inline gp_Pnt Extrema_CurveTool::Value(const Adaptor3d_Curve& C,
0055 const Standard_Real U)
0056 {
0057 return C.Value(U);
0058 }
0059
0060 //=======================================================================
0061 //function : D0
0062 //purpose :
0063 //=======================================================================
0064
0065 inline void Extrema_CurveTool::D0(const Adaptor3d_Curve& C,
0066 const Standard_Real U,
0067 gp_Pnt& P)
0068 {
0069 C.D0(U, P);
0070 }
0071
0072 //=======================================================================
0073 //function : D1
0074 //purpose :
0075 //=======================================================================
0076
0077 inline void Extrema_CurveTool::D1(const Adaptor3d_Curve& C,
0078 const Standard_Real U,
0079 gp_Pnt& P,
0080 gp_Vec& V)
0081 {
0082 C.D1(U, P, V);
0083 }
0084
0085 //=======================================================================
0086 //function : D2
0087 //purpose :
0088 //=======================================================================
0089
0090 inline void Extrema_CurveTool::D2(const Adaptor3d_Curve& C,
0091 const Standard_Real U,
0092 gp_Pnt& P,
0093 gp_Vec& V1,
0094 gp_Vec& V2)
0095 {
0096 C.D2(U, P, V1, V2);
0097 }
0098
0099 //=======================================================================
0100 //function : D3
0101 //purpose :
0102 //=======================================================================
0103
0104 inline void Extrema_CurveTool::D3(const Adaptor3d_Curve& C,
0105 const Standard_Real U,
0106 gp_Pnt& P,
0107 gp_Vec& V1,
0108 gp_Vec& V2,
0109 gp_Vec& V3)
0110 {
0111 C.D3(U, P, V1, V2, V3);
0112 }
0113
0114 //=======================================================================
0115 //function : DN
0116 //purpose :
0117 //=======================================================================
0118 inline gp_Vec Extrema_CurveTool::DN(const Adaptor3d_Curve& C,
0119 const Standard_Real U,
0120 const Standard_Integer N)
0121 {
0122 return C.DN(U, N);
0123 }
0124
0125
0126 //=======================================================================
0127 //function : Continuity
0128 //purpose :
0129 //=======================================================================
0130
0131 inline GeomAbs_Shape Extrema_CurveTool::Continuity(const Adaptor3d_Curve& C)
0132 {
0133 return C.Continuity();
0134 }
0135
0136 //=======================================================================
0137 //function : NbIntervals
0138 //purpose :
0139 //=======================================================================
0140
0141 inline Standard_Integer Extrema_CurveTool::NbIntervals(Adaptor3d_Curve& C,
0142 const GeomAbs_Shape S)
0143 {
0144 return C.NbIntervals(S);
0145 }
0146
0147
0148 //=======================================================================
0149 //function : Intervals
0150 //purpose :
0151 //=======================================================================
0152
0153 inline void Extrema_CurveTool::Intervals(Adaptor3d_Curve& C,
0154 TColStd_Array1OfReal& T,
0155 const GeomAbs_Shape S)
0156 {
0157 C.Intervals(T, S);
0158 }
0159
0160 //=======================================================================
0161 //function : Period
0162 //purpose :
0163 //=======================================================================
0164
0165 inline Standard_Real Extrema_CurveTool::Period(const Adaptor3d_Curve& C)
0166 {
0167 return C.Period();
0168 }
0169
0170
0171 //=======================================================================
0172 //function : GetType
0173 //purpose :
0174 //=======================================================================
0175
0176 inline GeomAbs_CurveType Extrema_CurveTool::GetType(const Adaptor3d_Curve& C)
0177 {
0178 return C.GetType();
0179 }
0180
0181 //=======================================================================
0182 //function : Line
0183 //purpose :
0184 //=======================================================================
0185
0186 inline gp_Lin Extrema_CurveTool::Line(const Adaptor3d_Curve& C)
0187 {
0188 return C.Line();
0189 }
0190
0191 //=======================================================================
0192 //function : Circle
0193 //purpose :
0194 //=======================================================================
0195
0196 inline gp_Circ Extrema_CurveTool::Circle(const Adaptor3d_Curve& C)
0197 {
0198 return C.Circle();
0199 }
0200
0201 //=======================================================================
0202 //function : Ellipse
0203 //purpose :
0204 //=======================================================================
0205
0206 inline gp_Elips Extrema_CurveTool::Ellipse(const Adaptor3d_Curve& C)
0207 {
0208 return C.Ellipse();
0209 }
0210
0211 //=======================================================================
0212 //function : Hyperbola
0213 //purpose :
0214 //=======================================================================
0215
0216 inline gp_Hypr Extrema_CurveTool::Hyperbola(const Adaptor3d_Curve& C)
0217 {
0218 return C.Hyperbola();
0219 }
0220
0221 //=======================================================================
0222 //function : Parabola
0223 //purpose :
0224 //=======================================================================
0225
0226 inline gp_Parab Extrema_CurveTool::Parabola(const Adaptor3d_Curve& C)
0227 {
0228 return C.Parabola();
0229 }
0230 //=======================================================================
0231 //function : NbPoles
0232 //purpose :
0233 //=======================================================================
0234
0235 inline Standard_Integer Extrema_CurveTool::NbPoles(const Adaptor3d_Curve& C)
0236 {
0237 return C.NbPoles();
0238 }
0239
0240 //=======================================================================
0241 //function : Degree
0242 //purpose :
0243 //=======================================================================
0244
0245 inline Standard_Integer Extrema_CurveTool::Degree(const Adaptor3d_Curve& C)
0246 {
0247 return C.Degree();
0248 }
0249
0250 //=======================================================================
0251 //function : IsRational
0252 //purpose :
0253 //=======================================================================
0254
0255 inline Standard_Boolean Extrema_CurveTool::IsRational(const Adaptor3d_Curve& C)
0256 {
0257 return C.IsRational();
0258 }
0259
0260 //=======================================================================
0261 //function : NbKnots
0262 //purpose :
0263 //=======================================================================
0264
0265 inline Standard_Integer Extrema_CurveTool::NbKnots(const Adaptor3d_Curve& C)
0266 {
0267 return C.NbKnots();
0268 }
0269
0270
0271 //=======================================================================
0272 //function : Bezier
0273 //purpose :
0274 //=======================================================================
0275
0276 inline Handle(Geom_BezierCurve) Extrema_CurveTool::Bezier(const Adaptor3d_Curve& C)
0277 {
0278 return C.Bezier();
0279 }
0280
0281 //=======================================================================
0282 //function : BSpline
0283 //purpose :
0284 //=======================================================================
0285
0286 inline Handle(Geom_BSplineCurve) Extrema_CurveTool::BSpline(const Adaptor3d_Curve& C)
0287 {
0288 return C.BSpline();
0289 }
0290
0291 //=======================================================================
0292 //function : Resolution
0293 //purpose :
0294 //=======================================================================
0295
0296 inline Standard_Real Extrema_CurveTool::Resolution(const Adaptor3d_Curve& C,
0297 const Standard_Real R3d)
0298 {
0299 return C.Resolution(R3d);
0300 }