Warning, /include/opencascade/HLRBRep_BSurfaceTool.lxx is written in an unsupported language. File is not indexed.
0001 // Created by: Laurent BUCHARD
0002 // Copyright (c) 1993-1999 Matra Datavision
0003 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0004 //
0005 // This file is part of Open CASCADE Technology software library.
0006 //
0007 // This library is free software; you can redistribute it and/or modify it under
0008 // the terms of the GNU Lesser General Public License version 2.1 as published
0009 // by the Free Software Foundation, with special exception defined in the file
0010 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0011 // distribution for complete text of the license and disclaimer of any warranty.
0012 //
0013 // Alternatively, this file may be used under the terms of Open CASCADE
0014 // commercial license or contractual agreement.
0015
0016 #include <gp_Pnt.hxx>
0017 #include <gp_Vec.hxx>
0018 #include <gp_Pln.hxx>
0019 #include <gp_Cylinder.hxx>
0020 #include <gp_Cone.hxx>
0021 #include <gp_Torus.hxx>
0022 #include <gp_Sphere.hxx>
0023 #include <gp_Ax1.hxx>
0024 #include <gp_Dir.hxx>
0025 #include <Geom_BezierSurface.hxx>
0026 #include <Geom_BSplineSurface.hxx>
0027 #include <Adaptor3d_Surface.hxx>
0028 #include <Adaptor3d_Curve.hxx>
0029 #include <BRepAdaptor_Surface.hxx>
0030
0031 //=======================================================================
0032 //function : FirstUParameter
0033 //purpose :
0034 //=======================================================================
0035
0036 inline Standard_Real
0037 HLRBRep_BSurfaceTool::FirstUParameter(const BRepAdaptor_Surface& Surf)
0038 { return Surf.FirstUParameter(); }
0039
0040 //=======================================================================
0041 //function : FirstVParameter
0042 //purpose :
0043 //=======================================================================
0044
0045 inline Standard_Real
0046 HLRBRep_BSurfaceTool::FirstVParameter(const BRepAdaptor_Surface& Surf)
0047 { return Surf.FirstVParameter(); }
0048
0049 //=======================================================================
0050 //function : LastUParameter
0051 //purpose :
0052 //=======================================================================
0053
0054 inline Standard_Real
0055 HLRBRep_BSurfaceTool::LastUParameter(const BRepAdaptor_Surface& Surf)
0056 { return Surf.LastUParameter(); }
0057
0058 //=======================================================================
0059 //function : LastVParameter
0060 //purpose :
0061 //=======================================================================
0062
0063 inline Standard_Real
0064 HLRBRep_BSurfaceTool::LastVParameter(const BRepAdaptor_Surface& Surf)
0065 { return Surf.LastVParameter(); }
0066
0067 //=======================================================================
0068 //function : NbUIntervals
0069 //purpose :
0070 //=======================================================================
0071
0072 inline Standard_Integer
0073 HLRBRep_BSurfaceTool::NbUIntervals(const BRepAdaptor_Surface& Surf,
0074 const GeomAbs_Shape S)
0075 { return Surf.NbUIntervals(S); }
0076
0077 //=======================================================================
0078 //function : NbVIntervals
0079 //purpose :
0080 //=======================================================================
0081
0082 inline Standard_Integer
0083 HLRBRep_BSurfaceTool::NbVIntervals(const BRepAdaptor_Surface& Surf,
0084 const GeomAbs_Shape S)
0085 { return Surf.NbVIntervals(S); }
0086
0087 //=======================================================================
0088 //function : UIntervals
0089 //purpose :
0090 //=======================================================================
0091
0092 inline void
0093 HLRBRep_BSurfaceTool::UIntervals(const BRepAdaptor_Surface& Surf,
0094 TColStd_Array1OfReal& Tab,
0095 const GeomAbs_Shape S)
0096 { Surf.UIntervals(Tab,S); }
0097
0098 //=======================================================================
0099 //function : VIntervals
0100 //purpose :
0101 //=======================================================================
0102
0103 inline void
0104 HLRBRep_BSurfaceTool::VIntervals(const BRepAdaptor_Surface& Surf,
0105 TColStd_Array1OfReal& Tab,
0106 const GeomAbs_Shape S)
0107 { Surf.VIntervals(Tab,S); }
0108
0109
0110 //=======================================================================
0111 //function : UTrim
0112 //purpose :
0113 //=======================================================================
0114
0115 inline Handle(Adaptor3d_Surface)
0116 HLRBRep_BSurfaceTool::UTrim(const BRepAdaptor_Surface& Surf,
0117 const Standard_Real F,
0118 const Standard_Real L,
0119 const Standard_Real Tol)
0120 { return Surf.UTrim(F,L,Tol); }
0121
0122 //=======================================================================
0123 //function : VTrim
0124 //purpose :
0125 //=======================================================================
0126
0127 inline Handle(Adaptor3d_Surface)
0128 HLRBRep_BSurfaceTool::VTrim(const BRepAdaptor_Surface& Surf,
0129 const Standard_Real F,
0130 const Standard_Real L,
0131 const Standard_Real Tol)
0132 { return Surf.VTrim(F,L,Tol); }
0133
0134 //=======================================================================
0135 //function : IsUClosed
0136 //purpose :
0137 //=======================================================================
0138
0139 inline Standard_Boolean
0140 HLRBRep_BSurfaceTool::IsUClosed(const BRepAdaptor_Surface& S)
0141 { return S.IsUClosed(); }
0142
0143 //=======================================================================
0144 //function : IsVClosed
0145 //purpose :
0146 //=======================================================================
0147
0148 inline Standard_Boolean
0149 HLRBRep_BSurfaceTool::IsVClosed(const BRepAdaptor_Surface& S)
0150 { return S.IsVClosed(); }
0151
0152 //=======================================================================
0153 //function : IsUPeriodic
0154 //purpose :
0155 //=======================================================================
0156
0157 inline Standard_Boolean
0158 HLRBRep_BSurfaceTool::IsUPeriodic(const BRepAdaptor_Surface& S)
0159 { return S.IsUPeriodic(); }
0160
0161 //=======================================================================
0162 //function : UPeriod
0163 //purpose :
0164 //=======================================================================
0165
0166 inline Standard_Real
0167 HLRBRep_BSurfaceTool::UPeriod(const BRepAdaptor_Surface& S)
0168 { return S.UPeriod(); }
0169
0170 //=======================================================================
0171 //function : IsVPeriodic
0172 //purpose :
0173 //=======================================================================
0174
0175 inline Standard_Boolean
0176 HLRBRep_BSurfaceTool::IsVPeriodic(const BRepAdaptor_Surface& S)
0177 { return S.IsVPeriodic(); }
0178
0179 //=======================================================================
0180 //function : VPeriod
0181 //purpose :
0182 //=======================================================================
0183
0184 inline Standard_Real
0185 HLRBRep_BSurfaceTool::VPeriod(const BRepAdaptor_Surface& S)
0186 { return S.VPeriod(); }
0187
0188 //=======================================================================
0189 //function : Value
0190 //purpose :
0191 //=======================================================================
0192
0193 inline gp_Pnt
0194 HLRBRep_BSurfaceTool::Value(const BRepAdaptor_Surface& S,
0195 const Standard_Real U,
0196 const Standard_Real V )
0197 { return S.Value(U,V); }
0198
0199 //=======================================================================
0200 //function : D0
0201 //purpose :
0202 //=======================================================================
0203
0204 inline void
0205 HLRBRep_BSurfaceTool::D0(const BRepAdaptor_Surface& S,
0206 const Standard_Real U,
0207 const Standard_Real V,
0208 gp_Pnt& P)
0209 { S.D0(U,V,P); }
0210
0211 //=======================================================================
0212 //function : D1
0213 //purpose :
0214 //=======================================================================
0215
0216 inline void
0217 HLRBRep_BSurfaceTool::D1(const BRepAdaptor_Surface& S,
0218 const Standard_Real U,
0219 const Standard_Real V,
0220 gp_Pnt& P,
0221 gp_Vec& D1U,
0222 gp_Vec& D1V)
0223 { S.D1(U,V,P,D1U,D1V); }
0224
0225 //=======================================================================
0226 //function : D2
0227 //purpose :
0228 //=======================================================================
0229
0230 inline void
0231 HLRBRep_BSurfaceTool::D2(const BRepAdaptor_Surface& S,
0232 const Standard_Real U,
0233 const Standard_Real V,
0234 gp_Pnt& P,
0235 gp_Vec& D1U,
0236 gp_Vec& D1V,
0237 gp_Vec& D2U,
0238 gp_Vec& D2V,
0239 gp_Vec& D2UV)
0240 { S.D2(U,V,P,D1U,D1V,D2U,D2V,D2UV); }
0241
0242 //=======================================================================
0243 //function : D3
0244 //purpose :
0245 //=======================================================================
0246
0247 inline void
0248 HLRBRep_BSurfaceTool::D3(const BRepAdaptor_Surface& S,
0249 const Standard_Real U,
0250 const Standard_Real V,
0251 gp_Pnt& P,
0252 gp_Vec& D1U,
0253 gp_Vec& D1V,
0254 gp_Vec& D2U,
0255 gp_Vec& D2V,
0256 gp_Vec& D2UV,
0257 gp_Vec& D3U,
0258 gp_Vec& D3V,
0259 gp_Vec& D3UUV,
0260 gp_Vec& D3UVV)
0261 { S.D3(U,V,P,D1U,D1V,D2U,D2V,D2UV,D3U,D3V,D3UUV,D3UVV); }
0262
0263 //=======================================================================
0264 //function : DN
0265 //purpose :
0266 //=======================================================================
0267
0268 inline gp_Vec
0269 HLRBRep_BSurfaceTool::DN(const BRepAdaptor_Surface& S,
0270 const Standard_Real U,
0271 const Standard_Real V,
0272 const Standard_Integer Nu,
0273 const Standard_Integer Nv)
0274 { return S.DN(U,V,Nu,Nv); }
0275
0276 //=======================================================================
0277 //function : UResolution
0278 //purpose :
0279 //=======================================================================
0280
0281 inline Standard_Real
0282 HLRBRep_BSurfaceTool::UResolution(const BRepAdaptor_Surface& S,
0283 const Standard_Real R3d)
0284 { return S.UResolution(R3d); }
0285
0286 //=======================================================================
0287 //function : VResolution
0288 //purpose :
0289 //=======================================================================
0290
0291 inline Standard_Real
0292 HLRBRep_BSurfaceTool::VResolution(const BRepAdaptor_Surface& S,
0293 const Standard_Real R3d)
0294 { return S.VResolution(R3d); }
0295
0296 //=======================================================================
0297 //function : GetType
0298 //purpose :
0299 //=======================================================================
0300
0301 inline GeomAbs_SurfaceType
0302 HLRBRep_BSurfaceTool::GetType(const BRepAdaptor_Surface& S )
0303 { return S.GetType(); }
0304
0305 //=======================================================================
0306 //function : Plane
0307 //purpose :
0308 //=======================================================================
0309
0310 inline gp_Pln
0311 HLRBRep_BSurfaceTool::Plane(const BRepAdaptor_Surface& S)
0312 { return S.Plane(); }
0313
0314 //=======================================================================
0315 //function : Cylinder
0316 //purpose :
0317 //=======================================================================
0318
0319 inline gp_Cylinder
0320 HLRBRep_BSurfaceTool::Cylinder(const BRepAdaptor_Surface& S)
0321 { return S.Cylinder(); }
0322
0323 //=======================================================================
0324 //function : Cone
0325 //purpose :
0326 //=======================================================================
0327
0328 inline gp_Cone
0329 HLRBRep_BSurfaceTool::Cone(const BRepAdaptor_Surface& S)
0330 { return S.Cone(); }
0331
0332 //=======================================================================
0333 //function : Sphere
0334 //purpose :
0335 //=======================================================================
0336
0337 inline gp_Sphere
0338 HLRBRep_BSurfaceTool::Sphere(const BRepAdaptor_Surface& S)
0339 { return S.Sphere(); }
0340
0341 //=======================================================================
0342 //function : Torus
0343 //purpose :
0344 //=======================================================================
0345
0346 inline gp_Torus
0347 HLRBRep_BSurfaceTool::Torus(const BRepAdaptor_Surface& S)
0348 { return S.Torus(); }
0349
0350 //=======================================================================
0351 //function : Bezier
0352 //purpose :
0353 //=======================================================================
0354
0355 inline Handle(Geom_BezierSurface)
0356 HLRBRep_BSurfaceTool::Bezier(const BRepAdaptor_Surface& S)
0357 { return(S.Bezier()); }
0358
0359 //=======================================================================
0360 //function : BSpline
0361 //purpose :
0362 //=======================================================================
0363
0364 inline Handle(Geom_BSplineSurface)
0365 HLRBRep_BSurfaceTool::BSpline(const BRepAdaptor_Surface& S)
0366 { return(S.BSpline()); }
0367
0368 //=======================================================================
0369 //function : AxeOfRevolution
0370 //purpose :
0371 //=======================================================================
0372
0373 inline gp_Ax1
0374 HLRBRep_BSurfaceTool::AxeOfRevolution(const BRepAdaptor_Surface& S)
0375 { return(S.AxeOfRevolution()); }
0376
0377 //=======================================================================
0378 //function : Direction
0379 //purpose :
0380 //=======================================================================
0381
0382 inline gp_Dir
0383 HLRBRep_BSurfaceTool::Direction(const BRepAdaptor_Surface& S)
0384 { return(S.Direction()); }
0385
0386 //=======================================================================
0387 //function : BasisCurve
0388 //purpose :
0389 //=======================================================================
0390
0391 inline Handle(Adaptor3d_Curve)
0392 HLRBRep_BSurfaceTool::BasisCurve(const BRepAdaptor_Surface& S)
0393 { return(S.BasisCurve()); }
0394
0395 //=======================================================================
0396 //function : UContinuity
0397 //purpose :
0398 //=======================================================================
0399
0400 inline GeomAbs_Shape
0401 HLRBRep_BSurfaceTool::UContinuity(const BRepAdaptor_Surface& S)
0402 { return(S.UContinuity()); }
0403
0404 //=======================================================================
0405 //function : VContinuity
0406 //purpose :
0407 //=======================================================================
0408
0409 inline GeomAbs_Shape
0410 HLRBRep_BSurfaceTool::VContinuity(const BRepAdaptor_Surface& S)
0411 { return(S.VContinuity()); }
0412
0413 //=======================================================================
0414 //function : UDegree
0415 //purpose :
0416 //=======================================================================
0417
0418 inline Standard_Integer
0419 HLRBRep_BSurfaceTool::UDegree(const BRepAdaptor_Surface& S)
0420 { return(S.UDegree()); }
0421
0422 //=======================================================================
0423 //function : NbUPoles
0424 //purpose :
0425 //=======================================================================
0426
0427 inline Standard_Integer
0428 HLRBRep_BSurfaceTool::NbUPoles(const BRepAdaptor_Surface& S)
0429 { return(S.NbUPoles()); }
0430
0431 //=======================================================================
0432 //function : NbUKnots
0433 //purpose :
0434 //=======================================================================
0435
0436 inline Standard_Integer
0437 HLRBRep_BSurfaceTool::NbUKnots(const BRepAdaptor_Surface& S)
0438 { return(S.NbUKnots()); }
0439
0440 //=======================================================================
0441 //function : IsURational
0442 //purpose :
0443 //=======================================================================
0444
0445 inline Standard_Boolean
0446 HLRBRep_BSurfaceTool::IsURational(const BRepAdaptor_Surface& S)
0447 { return(S.IsURational()); }
0448
0449 //=======================================================================
0450 //function : VDegree
0451 //purpose :
0452 //=======================================================================
0453
0454 inline Standard_Integer
0455 HLRBRep_BSurfaceTool::VDegree(const BRepAdaptor_Surface& S)
0456 { return(S.VDegree()); }
0457
0458 //=======================================================================
0459 //function : NbVPoles
0460 //purpose :
0461 //=======================================================================
0462
0463 inline Standard_Integer
0464 HLRBRep_BSurfaceTool::NbVPoles(const BRepAdaptor_Surface& S)
0465 { return(S.NbVPoles()); }
0466
0467 //=======================================================================
0468 //function : NbVKnots
0469 //purpose :
0470 //=======================================================================
0471
0472 inline Standard_Integer
0473 HLRBRep_BSurfaceTool::NbVKnots(const BRepAdaptor_Surface& S)
0474 { return(S.NbVKnots()); }
0475
0476 //=======================================================================
0477 //function : IsVRational
0478 //purpose :
0479 //=======================================================================
0480
0481 inline Standard_Boolean
0482 HLRBRep_BSurfaceTool::IsVRational(const BRepAdaptor_Surface& S)
0483 { return(S.IsVRational()); }