| 27 | } |
| 28 | |
| 29 | bool Shape::validate() const { |
| 30 | for (std::vector<Contour>::const_iterator contour = contours.begin(); contour != contours.end(); ++contour) { |
| 31 | if (!contour->edges.empty()) { |
| 32 | Point2 corner = contour->edges.back()->point(1); |
| 33 | for (std::vector<EdgeHolder>::const_iterator edge = contour->edges.begin(); edge != contour->edges.end(); ++edge) { |
| 34 | if (!*edge) |
| 35 | return false; |
| 36 | if ((*edge)->point(0) != corner) |
| 37 | return false; |
| 38 | corner = (*edge)->point(1); |
| 39 | } |
| 40 | } |
| 41 | } |
| 42 | return true; |
| 43 | } |
| 44 | |
| 45 | static void deconvergeEdge(EdgeHolder &edgeHolder, int param, Vector2 vector) { |
| 46 | switch (edgeHolder->type()) { |