| 2701 | //------------------------------------------------------------------------------ |
| 2702 | |
| 2703 | bool Clipper::ProcessIntersections(const cInt topY) { |
| 2704 | if (!m_ActiveEdges) |
| 2705 | return true; |
| 2706 | try { |
| 2707 | BuildIntersectList(topY); |
| 2708 | size_t IlSize = m_IntersectList.size(); |
| 2709 | if (IlSize == 0) |
| 2710 | return true; |
| 2711 | if (IlSize == 1 || FixupIntersectionOrder()) |
| 2712 | ProcessIntersectList(); |
| 2713 | else |
| 2714 | return false; |
| 2715 | } catch (...) { |
| 2716 | m_SortedEdges = 0; |
| 2717 | DisposeIntersectNodes(); |
| 2718 | throw clipperException("ProcessIntersections error"); |
| 2719 | } |
| 2720 | m_SortedEdges = 0; |
| 2721 | return true; |
| 2722 | } |
| 2723 | //------------------------------------------------------------------------------ |
| 2724 | |
| 2725 | void Clipper::DisposeIntersectNodes() { |
nothing calls this directly
no test coverage detected