Lines Matching refs:fBottom
346 , fBottom(bottom) in Edge()
366 Vertex* fBottom; // The bottom vertex in vertex-sort-order. member
393 fLine = Line(fTop, fBottom); in recompute()
397 fTop->fID, fBottom->fID, in intersect()
398 other.fTop->fID, other.fBottom->fID); in intersect()
399 if (fTop == other.fTop || fBottom == other.fBottom) { in intersect()
422 *alpha = (1.0 - s) * fTop->fAlpha + s * fBottom->fAlpha; in intersect()
425 *alpha = (1.0 - t) * other.fTop->fAlpha + t * other.fBottom->fAlpha; in intersect()
528 prev->fID, next->fID, e->fEdge->fTop->fID, e->fEdge->fBottom->fID, p.fX, p.fY, alpha); in create_event()
540 Vertex* bottom = edge->fEdge->fBottom; in create_event()
612 vertices.append(e->fBottom); in emit()
615 vertices.prepend(e->fBottom); in emit()
653 e->fTop->fID, e->fBottom->fID, fID, side == kLeft_Side ? "left" : "right"); in addEdge()
671 } else if (e->fBottom == fTail->fLastEdge->fBottom) { in addEdge()
677 e = alloc.make<Edge>(fTail->fLastEdge->fBottom, e->fBottom, 1, Edge::Type::kInner); in addEdge()
702 Vertex* lastVertex() const { return fTail ? fTail->fLastEdge->fBottom : fFirstVertex; } in lastVertex()
890 LOG("removing edge %g -> %g\n", edge->fTop->fID, edge->fBottom->fID); in remove_edge()
896 LOG("inserting edge %g -> %g\n", edge->fTop->fID, edge->fBottom->fID); in insert_edge()
921 if (edge->fTop->fPoint == edge->fBottom->fPoint || in insert_edge_above()
922 c.sweep_lt(edge->fBottom->fPoint, edge->fTop->fPoint)) { in insert_edge_above()
925 LOG("insert edge (%g -> %g) above vertex %g\n", edge->fTop->fID, edge->fBottom->fID, v->fID); in insert_edge_above()
939 if (edge->fTop->fPoint == edge->fBottom->fPoint || in insert_edge_below()
940 c.sweep_lt(edge->fBottom->fPoint, edge->fTop->fPoint)) { in insert_edge_below()
943 LOG("insert edge (%g -> %g) below vertex %g\n", edge->fTop->fID, edge->fBottom->fID, v->fID); in insert_edge_below()
947 if (next->isRightOf(edge->fBottom)) { in insert_edge_below()
957 SkASSERT(edge->fTop && edge->fBottom); in remove_edge_above()
958 LOG("removing edge (%g -> %g) above vertex %g\n", edge->fTop->fID, edge->fBottom->fID, in remove_edge_above()
959 edge->fBottom->fID); in remove_edge_above()
961 edge, &edge->fBottom->fFirstEdgeAbove, &edge->fBottom->fLastEdgeAbove); in remove_edge_above()
965 SkASSERT(edge->fTop && edge->fBottom); in remove_edge_below()
966 LOG("removing edge (%g -> %g) below vertex %g\n", edge->fTop->fID, edge->fBottom->fID, in remove_edge_below()
1011 edge->fBottom = v; in set_bottom()
1023 edge->fBottom->fPoint.fX, edge->fBottom->fPoint.fY); in merge_edges_above()
1027 edge->fTop = edge->fBottom = nullptr; in merge_edges_above()
1041 if (coincident(edge->fBottom->fPoint, other->fBottom->fPoint)) { in merge_edges_below()
1044 edge->fBottom->fPoint.fX, edge->fBottom->fPoint.fY); in merge_edges_below()
1048 edge->fTop = edge->fBottom = nullptr; in merge_edges_below()
1049 } else if (c.sweep_lt(edge->fBottom->fPoint, other->fBottom->fPoint)) { in merge_edges_below()
1052 set_top(other, edge->fBottom, activeEdges, current, c); in merge_edges_below()
1056 set_top(edge, other->fBottom, activeEdges, current, c); in merge_edges_below()
1072 return left->fBottom->fPoint == right->fBottom->fPoint || in bottom_collinear()
1073 !left->isLeftOf(right->fBottom) || !right->isRightOf(left->fBottom); in bottom_collinear()
1098 if (!edge->fTop || !edge->fBottom || v == edge->fTop || v == edge->fBottom) { in split_edge()
1102 edge->fTop->fID, edge->fBottom->fID, in split_edge()
1111 } else if (c.sweep_lt(edge->fBottom->fPoint, v->fPoint)) { in split_edge()
1112 top = edge->fBottom; in split_edge()
1117 bottom = edge->fBottom; in split_edge()
1128 if (!left->fTop || !left->fBottom || !right->fTop || !right->fBottom) { in intersect_edge_pair()
1131 if (left->fTop == right->fTop || left->fBottom == right->fBottom) { in intersect_edge_pair()
1145 if (c.sweep_lt(right->fBottom->fPoint, left->fBottom->fPoint)) { in intersect_edge_pair()
1146 if (!left->isLeftOf(right->fBottom)) { in intersect_edge_pair()
1147 rewind(activeEdges, current, right->fBottom, c); in intersect_edge_pair()
1148 return split_edge(left, right->fBottom, activeEdges, current, c, alloc); in intersect_edge_pair()
1151 if (!right->isRightOf(left->fBottom)) { in intersect_edge_pair()
1152 rewind(activeEdges, current, left->fBottom, c); in intersect_edge_pair()
1153 return split_edge(right, left->fBottom, activeEdges, current, c, alloc); in intersect_edge_pair()
1166 insert_edge_above(edge, edge->fBottom, c); in connect()
1226 SkPoint diff = edge->fBottom->fPoint - edge->fTop->fPoint; in nearly_flat()
1277 p = clamp(p, left->fTop->fPoint, left->fBottom->fPoint, c); in check_for_intersection()
1280 p = clamp(p, right->fTop->fPoint, right->fBottom->fPoint, c); in check_for_intersection()
1284 } else if (p == left->fBottom->fPoint) { in check_for_intersection()
1285 v = left->fBottom; in check_for_intersection()
1288 } else if (p == right->fBottom->fPoint) { in check_for_intersection()
1289 v = right->fBottom; in check_for_intersection()
1458 LOG(" edge %g -> %g, winding %d\n", e->fTop->fID, e->fBottom->fID, e->fWinding); in dump_mesh()
1461 LOG(" edge %g -> %g, winding %d\n", e->fTop->fID, e->fBottom->fID, e->fWinding); in dump_mesh()
1474 if (edge->fEdge->fTop && edge->fEdge->fBottom) { in dump_skel()
1477 edge->fEdge->fBottom->fID); in dump_skel()
1492 SkASSERT(left->isLeftOf(right->fBottom)); in validate_edge_pair()
1493 SkASSERT(right->isRightOf(left->fBottom)); in validate_edge_pair()
1499 if (left->fBottom == right->fBottom) { in validate_edge_pair()
1502 } else if (c.sweep_lt(right->fBottom->fPoint, left->fBottom->fPoint)) { in validate_edge_pair()
1503 SkASSERT(left->isLeftOf(right->fBottom)); in validate_edge_pair()
1505 SkASSERT(right->isRightOf(left->fBottom)); in validate_edge_pair()
1610 LOG("%g -> %g, lpoly %d, rpoly %d\n", e->fTop->fID, e->fBottom->fID, in tessellate()
1615 LOG("%g -> %g, lpoly %d, rpoly %d\n", e->fTop->fID, e->fBottom->fID, in tessellate()
1683 LOG("%g -> %g, lpoly %d, rpoly %d\n", e->fTop->fID, e->fBottom->fID, in tessellate()
1740 Vertex* prev = prevEdge->fWinding == 1 ? prevEdge->fTop : prevEdge->fBottom; in simplify_boundary()
1741 Vertex* next = e->fWinding == 1 ? e->fBottom : e->fTop; in simplify_boundary()
1811 prev->fID, next->fID, fEdge->fEdge->fTop->fID, fEdge->fEdge->fBottom->fID, in apply()
1884 e->fTop->fID, e->fBottom->fID); in collapse_overlap_regions()
1887 LOG("found overlap edge %g -> %g%s\n", e->fTop->fID, e->fBottom->fID, in collapse_overlap_regions()
1889 Vertex* prevVertex = e->fWinding < 0 ? e->fBottom : e->fTop; in collapse_overlap_regions()
1890 Vertex* nextVertex = e->fWinding < 0 ? e->fTop : e->fBottom; in collapse_overlap_regions()
1959 Vertex* prevV = prevEdge->fWinding > 0 ? prevEdge->fTop : prevEdge->fBottom; in stroke_boundary()
1972 Vertex* v = e->fWinding > 0 ? e->fTop : e->fBottom; in stroke_boundary()
1985 Vertex* nextV = e->fWinding > 0 ? e->fBottom : e->fTop; in stroke_boundary()
2112 Vertex* start = down ? e->fTop : e->fBottom; in extract_boundary()
2123 } else if ((next = e->fBottom->fLastEdgeBelow)) { in extract_boundary()
2140 } while (e && (down ? e->fTop : e->fBottom) != start); in extract_boundary()
2307 Vertex* v1 = e->fBottom; in outer_mesh_to_triangles()
2308 Vertex* v2 = e->fBottom->fPartner; in outer_mesh_to_triangles()