0024075: Boolean Section between two faces fails
[occt.git] / src / BiTgte / BiTgte_CurveOnVertex.cxx
CommitLineData
b311480e 1// Created on: 1997-03-21
2// Created by: Bruno DUMORTIER
3// Copyright (c) 1997-1999 Matra Datavision
4// Copyright (c) 1999-2012 OPEN CASCADE SAS
5//
6// The content of this file is subject to the Open CASCADE Technology Public
7// License Version 6.5 (the "License"). You may not use the content of this file
8// except in compliance with the License. Please obtain a copy of the License
9// at http://www.opencascade.org and read it completely before using this file.
10//
11// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13//
14// The Original Code and all software distributed under the License is
15// distributed on an "AS IS" basis, without warranty of any kind, and the
16// Initial Developer hereby disclaims all such warranties, including without
17// limitation, any warranties of merchantability, fitness for a particular
18// purpose or non-infringement. Please see the License for the specific terms
19// and conditions governing the rights and limitations under the License.
20
7fd59977 21
22
23#include <BiTgte_CurveOnVertex.ixx>
24
25#include <BiTgte_HCurveOnVertex.hxx>
26#include <BRep_Tool.hxx>
27#include <Standard_NotImplemented.hxx>
28
29
30//=======================================================================
31//function : BiTgte_CurveOnVertex
32//purpose :
33//======================================================================
34
35BiTgte_CurveOnVertex::BiTgte_CurveOnVertex()
36{
37}
38
39
40//=======================================================================
41//function : BiTgte_CurveOnVertex
42//purpose :
43//=======================================================================
44
45BiTgte_CurveOnVertex::BiTgte_CurveOnVertex(const TopoDS_Edge& EonF,
46 const TopoDS_Vertex& V )
47{
48 Init(EonF,V);
49}
50
51
52//=======================================================================
53//function : Init
54//purpose :
55//=======================================================================
56
57void BiTgte_CurveOnVertex::Init(const TopoDS_Edge& EonF,
58 const TopoDS_Vertex& V )
59{
60 BRep_Tool::Range(EonF,myFirst,myLast);
61 myPnt = BRep_Tool::Pnt(V);
62}
63
64
65//=======================================================================
66//function : FirstParameter
67//purpose :
68//=======================================================================
69
70Standard_Real BiTgte_CurveOnVertex::FirstParameter() const
71{
72 return myFirst;
73}
74
75
76//=======================================================================
77//function : LastParameter
78//purpose :
79//=======================================================================
80
81Standard_Real BiTgte_CurveOnVertex::LastParameter() const
82{
83 return myLast;
84}
85
86
87//=======================================================================
88//function :
89//purpose :
90//=======================================================================
91
92GeomAbs_Shape BiTgte_CurveOnVertex::Continuity() const
93{
94 Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
95 return GeomAbs_C0;
96}
97
98
99//=======================================================================
100//function :
101//purpose :
102//=======================================================================
103
104Standard_Integer BiTgte_CurveOnVertex::NbIntervals(const GeomAbs_Shape S) const
105{
106 Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
107 return 0;
108}
109
110
111//=======================================================================
112//function :
113//purpose :
114//=======================================================================
115
116void BiTgte_CurveOnVertex::Intervals(TColStd_Array1OfReal& T,
117 const GeomAbs_Shape S) const
118{
119 Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
120}
121
122
123//=======================================================================
124//function :
125//purpose :
126//=======================================================================
127
128Handle(Adaptor3d_HCurve) BiTgte_CurveOnVertex::Trim(const Standard_Real First,
129 const Standard_Real Last,
130 const Standard_Real Tol)
131const
132{
133 Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
134 Handle(BiTgte_HCurveOnVertex) HC;
135 return HC;
136}
137
138
139//=======================================================================
140//function :
141//purpose :
142//=======================================================================
143
144Standard_Boolean BiTgte_CurveOnVertex::IsClosed() const
145{
146 Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
147 return Standard_False;
148}
149
150
151//=======================================================================
152//function :
153//purpose :
154//=======================================================================
155
156Standard_Boolean BiTgte_CurveOnVertex::IsPeriodic() const
157{
158 Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
159 return Standard_False;
160}
161
162
163//=======================================================================
164//function :
165//purpose :
166//=======================================================================
167
168Standard_Real BiTgte_CurveOnVertex::Period() const
169{
170 Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
171 return 0.;
172}
173
174
175//=======================================================================
176//function :
177//purpose :
178//=======================================================================
179
180gp_Pnt BiTgte_CurveOnVertex::Value(const Standard_Real U) const
181{
182 return myPnt;
183}
184
185
186//=======================================================================
187//function :
188//purpose :
189//=======================================================================
190
191void BiTgte_CurveOnVertex::D0(const Standard_Real U,gp_Pnt& P) const
192{
193 P = myPnt;
194}
195
196
197//=======================================================================
198//function :
199//purpose :
200//=======================================================================
201
202void BiTgte_CurveOnVertex::D1(const Standard_Real U,gp_Pnt& P,gp_Vec& V) const
203{
204 Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
205}
206
207
208//=======================================================================
209//function :
210//purpose :
211//=======================================================================
212
213void BiTgte_CurveOnVertex::D2(const Standard_Real U,gp_Pnt& P,
214 gp_Vec& V1,gp_Vec& V2) const
215{
216 Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
217}
218
219
220//=======================================================================
221//function :
222//purpose :
223//=======================================================================
224
225void BiTgte_CurveOnVertex::D3(const Standard_Real U,gp_Pnt& P,
226 gp_Vec& V1,gp_Vec& V2,gp_Vec& V3) const
227{
228 Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
229}
230
231
232//=======================================================================
233//function :
234//purpose :
235//=======================================================================
236
237gp_Vec BiTgte_CurveOnVertex::DN(const Standard_Real U,
238 const Standard_Integer N) const
239{
240 Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
241 return gp_Vec();
242}
243
244
245//=======================================================================
246//function :
247//purpose :
248//=======================================================================
249
250Standard_Real BiTgte_CurveOnVertex::Resolution(const Standard_Real R3d) const
251{
252 Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
253 return 0.;
254}
255
256
257//=======================================================================
258//function :
259//purpose :
260//=======================================================================
261
262GeomAbs_CurveType BiTgte_CurveOnVertex::GetType() const
263{
264 return GeomAbs_OtherCurve;
265}
266
267
268//=======================================================================
269//function :
270//purpose :
271//=======================================================================
272
273gp_Lin BiTgte_CurveOnVertex::Line() const
274{
275 Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
276 return gp_Lin();
277}
278
279
280//=======================================================================
281//function :
282//purpose :
283//=======================================================================
284
285gp_Circ BiTgte_CurveOnVertex::Circle() const
286{
287 Standard_NoSuchObject::Raise("BiTgte_CurveOnVertex::Circle");
288 return gp_Circ();
289}
290
291
292//=======================================================================
293//function :
294//purpose :
295//=======================================================================
296
297gp_Elips BiTgte_CurveOnVertex::Ellipse() const
298{
299 Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
300 return gp_Elips();
301}
302
303
304//=======================================================================
305//function :
306//purpose :
307//=======================================================================
308
309gp_Hypr BiTgte_CurveOnVertex::Hyperbola() const
310{
311 Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
312 return gp_Hypr();
313}
314
315
316//=======================================================================
317//function :
318//purpose :
319//=======================================================================
320
321gp_Parab BiTgte_CurveOnVertex::Parabola() const
322{
323 Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
324 return gp_Parab();
325}
326
327
328//=======================================================================
329//function :
330//purpose :
331//=======================================================================
332
333Standard_Integer BiTgte_CurveOnVertex::Degree() const
334{
335 Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
336 return 0;
337}
338
339
340//=======================================================================
341//function :
342//purpose :
343//=======================================================================
344
345Standard_Boolean BiTgte_CurveOnVertex::IsRational() const
346{
347 Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
348 return Standard_False;
349}
350
351
352//=======================================================================
353//function :
354//purpose :
355//=======================================================================
356
357Standard_Integer BiTgte_CurveOnVertex::NbPoles() const
358{
359 Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
360 return 0;
361}
362
363
364//=======================================================================
365//function :
366//purpose :
367//=======================================================================
368
369Standard_Integer BiTgte_CurveOnVertex::NbKnots() const
370{
371 Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
372 return 0;
373}
374
375
376//=======================================================================
377//function :
378//purpose :
379//=======================================================================
380
381Handle(Geom_BezierCurve) BiTgte_CurveOnVertex::Bezier() const
382{
383 Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
384 Handle(Geom_BezierCurve) B;
385 return B;
386}
387
388
389//=======================================================================
390//function :
391//purpose :
392//=======================================================================
393
394Handle(Geom_BSplineCurve) BiTgte_CurveOnVertex::BSpline() const
395{
396 Standard_NotImplemented::Raise("BiTgte_CurveOnVertex");
397 Handle(Geom_BSplineCurve) B;
398 return B;
399}
400
401