| 135 | } |
| 136 | |
| 137 | void ClipperEngine::clip(ClipperLib::ClipType type) { |
| 138 | initialize_if_needed(); |
| 139 | ClipperLib::Paths out; |
| 140 | ClipperLib::Clipper clipper( |
| 141 | ClipperLib::ioStrictlySimple | ClipperLib::ioPreserveCollinear); |
| 142 | clipper.AddPaths(m_loops_1, ClipperLib::ptSubject, true); |
| 143 | clipper.AddPaths(m_loops_2, ClipperLib::ptClip, true); |
| 144 | clipper.Execute(type, out, ClipperLib::pftNonZero, ClipperLib::pftNonZero); |
| 145 | extract_result(out); |
| 146 | } |
| 147 | |
| 148 | void ClipperEngine::initialize_if_needed() { |
| 149 | m_vertices = MatrixFr::Zero(0,2); |
no test coverage detected