1// Created on: 1992-03-13 2// Created by: Christophe MARION 3// Copyright (c) 1992-1999 Matra Datavision 4// Copyright (c) 1999-2014 OPEN CASCADE SAS 5// 6// This file is part of Open CASCADE Technology software library. 7// 8// This library is free software; you can redistribute it and/or modify it under 9// the terms of the GNU Lesser General Public License version 2.1 as published 10// by the Free Software Foundation, with special exception defined in the file 11// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 12// distribution for complete text of the license and disclaimer of any warranty. 13// 14// Alternatively, this file may be used under the terms of Open CASCADE 15// commercial license or contractual agreement. 16 17#include <BRepAdaptor_Surface.hxx> 18#include <HLRBRep_BSurfaceTool.hxx> 19 20//======================================================================= 21//function : Surface 22//purpose : 23//======================================================================= 24 25inline BRepAdaptor_Surface & HLRBRep_Surface::Surface() 26{ return mySurf; } 27 28//======================================================================= 29//function : FirstUParameter 30//purpose : 31//======================================================================= 32 33inline Standard_Real HLRBRep_Surface::FirstUParameter()const 34{ return HLRBRep_BSurfaceTool::FirstUParameter(mySurf); } 35 36//======================================================================= 37//function : LastUParameter 38//purpose : 39//======================================================================= 40 41inline Standard_Real HLRBRep_Surface::LastUParameter()const 42{ return HLRBRep_BSurfaceTool::LastUParameter(mySurf); } 43 44//======================================================================= 45//function : FirstVParameter 46//purpose : 47//======================================================================= 48 49inline Standard_Real HLRBRep_Surface::FirstVParameter()const 50{ return HLRBRep_BSurfaceTool::FirstVParameter(mySurf); } 51 52//======================================================================= 53//function : LastVParameter 54//purpose : 55//======================================================================= 56 57inline Standard_Real HLRBRep_Surface::LastVParameter()const 58{ return HLRBRep_BSurfaceTool::LastVParameter(mySurf); } 59 60//======================================================================= 61//function : UContinuity 62//purpose : 63//======================================================================= 64 65inline GeomAbs_Shape HLRBRep_Surface::UContinuity()const 66{ return HLRBRep_BSurfaceTool::UContinuity(mySurf); } 67 68//======================================================================= 69//function : VContinuity 70//purpose : 71//======================================================================= 72 73inline GeomAbs_Shape HLRBRep_Surface::VContinuity()const 74{ return HLRBRep_BSurfaceTool::VContinuity(mySurf); } 75 76//======================================================================= 77//function : NbUIntervals 78//purpose : 79//======================================================================= 80 81inline Standard_Integer 82HLRBRep_Surface::NbUIntervals(const GeomAbs_Shape S) 83{ return HLRBRep_BSurfaceTool::NbUIntervals(mySurf,S); } 84 85//======================================================================= 86//function : NbVIntervals 87//purpose : 88//======================================================================= 89 90inline Standard_Integer 91HLRBRep_Surface::NbVIntervals(const GeomAbs_Shape S) 92{ return HLRBRep_BSurfaceTool::NbVIntervals(mySurf,S); } 93 94//======================================================================= 95//function : IsUClosed 96//purpose : 97//======================================================================= 98 99inline Standard_Boolean HLRBRep_Surface::IsUClosed()const 100{ return HLRBRep_BSurfaceTool::IsUClosed(mySurf); } 101 102//======================================================================= 103//function : IsVClosed 104//purpose : 105//======================================================================= 106 107inline Standard_Boolean HLRBRep_Surface::IsVClosed()const 108{ return HLRBRep_BSurfaceTool::IsVClosed(mySurf); } 109 110//======================================================================= 111//function : IsUPeriodic 112//purpose : 113//======================================================================= 114 115inline Standard_Boolean HLRBRep_Surface::IsUPeriodic()const 116{ return HLRBRep_BSurfaceTool::IsUPeriodic(mySurf); } 117 118//======================================================================= 119//function : UPeriod 120//purpose : 121//======================================================================= 122 123inline Standard_Real HLRBRep_Surface::UPeriod()const 124{ return HLRBRep_BSurfaceTool::UPeriod(mySurf); } 125 126//======================================================================= 127//function : IsVPeriodic 128//purpose : 129//======================================================================= 130 131inline Standard_Boolean HLRBRep_Surface::IsVPeriodic()const 132{ return HLRBRep_BSurfaceTool::IsVPeriodic(mySurf); } 133 134//======================================================================= 135//function : VPeriod 136//purpose : 137//======================================================================= 138 139inline Standard_Real HLRBRep_Surface::VPeriod()const 140{ return HLRBRep_BSurfaceTool::VPeriod(mySurf); } 141 142//======================================================================= 143//function : D0 144//purpose : 145//======================================================================= 146 147inline void HLRBRep_Surface::D0(const Standard_Real U, 148 const Standard_Real V, 149 gp_Pnt& P) const 150{ HLRBRep_BSurfaceTool::D0(mySurf,U,V,P); } 151 152//======================================================================= 153//function : D1 154//purpose : 155//======================================================================= 156 157inline void HLRBRep_Surface::D1(const Standard_Real U, 158 const Standard_Real V, 159 gp_Pnt& P, 160 gp_Vec& D1U, 161 gp_Vec& D1V) const 162{ HLRBRep_BSurfaceTool::D1(mySurf,U,V,P,D1U,D1V); } 163 164//======================================================================= 165//function : D2 166//purpose : 167//======================================================================= 168 169inline void HLRBRep_Surface::D2(const Standard_Real U, 170 const Standard_Real V, 171 gp_Pnt& P, 172 gp_Vec& D1U, 173 gp_Vec& D1V, 174 gp_Vec& D2U, 175 gp_Vec& D2V, 176 gp_Vec& D2UV) const 177{ HLRBRep_BSurfaceTool::D2(mySurf,U,V,P,D1U,D1V,D2U,D2V,D2UV); } 178 179//======================================================================= 180//function : D3 181//purpose : 182//======================================================================= 183 184inline void HLRBRep_Surface::D3(const Standard_Real U, 185 const Standard_Real V, 186 gp_Pnt& P, 187 gp_Vec& D1U, 188 gp_Vec& D1V, 189 gp_Vec& D2U, 190 gp_Vec& D2V, 191 gp_Vec& D2UV, 192 gp_Vec& D3U, 193 gp_Vec& D3V, 194 gp_Vec& D3UUV, 195 gp_Vec& D3UVV) const 196{ HLRBRep_BSurfaceTool::D3 197 (mySurf,U,V,P,D1U,D1V,D2U,D2V,D2UV,D3U,D3V,D3UUV,D3UVV); } 198 199//======================================================================= 200//function : DN 201//purpose : 202//======================================================================= 203 204inline gp_Vec HLRBRep_Surface::DN(const Standard_Real U, 205 const Standard_Real V, 206 const Standard_Integer Nu, 207 const Standard_Integer Nv) const 208{ return HLRBRep_BSurfaceTool::DN(mySurf,U,V,Nu,Nv); } 209 210//======================================================================= 211//function : GetType 212//purpose : 213//======================================================================= 214 215inline GeomAbs_SurfaceType HLRBRep_Surface::GetType()const 216{ return myType; } 217 218//======================================================================= 219//function : Cylinder 220//purpose : 221//======================================================================= 222 223inline gp_Cylinder HLRBRep_Surface::Cylinder()const 224{ return HLRBRep_BSurfaceTool::Cylinder(mySurf); } 225 226//======================================================================= 227//function : Cone 228//purpose : 229//======================================================================= 230 231inline gp_Cone HLRBRep_Surface::Cone()const 232{ return HLRBRep_BSurfaceTool::Cone(mySurf); } 233 234//======================================================================= 235//function : Sphere 236//purpose : 237//======================================================================= 238 239inline gp_Sphere HLRBRep_Surface::Sphere()const 240{ return HLRBRep_BSurfaceTool::Sphere(mySurf); } 241 242//======================================================================= 243//function : Torus 244//purpose : 245//======================================================================= 246 247inline gp_Torus HLRBRep_Surface::Torus()const 248{ return HLRBRep_BSurfaceTool::Torus(mySurf); } 249 250//======================================================================= 251//function : UDegree 252//purpose : 253//======================================================================= 254 255inline Standard_Integer HLRBRep_Surface::UDegree()const 256{ return HLRBRep_BSurfaceTool::UDegree(mySurf); } 257 258//======================================================================= 259//function : NbUPoles 260//purpose : 261//======================================================================= 262 263inline Standard_Integer HLRBRep_Surface::NbUPoles()const 264{ return HLRBRep_BSurfaceTool::NbUPoles(mySurf); } 265 266//======================================================================= 267//function : VDegree 268//purpose : 269//======================================================================= 270 271inline Standard_Integer HLRBRep_Surface::VDegree()const 272{ return HLRBRep_BSurfaceTool::VDegree(mySurf); } 273 274//======================================================================= 275//function : NbVPoles 276//purpose : 277//======================================================================= 278 279inline Standard_Integer HLRBRep_Surface::NbVPoles()const 280{ return HLRBRep_BSurfaceTool::NbVPoles(mySurf); } 281 282 283//======================================================================= 284//function : NbUKnots 285//purpose : 286//======================================================================= 287 288inline Standard_Integer HLRBRep_Surface::NbUKnots()const 289{ return HLRBRep_BSurfaceTool::NbUKnots(mySurf); } 290 291 292//======================================================================= 293//function : NbVKnots 294//purpose : 295//======================================================================= 296 297inline Standard_Integer HLRBRep_Surface::NbVKnots()const 298{ return HLRBRep_BSurfaceTool::NbVKnots(mySurf); } 299 300//======================================================================= 301//function : Axis 302//purpose : 303//======================================================================= 304 305inline gp_Ax1 HLRBRep_Surface::Axis()const 306{ return HLRBRep_BSurfaceTool::AxeOfRevolution(mySurf); } 307