Lines Matching defs:polygon
309 // remove any invalid inset edges by detecting right-hand turns. In a ccw polygon,
525 uint16_t fIndex; // index in unsorted polygon
526 uint16_t fPrevIndex; // indices for previous and next vertex in unsorted polygon
617 // check first to see if these edges are neighbors in the polygon
671 uint16_t fIndex0; // indices for previous and next vertex in polygon
1061 // represent a simple polygon, i.e., the polygon is non-self-intersecting.
1065 // list, then we know the polygon is self-intersecting and hence not simple.
1066 bool SkIsSimplePolygon(const SkPoint* polygon, int polygonSize) {
1072 if (SkIsConvexPolygon(polygon, polygonSize)) {
1084 if (!polygon[i].isFinite()) {
1087 newVertex.fPosition = polygon[i];
1092 if (left(polygon[newVertex.fPrevIndex], polygon[i])) {
1095 if (left(polygon[newVertex.fNextIndex], polygon[i])) {
1109 if (!sweepLine.insert(v.fPosition, polygon[v.fPrevIndex], v.fIndex, v.fPrevIndex)) {
1112 if (!sweepLine.insert(v.fPosition, polygon[v.fNextIndex], v.fIndex, v.fNextIndex)) {
1117 if (!sweepLine.remove(polygon[v.fPrevIndex], v.fPosition, v.fPrevIndex, v.fIndex)) {
1120 if (!sweepLine.remove(polygon[v.fNextIndex], v.fPosition, v.fNextIndex, v.fIndex)) {
1126 if (!sweepLine.replace(polygon[v.fPrevIndex], v.fPosition, polygon[v.fNextIndex],
1132 if (!sweepLine.replace(polygon[v.fNextIndex], v.fPosition, polygon[v.fPrevIndex],
1181 // can't inset more than the half bounds of the polygon
1433 // check winding of offset polygon (it should be same as the original polygon)
1618 // TODO: we do this for all the polygon routines -- might be better to have the client
1678 // that ear off, and then repeat on the new polygon. Once we get down to three vertices
1679 // we have triangulated the entire polygon.
1710 // If we can't find any ears to clip, this probably isn't a simple polygon