Integration of OCCT 6.5.0 from SVN
[occt.git] / src / ChFi3d / ChFi3d_Builder_0.hxx
CommitLineData
7fd59977 1// File: ChFi3d_Builder_0.hxx
2// Created: Thu Mar 24 17:23:09 1994
3// Author: Isabelle GRIGNON
4// <isg@zerox>
5
6
7#ifndef ChFi3d_Builder_0_HeaderFile
8#define ChFi3d_Builder_0_HeaderFile
9
10#include <TopOpeBRepDS_SurfaceCurveInterference.hxx>
11#include <TopOpeBRepDS_CurvePointInterference.hxx>
12#include <TopOpeBRepDS_DataStructure.hxx>
13#include <TopOpeBRepDS_Curve.hxx>
14#include <TopOpeBRepDS_Surface.hxx>
15#include <BRepBlend_Extremity.hxx>
16#include <ChFiDS_Stripe.hxx>
17#include <ChFiDS_SurfData.hxx>
18#include <ChFiDS_Spine.hxx>
19#include <ChFiDS_HElSpine.hxx>
20#include <ChFiDS_CommonPoint.hxx>
21#include <ChFiDS_Regularities.hxx>
22#include <ChFiDS_FaceInterference.hxx>
23#include <ChFiDS_Map.hxx>
24#include <TopoDS_Face.hxx>
25#include <TopoDS_Vertex.hxx>
26#include <TopoDS.hxx>
27#include <TopAbs_Orientation.hxx>
28#include <TopTools_ListOfShape.hxx>
29#include <TopTools_ListIteratorOfListOfShape.hxx>
30#include <IntSurf_LineOn2S.hxx>
31#include <IntSurf_TypeTrans.hxx>
32#include <GeomFill_Boundary.hxx>
33#include <GeomFill_BoundWithSurf.hxx>
34#include <GeomFill_SimpleBound.hxx>
35#include <GeomFill_ConstrainedFilling.hxx>
36#include <Geom2d_Curve.hxx>
37#include <Geom_Curve.hxx>
38#include <Geom_TrimmedCurve.hxx>
39#include <Geom_Surface.hxx>
40#include <Geom_BezierCurve.hxx>
41#include <Geom_Circle.hxx>
42#include <GeomAdaptor_Curve.hxx>
43#include <GeomAdaptor_Surface.hxx>
44#include <GeomAdaptor_HSurface.hxx>
45#include <BRepAdaptor_Surface.hxx>
46#include <BRepAdaptor_HSurface.hxx>
47#include <Adaptor3d_HCurve.hxx>
48#include <Adaptor3d_HCurveOnSurface.hxx>
49#include <Adaptor3d_HSurface.hxx>
50#include <Extrema_LocateExtCC.hxx>
51#include <Extrema_POnCurv.hxx>
52#include <Bnd_Box.hxx>
53#include <GeomAbs_Shape.hxx>
54#include <gp_Pnt.hxx>
55#include <gp_Vec.hxx>
56#include <gp_Pnt2d.hxx>
57#include <gp_Vec2d.hxx>
58#include <gp_Dir2d.hxx>
59#include <TColgp_Array1OfPnt.hxx>
60#include <TColgp_Array1OfVec.hxx>
61#include <TColStd_Array1OfReal.hxx>
62#include <TColStd_Array1OfInteger.hxx>
63#include <TopTools_Array1OfShape.hxx>
64#ifdef DEB
65#include <OSD_Chronometer.hxx>
66extern OSD_Chronometer simul,elspine,chemine;
67#endif
68
69Standard_Real ChFi3d_InPeriod(const Standard_Real U,
70 const Standard_Real UFirst,
71 const Standard_Real ULast,
72 const Standard_Real Eps);
73
74void ChFi3d_Boite(const gp_Pnt2d& p1,const gp_Pnt2d& p2,
75 Standard_Real& mu,Standard_Real& Mu,
76 Standard_Real& mv,Standard_Real& Mv);
77
78void ChFi3d_Boite(const gp_Pnt2d& p1,const gp_Pnt2d& p2,
79 const gp_Pnt2d& p3,const gp_Pnt2d& p4,
80 Standard_Real& Du,Standard_Real& Dv,
81 Standard_Real& mu,Standard_Real& Mu,
82 Standard_Real& mv,Standard_Real& Mv);
83
84void ChFi3d_SetPointTolerance(TopOpeBRepDS_DataStructure& DStr,
85 const Bnd_Box& box,
86 const Standard_Integer IP);
87
88void ChFi3d_EnlargeBox(const Handle(Geom_Curve)& C,
89 const Standard_Real wd,
90 const Standard_Real wf,
91 Bnd_Box& box1,
92 Bnd_Box& box2);
93
94void ChFi3d_EnlargeBox(const Handle(Adaptor3d_HSurface)& S,
95 const Handle(Geom2d_Curve)& PC,
96 const Standard_Real wd,
97 const Standard_Real wf,
98 Bnd_Box& box1,
99 Bnd_Box& box2);
100
101void ChFi3d_EnlargeBox(const TopoDS_Edge& E,
102 const TopTools_ListOfShape& LF,
103 const Standard_Real w,
104 Bnd_Box& box);
105
106void ChFi3d_EnlargeBox(TopOpeBRepDS_DataStructure& DStr,
107 const Handle(ChFiDS_Stripe)& st,
108 const Handle(ChFiDS_SurfData)& sd,
109 Bnd_Box& b1,
110 Bnd_Box& b2,
111 const Standard_Boolean isfirst);
112
113GeomAbs_Shape ChFi3d_evalconti(const TopoDS_Edge& E,
114 const TopoDS_Face& F1,
115 const TopoDS_Face& F2);
116
117void ChFi3d_conexfaces(const TopoDS_Edge& E,
118 TopoDS_Face& F1,
119 TopoDS_Face& F2,
120 const ChFiDS_Map& EFMap);
121
122ChFiDS_State ChFi3d_EdgeState(TopoDS_Edge* E,
123 const ChFiDS_Map& EFMap);
124
125Standard_Boolean ChFi3d_KParticular
126(const Handle(ChFiDS_Spine)& Spine,
127 const Standard_Integer IE,
128 const BRepAdaptor_Surface& S1,
129 const BRepAdaptor_Surface& S2);
130
131void ChFi3d_BoundFac(BRepAdaptor_Surface& S,
132 const Standard_Real umin,
133 const Standard_Real umax,
134 const Standard_Real vmin,
135 const Standard_Real vmax,
136 const Standard_Boolean checknaturalbounds = Standard_True);
137
138void ChFi3d_BoundSrf(GeomAdaptor_Surface& S,
139 const Standard_Real umin,
140 const Standard_Real umax,
141 const Standard_Real vmin,
142 const Standard_Real vmax,
143 const Standard_Boolean checknaturalbounds = Standard_True);
144
145Standard_Boolean ChFi3d_InterPlaneEdge (Handle(Adaptor3d_HSurface)& Plan,
146 Handle(Adaptor3d_HCurve)& C,
147 Standard_Real& W,
148 const Standard_Boolean Sens,
149 const Standard_Real tolc);
150
151void ChFi3d_ExtrSpineCarac(const TopOpeBRepDS_DataStructure& DStr,
152 const Handle(ChFiDS_Stripe)& cd,
153 const Standard_Integer i,
154 const Standard_Real p,
155 const Standard_Integer jf,
156 const Standard_Integer sens,
157 gp_Pnt& P,
158 gp_Vec& V,
159 Standard_Real& R);
160
161Handle(Geom_Circle) ChFi3d_CircularSpine(Standard_Real& WFirst,
162 Standard_Real& WLast,
163 const gp_Pnt& Pdeb,
164 const gp_Vec& Vdeb,
165 const gp_Pnt& Pfin,
166 const gp_Vec& Vfin,
167 const Standard_Real rad);
168
169Handle(Geom_BezierCurve) ChFi3d_Spine(const gp_Pnt& pd,
170 gp_Vec& vd,
171 const gp_Pnt& pf,
172 gp_Vec& vf,
173 const Standard_Real R);
174
175Handle(GeomFill_Boundary) ChFi3d_mkbound
176(const Handle(Adaptor3d_HSurface)& Fac,
177 Handle(Geom2d_Curve)& curv,
178 const Standard_Integer sens1,
179 const gp_Pnt2d& pfac1,
180 const gp_Vec2d& vfac1,
181 const Standard_Integer sens2,
182 const gp_Pnt2d& pfac2,
183 const gp_Vec2d& vfac2,
184 const Standard_Real t3d,
185 const Standard_Real ta);
186
187Handle(GeomFill_Boundary) ChFi3d_mkbound
188(const Handle(Adaptor3d_HSurface)& Surf,
189 Handle(Geom2d_Curve)& curv,
190 const Standard_Integer sens1,
191 const gp_Pnt2d& p1,
192 gp_Vec& v1,
193 const Standard_Integer sens2,
194 const gp_Pnt2d& p2,
195 gp_Vec& v2,
196 const Standard_Real t3d,
197 const Standard_Real ta);
198
199Handle(GeomFill_Boundary) ChFi3d_mkbound
200(const Handle(Geom_Surface)& s,
201 const gp_Pnt2d& p1,
202 const gp_Pnt2d& p2,
203 const Standard_Real t3d,
204 const Standard_Real ta,
205 const Standard_Boolean isfreeboundary = Standard_False);
206
207Handle(GeomFill_Boundary) ChFi3d_mkbound
208(const Handle(Adaptor3d_HSurface)& HS,
209 const gp_Pnt2d& p1,
210 const gp_Pnt2d& p2,
211 const Standard_Real t3d,
212 const Standard_Real ta,
213 const Standard_Boolean isfreeboundary = Standard_False);
214
215Handle(GeomFill_Boundary) ChFi3d_mkbound
216(const Handle(Adaptor3d_HSurface)& HS,
217 const Handle(Geom2d_Curve)& curv,
218 const Standard_Real t3d,
219 const Standard_Real ta,
220 const Standard_Boolean isfreeboundary = Standard_False);
221
222Handle(GeomFill_Boundary) ChFi3d_mkbound
223(const Handle(Adaptor3d_HSurface)& Fac,
224 Handle(Geom2d_Curve)& curv,
225 const gp_Pnt2d& p1,
226 const gp_Pnt2d& p2,
227 const Standard_Real t3d,
228 const Standard_Real ta,
229 const Standard_Boolean isfreeboundary = Standard_False);
230
231void ChFi3d_Coefficient(const gp_Vec& V3d,
232 const gp_Vec& D1u,
233 const gp_Vec& D1v,
234 Standard_Real& DU,
235 Standard_Real& DV);
236
237Handle(Geom2d_Curve) ChFi3d_BuildPCurve
238(const gp_Pnt2d& p1,
239 gp_Dir2d& d1,
240 const gp_Pnt2d& p2,
241 gp_Dir2d& d2,
242 const Standard_Boolean redresse = Standard_True);
243
244Handle(Geom2d_Curve) ChFi3d_BuildPCurve
245(const Handle(Adaptor3d_HSurface)& Surf,
246 const gp_Pnt2d& p1,
247 const gp_Vec& v1,
248 const gp_Pnt2d& p2,
249 const gp_Vec& v2,
250 const Standard_Boolean redresse = Standard_False);
251
252Handle(Geom2d_Curve) ChFi3d_BuildPCurve
253(const Handle(Adaptor3d_HSurface)& Surf,
254 const gp_Pnt2d& p1,
255 const gp_Vec2d& v1,
256 const gp_Pnt2d& p2,
257 const gp_Vec2d& v2,
258 const Standard_Boolean redresse = Standard_False);
259
260Standard_Boolean ChFi3d_CheckSameParameter
261(const Handle(Adaptor3d_HCurve)& C3d,
262 Handle(Geom2d_Curve)& Pcurv,
263 const Handle(Adaptor3d_HSurface)& S,
264 const Standard_Real tol3d,
265 Standard_Real& tolreached);
266
267Standard_Boolean ChFi3d_SameParameter(const Handle(Adaptor3d_HCurve)& C3d,
268 Handle(Geom2d_Curve)& Pcurv,
269 const Handle(Adaptor3d_HSurface)& S,
270 const Standard_Real tol3d,
271 Standard_Real& tolreached);
272
273Standard_Boolean ChFi3d_SameParameter(const Handle(Geom_Curve)& C3d,
274 Handle(Geom2d_Curve)& Pcurv,
275 const Handle(Geom_Surface)& S,
276 const Standard_Real Pardeb,
277 const Standard_Real Parfin,
278 const Standard_Real tol3d,
279 Standard_Real& tolreached);
280
281void ChFi3d_ComputePCurv(const Handle(Geom_Curve)& C3d,
282 const gp_Pnt2d& UV1,
283 const gp_Pnt2d& UV2,
284 Handle(Geom2d_Curve)& Pcurv,
285 const Handle(Geom_Surface)& S,
286 const Standard_Real Pardeb,
287 const Standard_Real Parfin,
288 const Standard_Real tol3d,
289 Standard_Real& tolreached,
290 const Standard_Boolean reverse = Standard_False);
291
292void ChFi3d_ComputePCurv(const Handle(Adaptor3d_HCurve)& C3d,
293 const gp_Pnt2d& UV1,
294 const gp_Pnt2d& UV2,
295 Handle(Geom2d_Curve)& Pcurv,
296 const Handle(Adaptor3d_HSurface)& S,
297 const Standard_Real Pardeb,
298 const Standard_Real Parfin,
299 const Standard_Real tol3d,
300 Standard_Real& tolreached,
301 const Standard_Boolean reverse = Standard_False);
302
303void ChFi3d_ComputePCurv(const gp_Pnt2d& UV1,
304 const gp_Pnt2d& UV2,
305 Handle(Geom2d_Curve)& Pcurv,
306 const Standard_Real Pardeb,
307 const Standard_Real Parfin,
308 const Standard_Boolean reverse = Standard_False);
309
310Standard_Boolean ChFi3d_IntTraces(const Handle(ChFiDS_SurfData)& fd1,
311 const Standard_Real pref1,
312 Standard_Real& p1,
313 const Standard_Integer jf1,
314 const Standard_Integer sens1,
315 const Handle(ChFiDS_SurfData)& fd2,
316 const Standard_Real pref2,
317 Standard_Real& p2,
318 const Standard_Integer jf2,
319 const Standard_Integer sens2,
320 const gp_Pnt2d& RefP2d,
321 const Standard_Boolean Check2dDistance = Standard_False,
322 const Standard_Boolean enlarge = Standard_False);
323
324Standard_Boolean ChFi3d_IsInFront(TopOpeBRepDS_DataStructure& DStr,
325 const Handle(ChFiDS_Stripe)& cd1,
326 const Handle(ChFiDS_Stripe)& cd2,
327 const Standard_Integer i1,
328 const Standard_Integer i2,
329 const Standard_Integer sens1,
330 const Standard_Integer sens2,
331 Standard_Real& p1,
332 Standard_Real& p2,
333 TopoDS_Face& face,
334 Standard_Boolean& sameside,
335 Standard_Integer& jf1,
336 Standard_Integer& jf2,
337 Standard_Boolean& visavis,
338 const TopoDS_Vertex& Vtx,
339 const Standard_Boolean Check2dDistance = Standard_False,
340 const Standard_Boolean enlarge = Standard_False);
341
342void ChFi3d_ProjectPCurv(const Handle(Adaptor3d_HCurve)& HCg,
343 const Handle(Adaptor3d_HSurface)& HSg,
344 Handle(Geom2d_Curve)& Pcurv,
345 const Standard_Real tol3d,
346 Standard_Real& tolreached) ;
347
348void ChFi3d_ReparamPcurv(const Standard_Real Uf,
349 const Standard_Real Ul,
350 Handle(Geom2d_Curve)& Pcurv) ;
351
352void ChFi3d_ComputeArete(const ChFiDS_CommonPoint& P1,
353 const gp_Pnt2d& UV1,
354 const ChFiDS_CommonPoint& P2,
355 const gp_Pnt2d& UV2,
356 const Handle(Geom_Surface)& Surf,
357 Handle(Geom_Curve)& C3d,
358 Handle(Geom2d_Curve)& Pcurv,
359 Standard_Real& Pardeb,
360 Standard_Real& Parfin,
361 const Standard_Real tol3d,
362 const Standard_Real tol2d,
363 Standard_Real& tolreached,
364 const Standard_Integer IFlag);
365
366Handle(TopOpeBRepDS_SurfaceCurveInterference)
367 ChFi3d_FilCurveInDS(const Standard_Integer Icurv,
368 const Standard_Integer Isurf,
369 const Handle(Geom2d_Curve)& Pcurv,
370 const TopAbs_Orientation Et);
371
372TopAbs_Orientation ChFi3d_TrsfTrans(const IntSurf_TypeTrans T1);
373
374Standard_EXPORT void ChFi3d_FilCommonPoint(const BRepBlend_Extremity& SP,
375 const IntSurf_TypeTrans TransLine,
376 const Standard_Boolean Start,
377 ChFiDS_CommonPoint& CP,
378 const Standard_Real Tol);
379
380
381Standard_Integer ChFi3d_SolidIndex(const Handle(ChFiDS_Spine)& sp,
382 TopOpeBRepDS_DataStructure& DStr,
383 ChFiDS_Map& MapESo,
384 ChFiDS_Map& MapESh);
385
386Standard_Integer ChFi3d_IndexPointInDS(const ChFiDS_CommonPoint& P1,
387 TopOpeBRepDS_DataStructure& DStr);
388
389Handle(TopOpeBRepDS_CurvePointInterference) ChFi3d_FilPointInDS
390(const TopAbs_Orientation Et,
391 const Standard_Integer Ic,
392 const Standard_Integer Ip,
393 const Standard_Real Par,
394 const Standard_Boolean IsVertex = Standard_False);
395
396Handle(TopOpeBRepDS_CurvePointInterference) ChFi3d_FilVertexInDS
397(const TopAbs_Orientation Et,
398 const Standard_Integer Ic,
399 const Standard_Integer Ip,
400 const Standard_Real Par);
401
402void ChFi3d_FilDS(const Standard_Integer SolidIndex,
403 const Handle(ChFiDS_Stripe)& CorDat,
404 TopOpeBRepDS_DataStructure& DStr,
405 ChFiDS_Regularities& reglist,
406 const Standard_Real tol3d,
407 const Standard_Real tol2d);
408
409
410void ChFi3d_StripeEdgeInter (const Handle(ChFiDS_Stripe)& theStripe1,
411 const Handle(ChFiDS_Stripe)& theStripe2,
412 TopOpeBRepDS_DataStructure& DStr,
413 const Standard_Real tol2d);
414
415Standard_Integer ChFi3d_IndexOfSurfData(const TopoDS_Vertex& V1,
416 const Handle(ChFiDS_Stripe)& CD,
417 Standard_Integer& sens);
418
419TopoDS_Edge ChFi3d_EdgeFromV1(const TopoDS_Vertex& V1,
420 const Handle(ChFiDS_Stripe)& CD,
421 Standard_Integer& sens);
422
423Standard_Real ChFi3d_ConvTol2dToTol3d(const Handle(Adaptor3d_HSurface)& S,
424 const Standard_Real tol2d);
425
426Standard_Boolean ChFi3d_ComputeCurves(Handle(Adaptor3d_HSurface)& S1,
427 Handle(Adaptor3d_HSurface)& S2,
428 const TColStd_Array1OfReal& Pardeb,
429 const TColStd_Array1OfReal& Parfin,
430 Handle(Geom_Curve)& C3d,
431 Handle(Geom2d_Curve)& Pc1,
432 Handle(Geom2d_Curve)& Pc2,
433 const Standard_Real tol3d,
434 const Standard_Real tol2d,
435 Standard_Real& tolreached,
436 const Standard_Boolean wholeCurv
437 = Standard_True);
438
439Standard_Boolean ChFi3d_IntCS(Handle(Adaptor3d_HSurface)& S,
440 Handle(Adaptor3d_HCurve)& C,
441 gp_Pnt2d& p2dS,
442 Standard_Real& wc);
443
444void ChFi3d_ComputesIntPC (const ChFiDS_FaceInterference& Fi1,
445 const ChFiDS_FaceInterference& Fi2,
446 const Handle(GeomAdaptor_HSurface)& HS1,
447 const Handle(GeomAdaptor_HSurface)& HS2,
448 Standard_Real& UInt1,
449 Standard_Real& UInt2);
450
451void ChFi3d_ComputesIntPC (const ChFiDS_FaceInterference& Fi1,
452 const ChFiDS_FaceInterference& Fi2,
453 const Handle(GeomAdaptor_HSurface)& HS1,
454 const Handle(GeomAdaptor_HSurface)& HS2,
455 Standard_Real& UInt1,
456 Standard_Real& UInt2,
457 gp_Pnt& P);
458
459Handle(GeomAdaptor_HSurface) ChFi3d_BoundSurf(TopOpeBRepDS_DataStructure& DStr,
460 const Handle(ChFiDS_SurfData)& Fd1,
461 const Standard_Integer& IFaCo1,
462 const Standard_Integer& IFaArc1);
463
464Standard_Integer ChFi3d_SearchPivot(Standard_Integer* s,
465 Standard_Real u[3][3],
466 const Standard_Real t);
467
468Standard_Boolean ChFi3d_SearchFD(TopOpeBRepDS_DataStructure& DStr,
469 const Handle(ChFiDS_Stripe)& cd1,
470 const Handle(ChFiDS_Stripe)& cd2,
471 const Standard_Integer sens1,
472 const Standard_Integer sens2,
473 Standard_Integer& i1,
474 Standard_Integer& i2,
475 Standard_Real& p1,
476 Standard_Real& p2,
477 const Standard_Integer ind1,
478 const Standard_Integer ind2,
479 TopoDS_Face& face,
480 Standard_Boolean& sameside,
481 Standard_Integer& jf1,
482 Standard_Integer& jf2);
483
484
485void ChFi3d_Parameters(const Handle(Geom_Surface)& S,
486 const gp_Pnt& p3d,
487 Standard_Real& u,
488 Standard_Real& v);
489
490void ChFi3d_TrimCurve(const Handle(Geom_Curve)& gc,
491 const gp_Pnt& FirstP,
492 const gp_Pnt& LastP,
493 Handle(Geom_TrimmedCurve)& gtc);
494
495Standard_EXPORT void ChFi3d_PerformElSpine(Handle(ChFiDS_HElSpine)& HES,
496 Handle(ChFiDS_Spine)& Spine,
497 const GeomAbs_Shape continuity,
498 const Standard_Real tol);
499
500TopoDS_Face ChFi3d_EnlargeFace(const Handle(ChFiDS_Spine)& Spine,
501 const Handle(BRepAdaptor_HSurface)& HS,
502 const Standard_Real Tol );
503
504
505void ChFi3d_cherche_face1 (const TopTools_ListOfShape & map,
506 const TopoDS_Face & F1,
507 TopoDS_Face & F);
508
509void ChFi3d_cherche_element( const TopoDS_Vertex & V,
510 const TopoDS_Edge & E1,
511 const TopoDS_Face & F1,
512 TopoDS_Edge & E ,
513 TopoDS_Vertex & Vtx );
514
515Standard_Real ChFi3d_EvalTolReached(const Handle(Adaptor3d_HSurface)& S1,
516 const Handle(Geom2d_Curve)& pc1,
517 const Handle(Adaptor3d_HSurface)& S2,
518 const Handle(Geom2d_Curve)& pc2,
519 const Handle(Geom_Curve)& C);
520
521void ChFi3d_cherche_edge( const TopoDS_Vertex & V,
522 const TopTools_Array1OfShape & E1,
523 const TopoDS_Face & F1,
524 TopoDS_Edge & E ,
525 TopoDS_Vertex & Vtx );
526
527Standard_Integer ChFi3d_nbface (const TopTools_ListOfShape & mapVF );
528
529void ChFi3d_edge_common_faces (const TopTools_ListOfShape & mapEF,
530 TopoDS_Face & F1,
531 TopoDS_Face & F2);
532
533
534Standard_Real ChFi3d_AngleEdge (const TopoDS_Vertex & Vtx,
535 const TopoDS_Edge& E1,
536 const TopoDS_Edge & E2);
537
538void ChFi3d_ChercheBordsLibres(const ChFiDS_Map & myVEMap,
539 const TopoDS_Vertex & V1,
540 Standard_Boolean & bordlibre,
541 TopoDS_Edge & edgelibre1,
542 TopoDS_Edge & edgelibre2);
543
544Standard_Integer ChFi3d_NbNotDegeneratedEdges (const TopoDS_Vertex& Vtx,
545 const ChFiDS_Map& VEMap);
546Standard_Integer ChFi3d_NumberOfEdges(const TopoDS_Vertex& Vtx,
547 const ChFiDS_Map& VEMap);
548
549void ChFi3d_cherche_vertex (const TopoDS_Edge & E1,
550 const TopoDS_Edge & E2,
551 TopoDS_Vertex & vertex,
552 Standard_Boolean & trouve);
553
554void ChFi3d_Couture( const TopoDS_Face & F,
555 Standard_Boolean & couture,
556 TopoDS_Edge & edgecouture);
557
558void ChFi3d_CoutureOnVertex( const TopoDS_Face & F,
559 const TopoDS_Vertex & V,
560 Standard_Boolean & couture,
561 TopoDS_Edge & edgecouture);
562
563Standard_Boolean ChFi3d_IsPseudoSeam( const TopoDS_Edge& E,
564 const TopoDS_Face& F );
565
566Handle(Geom_BSplineCurve) ChFi3d_ApproxByC2( const Handle(Geom_Curve)& C );
567
568Standard_Boolean ChFi3d_IsSmooth( const Handle(Geom_Curve)& C );
569
570#endif