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