Lines Matching refs:Vertex
97 struct Vertex;
143 struct Vertex { struct
144 Vertex(const SkPoint& point, uint8_t alpha) in Vertex() function
156 Vertex* fPrev; // Linked list of contours, then Y-sorted vertices. argument
157 Vertex* fNext; // " argument
162 Vertex* fPartner; // Corresponding inner or outer vertex (for AA). argument
196 inline void* emit_vertex(Vertex* v, const AAParams* aaParams, void* data) { in emit_vertex()
217 void* emit_triangle(Vertex* v0, Vertex* v1, Vertex* v2, const AAParams* aaParams, void* data) { in emit_triangle()
238 VertexList(Vertex* head, Vertex* tail) : fHead(head), fTail(tail) {} in VertexList()
239 Vertex* fHead;
240 Vertex* fTail;
241 void insert(Vertex* v, Vertex* prev, Vertex* next) { in insert()
242 list_insert<Vertex, &Vertex::fPrev, &Vertex::fNext>(v, prev, next, &fHead, &fTail); in insert()
244 void append(Vertex* v) { in append()
259 void prepend(Vertex* v) { in prepend()
262 void remove(Vertex* v) { in remove()
263 list_remove<Vertex, &Vertex::fPrev, &Vertex::fNext>(v, &fHead, &fTail); in remove()
282 Line(Vertex* p, Vertex* q) : Line(p->fPoint, q->fPoint) {} in Line()
330 Edge(Vertex* top, Vertex* bottom, int winding, Type type) in Edge()
352 Vertex* fTop; // The top vertex in vertex-sort-order (sweep_lt).
353 Vertex* fBottom; // The bottom vertex in vertex-sort-order.
373 bool isRightOf(Vertex* v) const { in isRightOf()
376 bool isLeftOf(Vertex* v) const { in isLeftOf()
455 Poly(Vertex* v, int winding) in Poly()
514 Vertex* first = vertices.fHead; in emit()
515 Vertex* v = first->fNext; in emit()
518 Vertex* prev = v->fPrev; in emit()
519 Vertex* curr = v; in emit()
520 Vertex* next = v->fNext; in emit()
596 Vertex* lastVertex() const { return fTail ? fTail->fLastEdge->fBottom : fFirstVertex; } in lastVertex()
597 Vertex* fFirstVertex;
615 Poly* new_poly(Poly** head, Vertex* v, int winding, SkArenaAlloc& alloc) { in new_poly()
623 Vertex* v = alloc.make<Vertex>(p, 255); in append_point_to_contour()
770 Edge* new_edge(Vertex* prev, Vertex* next, Edge::Type type, Comparator& c, SkArenaAlloc& alloc) { in new_edge()
772 Vertex* top = winding < 0 ? next : prev; in new_edge()
773 Vertex* bottom = winding < 0 ? prev : next; in new_edge()
790 void find_enclosing_edges(Vertex* v, EdgeList* edges, Edge** left, Edge** right) { in find_enclosing_edges()
842 void insert_edge_above(Edge* edge, Vertex* v, Comparator& c) { in insert_edge_above()
860 void insert_edge_below(Edge* edge, Vertex* v, Comparator& c) { in insert_edge_below()
908 void set_top(Edge* edge, Vertex* v, EdgeList* activeEdges, Comparator& c) { in set_top()
917 void set_bottom(Edge* edge, Vertex* v, EdgeList* activeEdges, Comparator& c) { in set_bottom()
975 void split_edge(Edge* edge, Vertex* v, EdgeList* activeEdges, Comparator& c, SkArenaAlloc& alloc);
978 Vertex* top = edge->fTop; in cleanup_active_edges()
979 Vertex* bottom = edge->fBottom; in cleanup_active_edges()
981 Vertex* leftTop = edge->fLeft->fTop; in cleanup_active_edges()
982 Vertex* leftBottom = edge->fLeft->fBottom; in cleanup_active_edges()
995 Vertex* rightTop = edge->fRight->fTop; in cleanup_active_edges()
996 Vertex* rightBottom = edge->fRight->fBottom; in cleanup_active_edges()
1011 void split_edge(Edge* edge, Vertex* v, EdgeList* activeEdges, Comparator& c, SkArenaAlloc& alloc) { in split_edge()
1030 Edge* connect(Vertex* prev, Vertex* next, Edge::Type type, Comparator& c, SkArenaAlloc& alloc, in connect()
1040 void merge_vertices(Vertex* src, Vertex* dst, VertexList* mesh, Comparator& c, in merge_vertices()
1072 Vertex* check_for_intersection(Edge* edge, Edge* other, EdgeList* activeEdges, Comparator& c, in check_for_intersection()
1080 Vertex* v; in check_for_intersection()
1095 Vertex* nextV = edge->fTop; in check_for_intersection()
1102 Vertex* prevV = nextV->fPrev; in check_for_intersection()
1108 v = alloc.make<Vertex>(p, alpha); in check_for_intersection()
1132 Vertex* prev = contour->fTail; in sanitize_contours()
1136 for (Vertex* v = contour->fHead; v;) { in sanitize_contours()
1140 Vertex* next = v->fNext; in sanitize_contours()
1155 for (Vertex* v = mesh->fHead->fNext; v != nullptr; v = v->fNext) { in merge_coincident_vertices()
1170 Vertex* prev = contour->fTail; in build_edges()
1171 for (Vertex* v = contour->fHead; v;) { in build_edges()
1172 Vertex* next = v->fNext; in build_edges()
1182 for (Vertex* outer = outerVertices->fHead; outer; outer = outer->fNext) { in connect_partners()
1183 if (Vertex* inner = outer->fPartner) { in connect_partners()
1194 Vertex* a = front->fHead; in sorted_merge()
1195 Vertex* b = back->fHead; in sorted_merge()
1223 Vertex* slow = vertices->fHead; in merge_sort()
1227 Vertex* fast = slow->fNext; in merge_sort()
1254 for (Vertex* v = vertices.fHead; v != nullptr; v = v->fNext) { in simplify()
1279 if (Vertex* pv = check_for_intersection(leftEnclosingEdge, rightEnclosingEdge, in simplify()
1312 for (Vertex* v = vertices.fHead; v != nullptr; v = v->fNext) { in is_complex()
1355 for (Vertex* v = vertices.fHead; v != nullptr; v = v->fNext) { in tessellate()
1463 for (Vertex* v = mesh.fHead; v != nullptr; v = v->fNext) { in remove_non_boundary_edges()
1508 Vertex* prev = prevEdge->fWinding == 1 ? prevEdge->fTop : prevEdge->fBottom; in simplify_boundary()
1509 Vertex* next = e->fWinding == 1 ? e->fBottom : e->fTop; in simplify_boundary()
1535 void fix_inversions(Vertex* prev, Vertex* next, Edge* prevBisector, Edge* nextBisector, in fix_inversions()
1578 Vertex* innerVertex = alloc.make<Vertex>(innerPoint, 255); in stroke_boundary()
1579 Vertex* outerVertex = alloc.make<Vertex>(outerPoint, 0); in stroke_boundary()
1594 Vertex* innerVertex = innerVertices.fHead; in stroke_boundary()
1595 Vertex* outerVertex = outerVertices.fHead; in stroke_boundary()
1603 Vertex* prevInnerVertex = innerVertices.fTail; in stroke_boundary()
1604 Vertex* prevOuterVertex = outerVertices.fTail; in stroke_boundary()
1656 for (Vertex* v = inMesh.fHead; v; v = v->fNext) { in extract_boundaries()
1672 Vertex* v = contours[i].fHead; in contours_to_mesh()
1696 for (Vertex* v = vertices->fHead; v != nullptr; v = v->fNext) { in sort_mesh()
1787 for (Vertex* v = outerMesh.fHead; v; v = v->fNext) { in count_outer_mesh_points()
1796 for (Vertex* v = outerMesh.fHead; v; v = v->fNext) { in outer_mesh_to_triangles()
1798 Vertex* v0 = e->fTop; in outer_mesh_to_triangles()
1799 Vertex* v1 = e->fBottom; in outer_mesh_to_triangles()
1800 Vertex* v2 = e->fBottom->fPartner; in outer_mesh_to_triangles()
1801 Vertex* v3 = e->fTop->fPartner; in outer_mesh_to_triangles()