| 332 | return 1; |
| 333 | } |
| 334 | int Mesh::extractEdgeFromFace(const TopoDS_Face& face, const occHandle(Poly_Triangulation)& triangulation, const std::vector<uint32_t>& translationMap) |
| 335 | { |
| 336 | TopExp_Explorer ex0, ex1; |
| 337 | |
| 338 | for (ex0.Init(face, TopAbs_WIRE); ex0.More(); ex0.Next()) { |
| 339 | |
| 340 | const TopoDS_Wire& wire = TopoDS::Wire(ex0.Current()); |
| 341 | |
| 342 | for (ex1.Init(wire, TopAbs_EDGE); ex1.More(); ex1.Next()) { |
| 343 | |
| 344 | const TopoDS_Edge& edge = TopoDS::Edge(ex1.Current()); |
| 345 | |
| 346 | // skip degenerated edge |
| 347 | if (BRep_Tool::Degenerated(edge)) |
| 348 | continue; |
| 349 | |
| 350 | if (false) { |
| 351 | // skip edge if it is a seam |
| 352 | if (BRep_Tool::IsClosed(edge, face)) |
| 353 | continue; |
| 354 | } |
| 355 | extractEdge(edge, triangulation, translationMap); |
| 356 | } |
| 357 | } |
| 358 | return 0; |
| 359 | } |
| 360 | int Mesh::extractEdge(const TopoDS_Edge& edge, const occHandle(Poly_Triangulation)& triangulation, const std::vector<uint32_t>& translationMap) |
| 361 | { |
| 362 | |