b311480e |
1 | // Created on: 1995-07-20 |
2 | // Created by: Modelistation |
3 | // Copyright (c) 1995-1999 Matra Datavision |
973c2be1 |
4 | // Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e |
5 | // |
973c2be1 |
6 | // This file is part of Open CASCADE Technology software library. |
b311480e |
7 | // |
d5f74e42 |
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 |
973c2be1 |
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. |
b311480e |
13 | // |
973c2be1 |
14 | // Alternatively, this file may be used under the terms of Open CASCADE |
15 | // commercial license or contractual agreement. |
7fd59977 |
16 | |
7fd59977 |
17 | #include <gp_Pnt.hxx> |
18 | #include <gp_Vec.hxx> |
19 | #include <gp_Pln.hxx> |
20 | #include <gp_Cylinder.hxx> |
21 | #include <gp_Cone.hxx> |
22 | #include <gp_Torus.hxx> |
23 | #include <gp_Sphere.hxx> |
24 | #include <gp_Ax1.hxx> |
25 | #include <gp_Dir.hxx> |
cb389a77 |
26 | #include <Geom_BezierSurface.hxx> |
27 | #include <Geom_BSplineSurface.hxx> |
28 | #include <Adaptor3d_HSurface.hxx> |
29 | #include <Adaptor3d_HCurve.hxx> |
7fd59977 |
30 | |
04f7bd75 |
31 | inline Standard_Real BRepApprox_SurfaceTool::FirstUParameter(const BRepAdaptor_Surface& Surf){ return Surf.FirstUParameter(); } |
32 | inline Standard_Real BRepApprox_SurfaceTool::FirstVParameter(const BRepAdaptor_Surface& Surf){ return Surf.FirstVParameter();} |
33 | inline Standard_Real BRepApprox_SurfaceTool::LastUParameter(const BRepAdaptor_Surface& Surf){ return Surf.LastUParameter();} |
34 | inline Standard_Real BRepApprox_SurfaceTool::LastVParameter(const BRepAdaptor_Surface& Surf){ return Surf.LastVParameter();} |
7fd59977 |
35 | |
04f7bd75 |
36 | inline Standard_Integer BRepApprox_SurfaceTool::NbUIntervals(const BRepAdaptor_Surface& Surf, |
7fd59977 |
37 | const GeomAbs_Shape S){ |
38 | return Surf.NbUIntervals(S); |
39 | } |
40 | |
04f7bd75 |
41 | inline Standard_Integer BRepApprox_SurfaceTool::NbVIntervals(const BRepAdaptor_Surface& Surf, |
7fd59977 |
42 | const GeomAbs_Shape S){ |
43 | return Surf.NbVIntervals(S); |
44 | } |
45 | |
04f7bd75 |
46 | inline void BRepApprox_SurfaceTool::UIntervals(const BRepAdaptor_Surface& Surf, |
7fd59977 |
47 | TColStd_Array1OfReal& Tab, |
48 | const GeomAbs_Shape S){ |
49 | Surf.UIntervals(Tab,S); |
50 | } |
51 | |
04f7bd75 |
52 | inline void BRepApprox_SurfaceTool::VIntervals(const BRepAdaptor_Surface& Surf, |
7fd59977 |
53 | TColStd_Array1OfReal& Tab, |
54 | const GeomAbs_Shape S){ |
55 | Surf.VIntervals(Tab,S); |
56 | } |
57 | |
58 | |
857ffd5e |
59 | inline Handle(Adaptor3d_HSurface) BRepApprox_SurfaceTool::UTrim(const BRepAdaptor_Surface& Surf, |
7fd59977 |
60 | const Standard_Real F, |
61 | const Standard_Real L, |
62 | const Standard_Real Tol) { |
63 | return Surf.UTrim(F,L,Tol); |
64 | } |
65 | |
857ffd5e |
66 | inline Handle(Adaptor3d_HSurface) BRepApprox_SurfaceTool::VTrim(const BRepAdaptor_Surface& Surf, |
7fd59977 |
67 | const Standard_Real F, |
68 | const Standard_Real L, |
69 | const Standard_Real Tol) { |
70 | return Surf.VTrim(F,L,Tol); |
71 | } |
72 | |
73 | |
74 | |
75 | |
04f7bd75 |
76 | inline Standard_Boolean BRepApprox_SurfaceTool::IsUClosed(const BRepAdaptor_Surface& S) |
7fd59977 |
77 | { |
78 | return S.IsUClosed(); |
79 | } |
80 | |
04f7bd75 |
81 | inline Standard_Boolean BRepApprox_SurfaceTool::IsVClosed(const BRepAdaptor_Surface& S) |
7fd59977 |
82 | { |
83 | return S.IsVClosed(); |
84 | } |
85 | |
04f7bd75 |
86 | inline Standard_Boolean BRepApprox_SurfaceTool::IsUPeriodic(const BRepAdaptor_Surface& S) |
7fd59977 |
87 | { |
88 | return S.IsUPeriodic(); |
89 | } |
90 | |
04f7bd75 |
91 | inline Standard_Real BRepApprox_SurfaceTool::UPeriod(const BRepAdaptor_Surface& S) |
7fd59977 |
92 | { |
93 | return S.UPeriod(); |
94 | } |
95 | |
04f7bd75 |
96 | inline Standard_Boolean BRepApprox_SurfaceTool::IsVPeriodic(const BRepAdaptor_Surface& S) |
7fd59977 |
97 | { |
98 | return S.IsVPeriodic(); |
99 | } |
100 | |
04f7bd75 |
101 | inline Standard_Real BRepApprox_SurfaceTool::VPeriod(const BRepAdaptor_Surface& S) |
7fd59977 |
102 | { |
103 | return S.VPeriod(); |
104 | } |
105 | |
04f7bd75 |
106 | inline gp_Pnt BRepApprox_SurfaceTool::Value(const BRepAdaptor_Surface& S, |
7fd59977 |
107 | const Standard_Real U, |
108 | const Standard_Real V ) |
109 | { |
110 | return S.Value(U,V); |
111 | } |
112 | |
04f7bd75 |
113 | inline void BRepApprox_SurfaceTool::D0(const BRepAdaptor_Surface& S, |
7fd59977 |
114 | const Standard_Real U, |
115 | const Standard_Real V, |
116 | gp_Pnt& P) |
117 | { |
118 | S.D0(U,V,P); |
119 | } |
120 | |
04f7bd75 |
121 | inline void BRepApprox_SurfaceTool::D1(const BRepAdaptor_Surface& S, |
7fd59977 |
122 | const Standard_Real U, |
123 | const Standard_Real V, |
124 | gp_Pnt& P, |
125 | gp_Vec& D1U, |
126 | gp_Vec& D1V) |
127 | { |
128 | S.D1(U,V,P,D1U,D1V); |
129 | } |
130 | |
04f7bd75 |
131 | inline void BRepApprox_SurfaceTool::D2(const BRepAdaptor_Surface& S, |
7fd59977 |
132 | const Standard_Real U, |
133 | const Standard_Real V, |
134 | gp_Pnt& P, |
135 | gp_Vec& D1U, |
136 | gp_Vec& D1V, |
137 | gp_Vec& D2U, |
138 | gp_Vec& D2V, |
139 | gp_Vec& D2UV) |
140 | { |
141 | S.D2(U,V,P,D1U,D1V,D2U,D2V,D2UV); |
142 | } |
143 | |
04f7bd75 |
144 | inline void BRepApprox_SurfaceTool::D3(const BRepAdaptor_Surface& S, |
7fd59977 |
145 | const Standard_Real U, |
146 | const Standard_Real V, |
147 | gp_Pnt& P, |
148 | gp_Vec& D1U, |
149 | gp_Vec& D1V, |
150 | gp_Vec& D2U, |
151 | gp_Vec& D2V, |
152 | gp_Vec& D2UV, |
153 | gp_Vec& D3U, |
154 | gp_Vec& D3V, |
155 | gp_Vec& D3UUV, |
156 | gp_Vec& D3UVV) |
157 | { |
158 | S.D3(U,V,P,D1U,D1V,D2U,D2V,D2UV,D3U,D3V,D3UUV,D3UVV); |
159 | } |
160 | |
04f7bd75 |
161 | inline gp_Vec BRepApprox_SurfaceTool::DN(const BRepAdaptor_Surface& S, |
7fd59977 |
162 | const Standard_Real U, |
163 | const Standard_Real V, |
164 | const Standard_Integer Nu, |
165 | const Standard_Integer Nv) |
166 | { |
167 | return S.DN(U,V,Nu,Nv); |
168 | } |
169 | |
04f7bd75 |
170 | inline Standard_Real BRepApprox_SurfaceTool::UResolution(const BRepAdaptor_Surface& S, |
7fd59977 |
171 | const Standard_Real R3d) |
172 | { |
173 | return S.UResolution(R3d); |
174 | } |
175 | |
04f7bd75 |
176 | inline Standard_Real BRepApprox_SurfaceTool::VResolution(const BRepAdaptor_Surface& S, |
7fd59977 |
177 | const Standard_Real R3d) |
178 | { |
179 | return S.VResolution(R3d); |
180 | } |
181 | |
04f7bd75 |
182 | inline GeomAbs_SurfaceType BRepApprox_SurfaceTool::GetType(const BRepAdaptor_Surface& S ) |
7fd59977 |
183 | { |
184 | return S.GetType(); |
185 | } |
186 | |
04f7bd75 |
187 | inline gp_Pln BRepApprox_SurfaceTool::Plane(const BRepAdaptor_Surface& S) |
7fd59977 |
188 | { |
189 | return S.Plane(); |
190 | } |
191 | |
04f7bd75 |
192 | inline gp_Cylinder BRepApprox_SurfaceTool::Cylinder(const BRepAdaptor_Surface& S) |
7fd59977 |
193 | { |
194 | return S.Cylinder(); |
195 | } |
196 | |
04f7bd75 |
197 | inline gp_Cone BRepApprox_SurfaceTool::Cone(const BRepAdaptor_Surface& S) |
7fd59977 |
198 | { |
199 | return S.Cone(); |
200 | } |
201 | |
04f7bd75 |
202 | inline gp_Sphere BRepApprox_SurfaceTool::Sphere(const BRepAdaptor_Surface& S) |
7fd59977 |
203 | { |
204 | return S.Sphere(); |
205 | } |
206 | |
04f7bd75 |
207 | inline gp_Torus BRepApprox_SurfaceTool::Torus(const BRepAdaptor_Surface& S) |
7fd59977 |
208 | { |
209 | return S.Torus(); |
210 | } |
211 | |
212 | |
04f7bd75 |
213 | inline Handle(Geom_BezierSurface) BRepApprox_SurfaceTool::Bezier(const BRepAdaptor_Surface& S) { |
7fd59977 |
214 | return(S.Bezier()); |
215 | } |
216 | |
04f7bd75 |
217 | inline Handle(Geom_BSplineSurface) BRepApprox_SurfaceTool::BSpline(const BRepAdaptor_Surface& S) { |
7fd59977 |
218 | return(S.BSpline()); |
219 | } |
220 | |
221 | |
04f7bd75 |
222 | inline gp_Ax1 BRepApprox_SurfaceTool::AxeOfRevolution(const BRepAdaptor_Surface& S) { |
7fd59977 |
223 | return(S.AxeOfRevolution()); |
224 | } |
225 | |
04f7bd75 |
226 | inline gp_Dir BRepApprox_SurfaceTool::Direction(const BRepAdaptor_Surface& S) { |
7fd59977 |
227 | return(S.Direction()); |
228 | } |
229 | |
04f7bd75 |
230 | inline Handle(Adaptor3d_HCurve) BRepApprox_SurfaceTool::BasisCurve(const BRepAdaptor_Surface& S) { |
7fd59977 |
231 | return(S.BasisCurve()); |
232 | } |