Lines Matching refs:left

394              e->fTop->fID, e->fBottom->fID, fID, side == kLeft_Side ? "left" : "right");
635 void GrTriangulator::FindEnclosingEdges(Vertex* v, EdgeList* edges, Edge** left, Edge** right) {
637 *left = v->fFirstEdgeAbove->fLeft;
649 *left = prev;
844 static bool top_collinear(Edge* left, Edge* right) {
845 if (!left || !right) {
848 return left->fTop->fPoint == right->fTop->fPoint ||
849 !left->isLeftOf(right->fTop) || !right->isRightOf(left->fTop);
852 static bool bottom_collinear(Edge* left, Edge* right) {
853 if (!left || !right) {
856 return left->fBottom->fPoint == right->fBottom->fPoint ||
857 !left->isLeftOf(right->fBottom) || !right->isRightOf(left->fBottom);
922 bool GrTriangulator::intersectEdgePair(Edge* left, Edge* right, EdgeList* activeEdges,
924 if (!left->fTop || !left->fBottom || !right->fTop || !right->fBottom) {
927 if (left->fTop == right->fTop || left->fBottom == right->fBottom) {
930 if (c.sweep_lt(left->fTop->fPoint, right->fTop->fPoint)) {
931 if (!left->isLeftOf(right->fTop)) {
933 return this->splitEdge(left, right->fTop, activeEdges, current, c);
936 if (!right->isRightOf(left->fTop)) {
937 rewind(activeEdges, current, left->fTop, c);
938 return this->splitEdge(right, left->fTop, activeEdges, current, c);
941 if (c.sweep_lt(right->fBottom->fPoint, left->fBottom->fPoint)) {
942 if (!left->isLeftOf(right->fBottom)) {
944 return this->splitEdge(left, right->fBottom, activeEdges, current, c);
947 if (!right->isRightOf(left->fBottom)) {
948 rewind(activeEdges, current, left->fBottom, c);
949 return this->splitEdge(right, left->fBottom, activeEdges, current, c);
1056 bool GrTriangulator::checkForIntersection(Edge* left, Edge* right, EdgeList* activeEdges,
1059 if (!left || !right) {
1064 if (left->intersect(*right, &p, &alpha) && p.isFinite()) {
1077 p = clamp(p, left->fTop->fPoint, left->fBottom->fPoint, c);
1080 if (coincident(p, left->fTop->fPoint)) {
1081 v = left->fTop;
1082 } else if (coincident(p, left->fBottom->fPoint)) {
1083 v = left->fBottom;
1090 if (left->fTop->fPartner) {
1093 this->computeBisector(left, right, v);
1097 this->splitEdge(left, v, activeEdges, current, c);
1102 return this->intersectEdgePair(left, right, activeEdges, current, c);
1260 static void validate_edge_pair(Edge* left, Edge* right, const Comparator& c) {
1261 if (!left || !right) {
1264 if (left->fTop == right->fTop) {
1265 SkASSERT(left->isLeftOf(right->fBottom));
1266 SkASSERT(right->isRightOf(left->fBottom));
1267 } else if (c.sweep_lt(left->fTop->fPoint, right->fTop->fPoint)) {
1268 SkASSERT(left->isLeftOf(right->fTop));
1270 SkASSERT(right->isRightOf(left->fTop));
1272 if (left->fBottom == right->fBottom) {
1273 SkASSERT(left->isLeftOf(right->fTop));
1274 SkASSERT(right->isRightOf(left->fTop));
1275 } else if (c.sweep_lt(right->fBottom->fPoint, left->fBottom->fPoint)) {
1276 SkASSERT(left->isLeftOf(right->fBottom));
1278 SkASSERT(right->isRightOf(left->fBottom));
1283 Edge* left = edges->fHead;
1284 if (!left) {
1287 for (Edge* right = left->fRight; right; right = right->fRight) {
1288 validate_edge_pair(left, right, c);
1289 left = right;