1 // Created by: Laurent BUCHARD
2 // Copyright (c) 1993-1999 Matra Datavision
3 // Copyright (c) 1999-2014 OPEN CASCADE SAS
5 // This file is part of Open CASCADE Technology software library.
7 // This library is free software; you can redistribute it and / or modify it
8 // under the terms of the GNU Lesser General Public version 2.1 as published
9 // by the Free Software Foundation, with special exception defined in the file
10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 // distribution for complete text of the license and disclaimer of any warranty.
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
19 #include <gp_Cylinder.hxx>
20 #include <gp_Cone.hxx>
21 #include <gp_Torus.hxx>
22 #include <gp_Sphere.hxx>
25 #include <Handle_Geom_BezierSurface.hxx>
26 #include <Handle_Geom_BSplineSurface.hxx>
27 #include <Handle_Adaptor3d_HSurface.hxx>
28 #include <Handle_Adaptor3d_HCurve.hxx>
31 inline Standard_Real Adaptor3d_HSurfaceTool::FirstUParameter(const Handle(Adaptor3d_HSurface)& Surf)
33 return Surf->FirstUParameter();
36 inline Standard_Real Adaptor3d_HSurfaceTool::FirstVParameter(const Handle(Adaptor3d_HSurface)& Surf)
38 return Surf->FirstVParameter();
41 inline Standard_Real Adaptor3d_HSurfaceTool::LastUParameter(const Handle(Adaptor3d_HSurface)& Surf)
43 return Surf->LastUParameter();
46 inline Standard_Real Adaptor3d_HSurfaceTool::LastVParameter(const Handle(Adaptor3d_HSurface)& Surf)
48 return Surf->LastVParameter();
51 inline Standard_Integer Adaptor3d_HSurfaceTool::NbUIntervals(const Handle(Adaptor3d_HSurface)& Surf, const GeomAbs_Shape S)
53 return Surf->NbUIntervals(S);
56 inline Standard_Integer Adaptor3d_HSurfaceTool::NbVIntervals(const Handle(Adaptor3d_HSurface)& Surf, const GeomAbs_Shape S)
58 return Surf->NbVIntervals(S);
61 inline void Adaptor3d_HSurfaceTool::UIntervals(const Handle(Adaptor3d_HSurface)& Surf,
62 TColStd_Array1OfReal& Tab,
63 const GeomAbs_Shape S)
65 Surf->UIntervals(Tab,S);
68 inline void Adaptor3d_HSurfaceTool::VIntervals(const Handle(Adaptor3d_HSurface)& Surf,
69 TColStd_Array1OfReal& Tab,
70 const GeomAbs_Shape S)
72 Surf->VIntervals(Tab,S);
75 inline Handle_Adaptor3d_HSurface Adaptor3d_HSurfaceTool::UTrim(const Handle(Adaptor3d_HSurface)& Surf,
76 const Standard_Real F,
77 const Standard_Real L,
78 const Standard_Real Tol)
80 return Surf->UTrim(F,L,Tol);
83 inline Handle_Adaptor3d_HSurface Adaptor3d_HSurfaceTool::VTrim(const Handle(Adaptor3d_HSurface)& Surf,
84 const Standard_Real F,
85 const Standard_Real L,
86 const Standard_Real Tol)
88 return Surf->VTrim(F,L,Tol);
91 inline Standard_Boolean Adaptor3d_HSurfaceTool::IsUClosed(const Handle(Adaptor3d_HSurface)& S)
93 return S->IsUClosed();
96 inline Standard_Boolean Adaptor3d_HSurfaceTool::IsVClosed(const Handle(Adaptor3d_HSurface)& S)
98 return S->IsVClosed();
101 inline Standard_Boolean Adaptor3d_HSurfaceTool::IsUPeriodic(const Handle(Adaptor3d_HSurface)& S)
103 return S->IsUPeriodic();
106 inline Standard_Real Adaptor3d_HSurfaceTool::UPeriod(const Handle(Adaptor3d_HSurface)& S)
111 inline Standard_Boolean Adaptor3d_HSurfaceTool::IsVPeriodic(const Handle(Adaptor3d_HSurface)& S)
113 return S->IsVPeriodic();
116 inline Standard_Real Adaptor3d_HSurfaceTool::VPeriod(const Handle(Adaptor3d_HSurface)& S)
121 inline gp_Pnt Adaptor3d_HSurfaceTool::Value(const Handle(Adaptor3d_HSurface)& S,
122 const Standard_Real U,
123 const Standard_Real V )
125 return S->Value(U,V);
128 inline void Adaptor3d_HSurfaceTool::D0(const Handle(Adaptor3d_HSurface)& S,
129 const Standard_Real U,
130 const Standard_Real V,
136 inline void Adaptor3d_HSurfaceTool::D1(const Handle(Adaptor3d_HSurface)& S,
137 const Standard_Real U,
138 const Standard_Real V,
143 S->D1(U,V,P,D1U,D1V);
146 inline void Adaptor3d_HSurfaceTool::D2(const Handle(Adaptor3d_HSurface)& S,
147 const Standard_Real U,
148 const Standard_Real V,
156 S->D2(U,V,P,D1U,D1V,D2U,D2V,D2UV);
159 inline void Adaptor3d_HSurfaceTool::D3(const Handle(Adaptor3d_HSurface)& S,
160 const Standard_Real U,
161 const Standard_Real V,
173 S->D3(U,V,P,D1U,D1V,D2U,D2V,D2UV,D3U,D3V,D3UUV,D3UVV);
176 inline gp_Vec Adaptor3d_HSurfaceTool::DN(const Handle(Adaptor3d_HSurface)& S,
177 const Standard_Real U,
178 const Standard_Real V,
179 const Standard_Integer Nu,
180 const Standard_Integer Nv)
182 return S->DN(U,V,Nu,Nv);
185 inline Standard_Real Adaptor3d_HSurfaceTool::UResolution(const Handle(Adaptor3d_HSurface)& S,
186 const Standard_Real R3d)
188 return S->UResolution(R3d);
191 inline Standard_Real Adaptor3d_HSurfaceTool::VResolution(const Handle(Adaptor3d_HSurface)& S,
192 const Standard_Real R3d)
194 return S->VResolution(R3d);
197 inline GeomAbs_SurfaceType Adaptor3d_HSurfaceTool::GetType(const Handle(Adaptor3d_HSurface)& S )
202 inline gp_Pln Adaptor3d_HSurfaceTool::Plane(const Handle(Adaptor3d_HSurface)& S)
207 inline gp_Cylinder Adaptor3d_HSurfaceTool::Cylinder(const Handle(Adaptor3d_HSurface)& S)
209 return S->Cylinder();
212 inline gp_Cone Adaptor3d_HSurfaceTool::Cone(const Handle(Adaptor3d_HSurface)& S)
217 inline gp_Sphere Adaptor3d_HSurfaceTool::Sphere(const Handle(Adaptor3d_HSurface)& S)
222 inline gp_Torus Adaptor3d_HSurfaceTool::Torus(const Handle(Adaptor3d_HSurface)& S)
227 inline Handle(Geom_BezierSurface) Adaptor3d_HSurfaceTool::Bezier(const Handle(Adaptor3d_HSurface)& S)
232 inline Handle(Geom_BSplineSurface) Adaptor3d_HSurfaceTool::BSpline(const Handle(Adaptor3d_HSurface)& S)
234 return(S->BSpline());
237 inline gp_Ax1 Adaptor3d_HSurfaceTool::AxeOfRevolution(const Handle(Adaptor3d_HSurface)& S)
239 return(S->AxeOfRevolution());
242 inline gp_Dir Adaptor3d_HSurfaceTool::Direction(const Handle(Adaptor3d_HSurface)& S)
244 return(S->Direction());
247 inline Handle(Adaptor3d_HCurve) Adaptor3d_HSurfaceTool::BasisCurve(const Handle(Adaptor3d_HSurface)& S)
249 return(S->BasisCurve());
252 inline Handle(Adaptor3d_HSurface) Adaptor3d_HSurfaceTool::BasisSurface(const Handle(Adaptor3d_HSurface)& S)
254 return(S->BasisSurface());
257 inline Standard_Real Adaptor3d_HSurfaceTool::OffsetValue(const Handle(Adaptor3d_HSurface)& S)
259 return(S->OffsetValue());