File indexing completed on 2025-01-18 10:03:21
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef ChFi3d_Builder_0_HeaderFile
0018 #define ChFi3d_Builder_0_HeaderFile
0019
0020 #include <TopOpeBRepDS_SurfaceCurveInterference.hxx>
0021 #include <TopOpeBRepDS_CurvePointInterference.hxx>
0022 #include <TopOpeBRepDS_DataStructure.hxx>
0023 #include <BRepBlend_Extremity.hxx>
0024 #include <ChFiDS_Stripe.hxx>
0025 #include <ChFiDS_SurfData.hxx>
0026 #include <ChFiDS_Spine.hxx>
0027 #include <ChFiDS_ElSpine.hxx>
0028 #include <ChFiDS_CommonPoint.hxx>
0029 #include <ChFiDS_Regularities.hxx>
0030 #include <ChFiDS_FaceInterference.hxx>
0031 #include <ChFiDS_Map.hxx>
0032 #include <TopoDS_Face.hxx>
0033 #include <TopoDS_Vertex.hxx>
0034 #include <TopAbs_Orientation.hxx>
0035 #include <TopTools_ListOfShape.hxx>
0036 #include <IntSurf_TypeTrans.hxx>
0037 #include <GeomFill_BoundWithSurf.hxx>
0038 #include <Geom2d_Curve.hxx>
0039 #include <Geom_Curve.hxx>
0040 #include <Geom_TrimmedCurve.hxx>
0041 #include <Geom_Surface.hxx>
0042 #include <Geom_BezierCurve.hxx>
0043 #include <Geom_Circle.hxx>
0044 #include <GeomAdaptor_Surface.hxx>
0045 #include <BRepAdaptor_Surface.hxx>
0046 #include <Adaptor3d_Curve.hxx>
0047 #include <Adaptor3d_Surface.hxx>
0048 #include <Bnd_Box.hxx>
0049 #include <GeomAbs_Shape.hxx>
0050 #include <gp_Pnt.hxx>
0051 #include <TColStd_Array1OfReal.hxx>
0052 #include <TopTools_Array1OfShape.hxx>
0053 #ifdef OCCT_DEBUG
0054 #include <OSD_Chronometer.hxx>
0055 extern OSD_Chronometer simul,elspine,chemine;
0056 #endif
0057
0058 Standard_Real ChFi3d_InPeriod(const Standard_Real U,
0059 const Standard_Real UFirst,
0060 const Standard_Real ULast,
0061 const Standard_Real Eps);
0062
0063 void ChFi3d_Boite(const gp_Pnt2d& p1,const gp_Pnt2d& p2,
0064 Standard_Real& mu,Standard_Real& Mu,
0065 Standard_Real& mv,Standard_Real& Mv);
0066
0067 void ChFi3d_Boite(const gp_Pnt2d& p1,const gp_Pnt2d& p2,
0068 const gp_Pnt2d& p3,const gp_Pnt2d& p4,
0069 Standard_Real& Du,Standard_Real& Dv,
0070 Standard_Real& mu,Standard_Real& Mu,
0071 Standard_Real& mv,Standard_Real& Mv);
0072
0073 void ChFi3d_SetPointTolerance(TopOpeBRepDS_DataStructure& DStr,
0074 const Bnd_Box& box,
0075 const Standard_Integer IP);
0076
0077 void ChFi3d_EnlargeBox(const Handle(Geom_Curve)& C,
0078 const Standard_Real wd,
0079 const Standard_Real wf,
0080 Bnd_Box& box1,
0081 Bnd_Box& box2);
0082
0083 void ChFi3d_EnlargeBox(const Handle(Adaptor3d_Surface)& S,
0084 const Handle(Geom2d_Curve)& PC,
0085 const Standard_Real wd,
0086 const Standard_Real wf,
0087 Bnd_Box& box1,
0088 Bnd_Box& box2);
0089
0090 void ChFi3d_EnlargeBox(const TopoDS_Edge& E,
0091 const TopTools_ListOfShape& LF,
0092 const Standard_Real w,
0093 Bnd_Box& box);
0094
0095 void ChFi3d_EnlargeBox(TopOpeBRepDS_DataStructure& DStr,
0096 const Handle(ChFiDS_Stripe)& st,
0097 const Handle(ChFiDS_SurfData)& sd,
0098 Bnd_Box& b1,
0099 Bnd_Box& b2,
0100 const Standard_Boolean isfirst);
0101
0102 GeomAbs_Shape ChFi3d_evalconti(const TopoDS_Edge& E,
0103 const TopoDS_Face& F1,
0104 const TopoDS_Face& F2);
0105
0106 void ChFi3d_conexfaces(const TopoDS_Edge& E,
0107 TopoDS_Face& F1,
0108 TopoDS_Face& F2,
0109 const ChFiDS_Map& EFMap);
0110
0111 ChFiDS_State ChFi3d_EdgeState(TopoDS_Edge* E,
0112 const ChFiDS_Map& EFMap);
0113
0114 Standard_Boolean ChFi3d_KParticular
0115 (const Handle(ChFiDS_Spine)& Spine,
0116 const Standard_Integer IE,
0117 const BRepAdaptor_Surface& S1,
0118 const BRepAdaptor_Surface& S2);
0119
0120 void ChFi3d_BoundFac(BRepAdaptor_Surface& S,
0121 const Standard_Real umin,
0122 const Standard_Real umax,
0123 const Standard_Real vmin,
0124 const Standard_Real vmax,
0125 const Standard_Boolean checknaturalbounds = Standard_True);
0126
0127 void ChFi3d_BoundSrf(GeomAdaptor_Surface& S,
0128 const Standard_Real umin,
0129 const Standard_Real umax,
0130 const Standard_Real vmin,
0131 const Standard_Real vmax,
0132 const Standard_Boolean checknaturalbounds = Standard_True);
0133
0134 Standard_Boolean ChFi3d_InterPlaneEdge (const Handle(Adaptor3d_Surface)& Plan,
0135 const Handle(Adaptor3d_Curve)& C,
0136 Standard_Real& W,
0137 const Standard_Boolean Sens,
0138 const Standard_Real tolc);
0139
0140 void ChFi3d_ExtrSpineCarac(const TopOpeBRepDS_DataStructure& DStr,
0141 const Handle(ChFiDS_Stripe)& cd,
0142 const Standard_Integer i,
0143 const Standard_Real p,
0144 const Standard_Integer jf,
0145 const Standard_Integer sens,
0146 gp_Pnt& P,
0147 gp_Vec& V,
0148 Standard_Real& R);
0149
0150 Handle(Geom_Circle) ChFi3d_CircularSpine(Standard_Real& WFirst,
0151 Standard_Real& WLast,
0152 const gp_Pnt& Pdeb,
0153 const gp_Vec& Vdeb,
0154 const gp_Pnt& Pfin,
0155 const gp_Vec& Vfin,
0156 const Standard_Real rad);
0157
0158 Handle(Geom_BezierCurve) ChFi3d_Spine(const gp_Pnt& pd,
0159 gp_Vec& vd,
0160 const gp_Pnt& pf,
0161 gp_Vec& vf,
0162 const Standard_Real R);
0163
0164 Handle(GeomFill_Boundary) ChFi3d_mkbound
0165 (const Handle(Adaptor3d_Surface)& Fac,
0166 Handle(Geom2d_Curve)& curv,
0167 const Standard_Integer sens1,
0168 const gp_Pnt2d& pfac1,
0169 const gp_Vec2d& vfac1,
0170 const Standard_Integer sens2,
0171 const gp_Pnt2d& pfac2,
0172 const gp_Vec2d& vfac2,
0173 const Standard_Real t3d,
0174 const Standard_Real ta);
0175
0176 Handle(GeomFill_Boundary) ChFi3d_mkbound
0177 (const Handle(Adaptor3d_Surface)& Surf,
0178 Handle(Geom2d_Curve)& curv,
0179 const Standard_Integer sens1,
0180 const gp_Pnt2d& p1,
0181 gp_Vec& v1,
0182 const Standard_Integer sens2,
0183 const gp_Pnt2d& p2,
0184 gp_Vec& v2,
0185 const Standard_Real t3d,
0186 const Standard_Real ta);
0187
0188 Handle(GeomFill_Boundary) ChFi3d_mkbound
0189 (const Handle(Geom_Surface)& s,
0190 const gp_Pnt2d& p1,
0191 const gp_Pnt2d& p2,
0192 const Standard_Real t3d,
0193 const Standard_Real ta,
0194 const Standard_Boolean isfreeboundary = Standard_False);
0195
0196 Handle(GeomFill_Boundary) ChFi3d_mkbound
0197 (const Handle(Adaptor3d_Surface)& HS,
0198 const gp_Pnt2d& p1,
0199 const gp_Pnt2d& p2,
0200 const Standard_Real t3d,
0201 const Standard_Real ta,
0202 const Standard_Boolean isfreeboundary = Standard_False);
0203
0204 Handle(GeomFill_Boundary) ChFi3d_mkbound
0205 (const Handle(Adaptor3d_Surface)& HS,
0206 const Handle(Geom2d_Curve)& curv,
0207 const Standard_Real t3d,
0208 const Standard_Real ta,
0209 const Standard_Boolean isfreeboundary = Standard_False);
0210
0211 Handle(GeomFill_Boundary) ChFi3d_mkbound
0212 (const Handle(Adaptor3d_Surface)& Fac,
0213 Handle(Geom2d_Curve)& curv,
0214 const gp_Pnt2d& p1,
0215 const gp_Pnt2d& p2,
0216 const Standard_Real t3d,
0217 const Standard_Real ta,
0218 const Standard_Boolean isfreeboundary = Standard_False);
0219
0220 void ChFi3d_Coefficient(const gp_Vec& V3d,
0221 const gp_Vec& D1u,
0222 const gp_Vec& D1v,
0223 Standard_Real& DU,
0224 Standard_Real& DV);
0225
0226 Handle(Geom2d_Curve) ChFi3d_BuildPCurve
0227 (const gp_Pnt2d& p1,
0228 gp_Dir2d& d1,
0229 const gp_Pnt2d& p2,
0230 gp_Dir2d& d2,
0231 const Standard_Boolean redresse = Standard_True);
0232
0233 Handle(Geom2d_Curve) ChFi3d_BuildPCurve
0234 (const Handle(Adaptor3d_Surface)& Surf,
0235 const gp_Pnt2d& p1,
0236 const gp_Vec& v1,
0237 const gp_Pnt2d& p2,
0238 const gp_Vec& v2,
0239 const Standard_Boolean redresse = Standard_False);
0240
0241 Handle(Geom2d_Curve) ChFi3d_BuildPCurve
0242 (const Handle(Adaptor3d_Surface)& Surf,
0243 const gp_Pnt2d& p1,
0244 const gp_Vec2d& v1,
0245 const gp_Pnt2d& p2,
0246 const gp_Vec2d& v2,
0247 const Standard_Boolean redresse = Standard_False);
0248
0249 Standard_Boolean ChFi3d_CheckSameParameter
0250 (const Handle(Adaptor3d_Curve)& C3d,
0251 Handle(Geom2d_Curve)& Pcurv,
0252 const Handle(Adaptor3d_Surface)& S,
0253 const Standard_Real tol3d,
0254 Standard_Real& tolreached);
0255
0256 Standard_Boolean ChFi3d_SameParameter(const Handle(Adaptor3d_Curve)& C3d,
0257 Handle(Geom2d_Curve)& Pcurv,
0258 const Handle(Adaptor3d_Surface)& S,
0259 const Standard_Real tol3d,
0260 Standard_Real& tolreached);
0261
0262 Standard_Boolean ChFi3d_SameParameter(const Handle(Geom_Curve)& C3d,
0263 Handle(Geom2d_Curve)& Pcurv,
0264 const Handle(Geom_Surface)& S,
0265 const Standard_Real Pardeb,
0266 const Standard_Real Parfin,
0267 const Standard_Real tol3d,
0268 Standard_Real& tolreached);
0269
0270 void ChFi3d_ComputePCurv(const Handle(Geom_Curve)& C3d,
0271 const gp_Pnt2d& UV1,
0272 const gp_Pnt2d& UV2,
0273 Handle(Geom2d_Curve)& Pcurv,
0274 const Handle(Geom_Surface)& S,
0275 const Standard_Real Pardeb,
0276 const Standard_Real Parfin,
0277 const Standard_Real tol3d,
0278 Standard_Real& tolreached,
0279 const Standard_Boolean reverse = Standard_False);
0280
0281 void ChFi3d_ComputePCurv(const Handle(Adaptor3d_Curve)& C3d,
0282 const gp_Pnt2d& UV1,
0283 const gp_Pnt2d& UV2,
0284 Handle(Geom2d_Curve)& Pcurv,
0285 const Handle(Adaptor3d_Surface)& S,
0286 const Standard_Real Pardeb,
0287 const Standard_Real Parfin,
0288 const Standard_Real tol3d,
0289 Standard_Real& tolreached,
0290 const Standard_Boolean reverse = Standard_False);
0291
0292 void ChFi3d_ComputePCurv(const gp_Pnt2d& UV1,
0293 const gp_Pnt2d& UV2,
0294 Handle(Geom2d_Curve)& Pcurv,
0295 const Standard_Real Pardeb,
0296 const Standard_Real Parfin,
0297 const Standard_Boolean reverse = Standard_False);
0298
0299 Standard_Boolean ChFi3d_IntTraces(const Handle(ChFiDS_SurfData)& fd1,
0300 const Standard_Real pref1,
0301 Standard_Real& p1,
0302 const Standard_Integer jf1,
0303 const Standard_Integer sens1,
0304 const Handle(ChFiDS_SurfData)& fd2,
0305 const Standard_Real pref2,
0306 Standard_Real& p2,
0307 const Standard_Integer jf2,
0308 const Standard_Integer sens2,
0309 const gp_Pnt2d& RefP2d,
0310 const Standard_Boolean Check2dDistance = Standard_False,
0311 const Standard_Boolean enlarge = Standard_False);
0312
0313 Standard_Boolean ChFi3d_IsInFront(TopOpeBRepDS_DataStructure& DStr,
0314 const Handle(ChFiDS_Stripe)& cd1,
0315 const Handle(ChFiDS_Stripe)& cd2,
0316 const Standard_Integer i1,
0317 const Standard_Integer i2,
0318 const Standard_Integer sens1,
0319 const Standard_Integer sens2,
0320 Standard_Real& p1,
0321 Standard_Real& p2,
0322 TopoDS_Face& face,
0323 Standard_Boolean& sameside,
0324 Standard_Integer& jf1,
0325 Standard_Integer& jf2,
0326 Standard_Boolean& visavis,
0327 const TopoDS_Vertex& Vtx,
0328 const Standard_Boolean Check2dDistance = Standard_False,
0329 const Standard_Boolean enlarge = Standard_False);
0330
0331 void ChFi3d_ProjectPCurv(const Handle(Adaptor3d_Curve)& HCg,
0332 const Handle(Adaptor3d_Surface)& HSg,
0333 Handle(Geom2d_Curve)& Pcurv,
0334 const Standard_Real tol3d,
0335 Standard_Real& tolreached) ;
0336
0337 void ChFi3d_ReparamPcurv(const Standard_Real Uf,
0338 const Standard_Real Ul,
0339 Handle(Geom2d_Curve)& Pcurv) ;
0340
0341 void ChFi3d_ComputeArete(const ChFiDS_CommonPoint& P1,
0342 const gp_Pnt2d& UV1,
0343 const ChFiDS_CommonPoint& P2,
0344 const gp_Pnt2d& UV2,
0345 const Handle(Geom_Surface)& Surf,
0346 Handle(Geom_Curve)& C3d,
0347 Handle(Geom2d_Curve)& Pcurv,
0348 Standard_Real& Pardeb,
0349 Standard_Real& Parfin,
0350 const Standard_Real tol3d,
0351 const Standard_Real tol2d,
0352 Standard_Real& tolreached,
0353 const Standard_Integer IFlag);
0354
0355 Handle(TopOpeBRepDS_SurfaceCurveInterference)
0356 ChFi3d_FilCurveInDS(const Standard_Integer Icurv,
0357 const Standard_Integer Isurf,
0358 const Handle(Geom2d_Curve)& Pcurv,
0359 const TopAbs_Orientation Et);
0360
0361 TopAbs_Orientation ChFi3d_TrsfTrans(const IntSurf_TypeTrans T1);
0362
0363 Standard_EXPORT void ChFi3d_FilCommonPoint(const BRepBlend_Extremity& SP,
0364 const IntSurf_TypeTrans TransLine,
0365 const Standard_Boolean Start,
0366 ChFiDS_CommonPoint& CP,
0367 const Standard_Real Tol);
0368
0369
0370 Standard_Integer ChFi3d_SolidIndex(const Handle(ChFiDS_Spine)& sp,
0371 TopOpeBRepDS_DataStructure& DStr,
0372 ChFiDS_Map& MapESo,
0373 ChFiDS_Map& MapESh);
0374
0375 Standard_Integer ChFi3d_IndexPointInDS(const ChFiDS_CommonPoint& P1,
0376 TopOpeBRepDS_DataStructure& DStr);
0377
0378 Handle(TopOpeBRepDS_CurvePointInterference) ChFi3d_FilPointInDS
0379 (const TopAbs_Orientation Et,
0380 const Standard_Integer Ic,
0381 const Standard_Integer Ip,
0382 const Standard_Real Par,
0383 const Standard_Boolean IsVertex = Standard_False);
0384
0385 Handle(TopOpeBRepDS_CurvePointInterference) ChFi3d_FilVertexInDS
0386 (const TopAbs_Orientation Et,
0387 const Standard_Integer Ic,
0388 const Standard_Integer Ip,
0389 const Standard_Real Par);
0390
0391 void ChFi3d_FilDS(const Standard_Integer SolidIndex,
0392 const Handle(ChFiDS_Stripe)& CorDat,
0393 TopOpeBRepDS_DataStructure& DStr,
0394 ChFiDS_Regularities& reglist,
0395 const Standard_Real tol3d,
0396 const Standard_Real tol2d);
0397
0398
0399 void ChFi3d_StripeEdgeInter (const Handle(ChFiDS_Stripe)& theStripe1,
0400 const Handle(ChFiDS_Stripe)& theStripe2,
0401 TopOpeBRepDS_DataStructure& DStr,
0402 const Standard_Real tol2d);
0403
0404 Standard_Integer ChFi3d_IndexOfSurfData(const TopoDS_Vertex& V1,
0405 const Handle(ChFiDS_Stripe)& CD,
0406 Standard_Integer& sens);
0407
0408 TopoDS_Edge ChFi3d_EdgeFromV1(const TopoDS_Vertex& V1,
0409 const Handle(ChFiDS_Stripe)& CD,
0410 Standard_Integer& sens);
0411
0412 Standard_Real ChFi3d_ConvTol2dToTol3d(const Handle(Adaptor3d_Surface)& S,
0413 const Standard_Real tol2d);
0414
0415 Standard_Boolean ChFi3d_ComputeCurves(const Handle(Adaptor3d_Surface)& S1,
0416 const Handle(Adaptor3d_Surface)& S2,
0417 const TColStd_Array1OfReal& Pardeb,
0418 const TColStd_Array1OfReal& Parfin,
0419 Handle(Geom_Curve)& C3d,
0420 Handle(Geom2d_Curve)& Pc1,
0421 Handle(Geom2d_Curve)& Pc2,
0422 const Standard_Real tol3d,
0423 const Standard_Real tol2d,
0424 Standard_Real& tolreached,
0425 const Standard_Boolean wholeCurv
0426 = Standard_True);
0427
0428 Standard_Boolean ChFi3d_IntCS(const Handle(Adaptor3d_Surface)& S,
0429 const Handle(Adaptor3d_Curve)& C,
0430 gp_Pnt2d& p2dS,
0431 Standard_Real& wc);
0432
0433 void ChFi3d_ComputesIntPC (const ChFiDS_FaceInterference& Fi1,
0434 const ChFiDS_FaceInterference& Fi2,
0435 const Handle(GeomAdaptor_Surface)& HS1,
0436 const Handle(GeomAdaptor_Surface)& HS2,
0437 Standard_Real& UInt1,
0438 Standard_Real& UInt2);
0439
0440 void ChFi3d_ComputesIntPC (const ChFiDS_FaceInterference& Fi1,
0441 const ChFiDS_FaceInterference& Fi2,
0442 const Handle(GeomAdaptor_Surface)& HS1,
0443 const Handle(GeomAdaptor_Surface)& HS2,
0444 Standard_Real& UInt1,
0445 Standard_Real& UInt2,
0446 gp_Pnt& P);
0447
0448 Handle(GeomAdaptor_Surface) ChFi3d_BoundSurf(TopOpeBRepDS_DataStructure& DStr,
0449 const Handle(ChFiDS_SurfData)& Fd1,
0450 const Standard_Integer& IFaCo1,
0451 const Standard_Integer& IFaArc1);
0452
0453 Standard_Integer ChFi3d_SearchPivot(Standard_Integer* s,
0454 Standard_Real u[3][3],
0455 const Standard_Real t);
0456
0457 Standard_Boolean ChFi3d_SearchFD(TopOpeBRepDS_DataStructure& DStr,
0458 const Handle(ChFiDS_Stripe)& cd1,
0459 const Handle(ChFiDS_Stripe)& cd2,
0460 const Standard_Integer sens1,
0461 const Standard_Integer sens2,
0462 Standard_Integer& i1,
0463 Standard_Integer& i2,
0464 Standard_Real& p1,
0465 Standard_Real& p2,
0466 const Standard_Integer ind1,
0467 const Standard_Integer ind2,
0468 TopoDS_Face& face,
0469 Standard_Boolean& sameside,
0470 Standard_Integer& jf1,
0471 Standard_Integer& jf2);
0472
0473
0474 void ChFi3d_Parameters(const Handle(Geom_Surface)& S,
0475 const gp_Pnt& p3d,
0476 Standard_Real& u,
0477 Standard_Real& v);
0478
0479 void ChFi3d_TrimCurve(const Handle(Geom_Curve)& gc,
0480 const gp_Pnt& FirstP,
0481 const gp_Pnt& LastP,
0482 Handle(Geom_TrimmedCurve)& gtc);
0483
0484 Standard_EXPORT void ChFi3d_PerformElSpine(Handle(ChFiDS_ElSpine)& HES,
0485 Handle(ChFiDS_Spine)& Spine,
0486 const GeomAbs_Shape continuity,
0487 const Standard_Real tol,
0488 const Standard_Boolean IsOffset = Standard_False);
0489
0490 TopoDS_Face ChFi3d_EnlargeFace(const Handle(ChFiDS_Spine)& Spine,
0491 const Handle(BRepAdaptor_Surface)& HS,
0492 const Standard_Real Tol );
0493
0494
0495 void ChFi3d_cherche_face1 (const TopTools_ListOfShape & map,
0496 const TopoDS_Face & F1,
0497 TopoDS_Face & F);
0498
0499 void ChFi3d_cherche_element( const TopoDS_Vertex & V,
0500 const TopoDS_Edge & E1,
0501 const TopoDS_Face & F1,
0502 TopoDS_Edge & E ,
0503 TopoDS_Vertex & Vtx );
0504
0505 Standard_Real ChFi3d_EvalTolReached(const Handle(Adaptor3d_Surface)& S1,
0506 const Handle(Geom2d_Curve)& pc1,
0507 const Handle(Adaptor3d_Surface)& S2,
0508 const Handle(Geom2d_Curve)& pc2,
0509 const Handle(Geom_Curve)& C);
0510
0511 void ChFi3d_cherche_edge( const TopoDS_Vertex & V,
0512 const TopTools_Array1OfShape & E1,
0513 const TopoDS_Face & F1,
0514 TopoDS_Edge & E ,
0515 TopoDS_Vertex & Vtx );
0516
0517 Standard_Integer ChFi3d_nbface (const TopTools_ListOfShape & mapVF );
0518
0519 void ChFi3d_edge_common_faces (const TopTools_ListOfShape & mapEF,
0520 TopoDS_Face & F1,
0521 TopoDS_Face & F2);
0522
0523
0524 Standard_Real ChFi3d_AngleEdge (const TopoDS_Vertex & Vtx,
0525 const TopoDS_Edge& E1,
0526 const TopoDS_Edge & E2);
0527
0528 void ChFi3d_ChercheBordsLibres(const ChFiDS_Map & myVEMap,
0529 const TopoDS_Vertex & V1,
0530 Standard_Boolean & bordlibre,
0531 TopoDS_Edge & edgelibre1,
0532 TopoDS_Edge & edgelibre2);
0533
0534 Standard_Integer ChFi3d_NbNotDegeneratedEdges (const TopoDS_Vertex& Vtx,
0535 const ChFiDS_Map& VEMap);
0536 Standard_Integer ChFi3d_NumberOfEdges(const TopoDS_Vertex& Vtx,
0537 const ChFiDS_Map& VEMap);
0538
0539 Standard_Integer ChFi3d_NumberOfSharpEdges(const TopoDS_Vertex& Vtx,
0540 const ChFiDS_Map& VEMap,
0541 const ChFiDS_Map& EFmap);
0542
0543 void ChFi3d_cherche_vertex (const TopoDS_Edge & E1,
0544 const TopoDS_Edge & E2,
0545 TopoDS_Vertex & vertex,
0546 Standard_Boolean & trouve);
0547
0548 void ChFi3d_Couture( const TopoDS_Face & F,
0549 Standard_Boolean & couture,
0550 TopoDS_Edge & edgecouture);
0551
0552 void ChFi3d_CoutureOnVertex( const TopoDS_Face & F,
0553 const TopoDS_Vertex & V,
0554 Standard_Boolean & couture,
0555 TopoDS_Edge & edgecouture);
0556
0557 Standard_Boolean ChFi3d_IsPseudoSeam( const TopoDS_Edge& E,
0558 const TopoDS_Face& F );
0559
0560 Handle(Geom_BSplineCurve) ChFi3d_ApproxByC2( const Handle(Geom_Curve)& C );
0561
0562 Standard_Boolean ChFi3d_IsSmooth( const Handle(Geom_Curve)& C );
0563
0564 #endif