Warning, /include/opencascade/HLRBRep_SurfaceTool.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 <Adaptor3d_Curve.hxx>
0017 #include <Adaptor3d_Surface.hxx>
0018 #include <Geom_BezierSurface.hxx>
0019 #include <Geom_BSplineSurface.hxx>
0020 #include <gp_Ax1.hxx>
0021 #include <gp_Cone.hxx>
0022 #include <gp_Cylinder.hxx>
0023 #include <gp_Dir.hxx>
0024 #include <gp_Pln.hxx>
0025 #include <gp_Pnt.hxx>
0026 #include <gp_Sphere.hxx>
0027 #include <gp_Torus.hxx>
0028 #include <gp_Vec.hxx>
0029 #include <HLRBRep_Surface.hxx>
0030
0031 inline double HLRBRep_SurfaceTool::FirstUParameter(const HLRBRep_Surface* theSurf)
0032 {
0033 return theSurf->FirstUParameter();
0034 }
0035
0036 inline double HLRBRep_SurfaceTool::FirstVParameter(const HLRBRep_Surface* theSurf)
0037 {
0038 return theSurf->FirstVParameter();
0039 }
0040
0041 inline double HLRBRep_SurfaceTool::LastUParameter(const HLRBRep_Surface* theSurf)
0042 {
0043 return theSurf->LastUParameter();
0044 }
0045
0046 inline double HLRBRep_SurfaceTool::LastVParameter(const HLRBRep_Surface* theSurf)
0047 {
0048 return theSurf->LastVParameter();
0049 }
0050
0051 inline int HLRBRep_SurfaceTool::NbUIntervals(const HLRBRep_Surface* theSurf,
0052 const GeomAbs_Shape theSh)
0053 {
0054 return theSurf->NbUIntervals(theSh);
0055 }
0056
0057 inline int HLRBRep_SurfaceTool::NbVIntervals(const HLRBRep_Surface* theSurf,
0058 const GeomAbs_Shape theSh)
0059 {
0060 return theSurf->NbVIntervals(theSh);
0061 }
0062
0063 inline void HLRBRep_SurfaceTool::UIntervals(const HLRBRep_Surface* theSurf,
0064 NCollection_Array1<double>& theTab,
0065 const GeomAbs_Shape theSh)
0066 {
0067 theSurf->Surface().UIntervals(theTab, theSh);
0068 }
0069
0070 inline void HLRBRep_SurfaceTool::VIntervals(const HLRBRep_Surface* theSurf,
0071 NCollection_Array1<double>& theTab,
0072 const GeomAbs_Shape theSh)
0073 {
0074 theSurf->Surface().VIntervals(theTab, theSh);
0075 }
0076
0077 inline occ::handle<Adaptor3d_Surface> HLRBRep_SurfaceTool::UTrim(const HLRBRep_Surface* theSurf,
0078 const double theFirst,
0079 const double theLast,
0080 const double theTol)
0081 {
0082 return theSurf->Surface().UTrim(theFirst, theLast, theTol);
0083 }
0084
0085 inline occ::handle<Adaptor3d_Surface> HLRBRep_SurfaceTool::VTrim(const HLRBRep_Surface* theSurf,
0086 const double theFirst,
0087 const double theLast,
0088 const double theTol)
0089 {
0090 return theSurf->Surface().VTrim(theFirst, theLast, theTol);
0091 }
0092
0093 inline bool HLRBRep_SurfaceTool::IsUClosed(const HLRBRep_Surface* theSurf)
0094 {
0095 return theSurf->IsUClosed();
0096 }
0097
0098 inline bool HLRBRep_SurfaceTool::IsVClosed(const HLRBRep_Surface* theSurf)
0099 {
0100 return theSurf->IsVClosed();
0101 }
0102
0103 inline bool HLRBRep_SurfaceTool::IsUPeriodic(const HLRBRep_Surface* theSurf)
0104 {
0105 return theSurf->IsUPeriodic();
0106 }
0107
0108 inline double HLRBRep_SurfaceTool::UPeriod(const HLRBRep_Surface* theSurf)
0109 {
0110 return theSurf->UPeriod();
0111 }
0112
0113 inline bool HLRBRep_SurfaceTool::IsVPeriodic(const HLRBRep_Surface* theSurf)
0114 {
0115 return theSurf->IsVPeriodic();
0116 }
0117
0118 inline double HLRBRep_SurfaceTool::VPeriod(const HLRBRep_Surface* theSurf)
0119 {
0120 return theSurf->VPeriod();
0121 }
0122
0123 inline gp_Pnt HLRBRep_SurfaceTool::Value(const HLRBRep_Surface* theSurf,
0124 const double theU,
0125 const double theV)
0126 {
0127 return theSurf->Surface().Value(theU, theV);
0128 }
0129
0130 inline void HLRBRep_SurfaceTool::D0(const HLRBRep_Surface* theSurf,
0131 const double theU,
0132 const double theV,
0133 gp_Pnt& theP)
0134 {
0135 theSurf->Surface().D0(theU, theV, theP);
0136 }
0137
0138 inline void HLRBRep_SurfaceTool::D1(const HLRBRep_Surface* theSurf,
0139 const double theU,
0140 const double theV,
0141 gp_Pnt& theP,
0142 gp_Vec& theD1U,
0143 gp_Vec& theD1V)
0144 {
0145 theSurf->Surface().D1(theU, theV, theP, theD1U, theD1V);
0146 }
0147
0148 inline void HLRBRep_SurfaceTool::D2(const HLRBRep_Surface* theSurf,
0149 const double theU,
0150 const double theV,
0151 gp_Pnt& theP,
0152 gp_Vec& theD1U,
0153 gp_Vec& theD1V,
0154 gp_Vec& theD2U,
0155 gp_Vec& theD2V,
0156 gp_Vec& theD2UV)
0157 {
0158 theSurf->Surface().D2(theU, theV, theP, theD1U, theD1V, theD2U, theD2V, theD2UV);
0159 }
0160
0161 inline void HLRBRep_SurfaceTool::D3(const HLRBRep_Surface* theSurf,
0162 const double theU,
0163 const double theV,
0164 gp_Pnt& theP,
0165 gp_Vec& theD1U,
0166 gp_Vec& theD1V,
0167 gp_Vec& theD2U,
0168 gp_Vec& theD2V,
0169 gp_Vec& theD2UV,
0170 gp_Vec& theD3U,
0171 gp_Vec& theD3V,
0172 gp_Vec& theD3UUV,
0173 gp_Vec& theD3UVV)
0174 {
0175 theSurf->Surface().D3(theU,
0176 theV,
0177 theP,
0178 theD1U,
0179 theD1V,
0180 theD2U,
0181 theD2V,
0182 theD2UV,
0183 theD3U,
0184 theD3V,
0185 theD3UUV,
0186 theD3UVV);
0187 }
0188
0189 inline gp_Vec HLRBRep_SurfaceTool::DN(const HLRBRep_Surface* theSurf,
0190 const double theU,
0191 const double theV,
0192 const int theNu,
0193 const int theNv)
0194 {
0195 return theSurf->Surface().DN(theU, theV, theNu, theNv);
0196 }
0197
0198 inline double HLRBRep_SurfaceTool::UResolution(const HLRBRep_Surface* theSurf, const double theR3d)
0199 {
0200 return theSurf->Surface().UResolution(theR3d);
0201 }
0202
0203 inline double HLRBRep_SurfaceTool::VResolution(const HLRBRep_Surface* theSurf, const double theR3d)
0204 {
0205 return theSurf->Surface().VResolution(theR3d);
0206 }
0207
0208 inline GeomAbs_SurfaceType HLRBRep_SurfaceTool::GetType(const HLRBRep_Surface* theSurf)
0209 {
0210 return theSurf->GetType();
0211 }
0212
0213 inline gp_Pln HLRBRep_SurfaceTool::Plane(const HLRBRep_Surface* theSurf)
0214 {
0215 return theSurf->Plane();
0216 }
0217
0218 inline gp_Cylinder HLRBRep_SurfaceTool::Cylinder(const HLRBRep_Surface* theSurf)
0219 {
0220 return theSurf->Cylinder();
0221 }
0222
0223 inline gp_Cone HLRBRep_SurfaceTool::Cone(const HLRBRep_Surface* theSurf)
0224 {
0225 return theSurf->Cone();
0226 }
0227
0228 inline gp_Sphere HLRBRep_SurfaceTool::Sphere(const HLRBRep_Surface* theSurf)
0229 {
0230 return theSurf->Sphere();
0231 }
0232
0233 inline gp_Torus HLRBRep_SurfaceTool::Torus(const HLRBRep_Surface* theSurf)
0234 {
0235 return theSurf->Torus();
0236 }
0237
0238 inline occ::handle<Geom_BezierSurface> HLRBRep_SurfaceTool::Bezier(const HLRBRep_Surface* theSurf)
0239 {
0240 return theSurf->Surface().Bezier();
0241 }
0242
0243 inline occ::handle<Geom_BSplineSurface> HLRBRep_SurfaceTool::BSpline(const HLRBRep_Surface* theSurf)
0244 {
0245 return theSurf->Surface().BSpline();
0246 }
0247
0248 inline gp_Ax1 HLRBRep_SurfaceTool::AxeOfRevolution(const HLRBRep_Surface* theSurf)
0249 {
0250 return theSurf->Axis();
0251 }
0252
0253 inline gp_Dir HLRBRep_SurfaceTool::Direction(const HLRBRep_Surface* theSurf)
0254 {
0255 return theSurf->Surface().Direction();
0256 }
0257
0258 inline occ::handle<Adaptor3d_Curve> HLRBRep_SurfaceTool::BasisCurve(const HLRBRep_Surface* theSurf)
0259 {
0260 return theSurf->Surface().BasisCurve();
0261 }
0262
0263 inline occ::handle<Adaptor3d_Surface> HLRBRep_SurfaceTool::BasisSurface(
0264 const HLRBRep_Surface* theSurf)
0265 {
0266 return theSurf->Surface().BasisSurface();
0267 }
0268
0269 inline double HLRBRep_SurfaceTool::OffsetValue(const HLRBRep_Surface* theSurf)
0270 {
0271 return theSurf->Surface().OffsetValue();
0272 }