Lines Matching refs:Vertex
94 struct Vertex;
140 struct Vertex { struct
141 Vertex(const SkPoint& point) in Vertex() function
151 Vertex* fPrev; // Linked list of contours, then Y-sorted vertices. argument
152 Vertex* fNext; // " argument
188 inline SkPoint* emit_vertex(Vertex* v, SkPoint* data) { in emit_vertex()
193 SkPoint* emit_triangle(Vertex* v0, Vertex* v1, Vertex* v2, SkPoint* data) { in emit_triangle()
234 Edge(Vertex* top, Vertex* bottom, int winding) in Edge()
249 Vertex* fTop; // The top vertex in vertex-sort-order (sweep_lt).
250 Vertex* fBottom; // The bottom vertex in vertex-sort-order.
265 bool isRightOf(Vertex* v) const { in isRightOf()
268 bool isLeftOf(Vertex* v) const { in isLeftOf()
336 Vertex* fHead;
337 Vertex* fTail;
340 bool addVertex(Vertex* v, Side side, SkChunkAlloc& alloc) { in addVertex()
341 Vertex* newV = ALLOC_NEW(Vertex, (v->fPoint), alloc); in addVertex()
363 Vertex* first = fHead; in emit()
364 Vertex* v = first->fNext; in emit()
367 Vertex* prev = v->fPrev; in emit()
368 Vertex* curr = v; in emit()
369 Vertex* next = v->fNext; in emit()
390 Poly* addVertex(Vertex* v, Side side, SkChunkAlloc& alloc) { in addVertex()
413 Vertex* prev = fActive->fSide == Poly::kLeft_Side ? in addVertex()
423 void end(Vertex* v, SkChunkAlloc& alloc) { in end()
458 Poly* new_poly(Poly** head, Vertex* v, int winding, SkChunkAlloc& alloc) { in new_poly()
466 Vertex* append_point_to_contour(const SkPoint& p, Vertex* prev, Vertex** head, in append_point_to_contour()
468 Vertex* v = ALLOC_NEW(Vertex, (p), alloc); in append_point_to_contour()
482 Vertex* generate_quadratic_points(const SkPoint& p0, in generate_quadratic_points()
486 Vertex* prev, in generate_quadratic_points()
487 Vertex** head, in generate_quadratic_points()
507 Vertex* generate_cubic_points(const SkPoint& p0, in generate_cubic_points()
512 Vertex* prev, in generate_cubic_points()
513 Vertex** head, in generate_cubic_points()
541 Vertex** contours, SkChunkAlloc& alloc) { in path_to_contours()
548 Vertex* prev = NULL; in path_to_contours()
549 Vertex* head = NULL; in path_to_contours()
637 Edge* new_edge(Vertex* prev, Vertex* next, SkChunkAlloc& alloc, Comparator& c) { in new_edge()
639 Vertex* top = winding < 0 ? next : prev; in new_edge()
640 Vertex* bottom = winding < 0 ? prev : next; in new_edge()
657 void find_enclosing_edges(Vertex* v, EdgeList* edges, Edge** left, Edge** right) { in find_enclosing_edges()
708 void insert_edge_above(Edge* edge, Vertex* v, Comparator& c) { in insert_edge_above()
726 void insert_edge_below(Edge* edge, Vertex* v, Comparator& c) { in insert_edge_below()
772 void set_top(Edge* edge, Vertex* v, EdgeList* activeEdges, Comparator& c) { in set_top()
781 void set_bottom(Edge* edge, Vertex* v, EdgeList* activeEdges, Comparator& c) { in set_bottom()
847 void split_edge(Edge* edge, Vertex* v, EdgeList* activeEdges, Comparator& c, SkChunkAlloc& alloc);
850 Vertex* top = edge->fTop; in cleanup_active_edges()
851 Vertex* bottom = edge->fBottom; in cleanup_active_edges()
853 Vertex* leftTop = edge->fLeft->fTop; in cleanup_active_edges()
854 Vertex* leftBottom = edge->fLeft->fBottom; in cleanup_active_edges()
867 Vertex* rightTop = edge->fRight->fTop; in cleanup_active_edges()
868 Vertex* rightBottom = edge->fRight->fBottom; in cleanup_active_edges()
883 void split_edge(Edge* edge, Vertex* v, EdgeList* activeEdges, Comparator& c, SkChunkAlloc& alloc) { in split_edge()
902 void merge_vertices(Vertex* src, Vertex* dst, Vertex** head, Comparator& c, SkChunkAlloc& alloc) { in merge_vertices()
915 remove<Vertex, &Vertex::fPrev, &Vertex::fNext>(src, head, NULL); in merge_vertices()
918 Vertex* check_for_intersection(Edge* edge, Edge* other, EdgeList* activeEdges, Comparator& c, in check_for_intersection()
925 Vertex* v; in check_for_intersection()
940 Vertex* nextV = edge->fTop; in check_for_intersection()
947 Vertex* prevV = nextV->fPrev; in check_for_intersection()
953 v = ALLOC_NEW(Vertex, (p), alloc); in check_for_intersection()
973 void sanitize_contours(Vertex** contours, int contourCnt) { in sanitize_contours()
976 for (Vertex* v = contours[i];;) { in sanitize_contours()
997 void merge_coincident_vertices(Vertex** vertices, Comparator& c, SkChunkAlloc& alloc) { in merge_coincident_vertices()
998 for (Vertex* v = (*vertices)->fNext; v != NULL; v = v->fNext) { in merge_coincident_vertices()
1010 Vertex* build_edges(Vertex** contours, int contourCnt, Comparator& c, SkChunkAlloc& alloc) { in build_edges()
1011 Vertex* vertices = NULL; in build_edges()
1012 Vertex* prev = NULL; in build_edges()
1014 for (Vertex* v = contours[i]; v != NULL;) { in build_edges()
1015 Vertex* vNext = v->fNext; in build_edges()
1044 Vertex* sorted_merge(Vertex* a, Vertex* b, Comparator& c);
1046 void front_back_split(Vertex* v, Vertex** pFront, Vertex** pBack) { in front_back_split()
1047 Vertex* fast; in front_back_split()
1048 Vertex* slow; in front_back_split()
1071 void merge_sort(Vertex** head, Comparator& c) { in merge_sort()
1076 Vertex* a; in merge_sort()
1077 Vertex* b; in merge_sort()
1086 inline void append_vertex(Vertex* v, Vertex** head, Vertex** tail) { in append_vertex()
1087 insert<Vertex, &Vertex::fPrev, &Vertex::fNext>(v, *tail, NULL, head, tail); in append_vertex()
1090 inline void append_vertex_list(Vertex* v, Vertex** head, Vertex** tail) { in append_vertex_list()
1091 insert<Vertex, &Vertex::fPrev, &Vertex::fNext>(v, *tail, v->fNext, head, tail); in append_vertex_list()
1094 Vertex* sorted_merge(Vertex* a, Vertex* b, Comparator& c) { in sorted_merge()
1095 Vertex* head = NULL; in sorted_merge()
1096 Vertex* tail = NULL; in sorted_merge()
1100 Vertex* next = a->fNext; in sorted_merge()
1104 Vertex* next = b->fNext; in sorted_merge()
1120 void simplify(Vertex* vertices, Comparator& c, SkChunkAlloc& alloc) { in simplify()
1123 for (Vertex* v = vertices; v != NULL; v = v->fNext) { in simplify()
1148 if (Vertex* pv = check_for_intersection(leftEnclosingEdge, rightEnclosingEdge, in simplify()
1172 Poly* tessellate(Vertex* vertices, SkChunkAlloc& alloc) { in tessellate()
1176 for (Vertex* v = vertices; v != NULL; v = v->fNext) { in tessellate()
1290 Poly* contours_to_polys(Vertex** contours, int contourCnt, Comparator& c, SkChunkAlloc& alloc) { in contours_to_polys()
1293 Vertex* v = contours[i]; in contours_to_polys()
1302 Vertex* vertices = build_edges(contours, contourCnt, c, alloc); in contours_to_polys()
1311 for (Vertex* v = vertices; v != NULL; v = v->fNext) { in contours_to_polys()
1419 SkAutoTDeleteArray<Vertex*> contours(SkNEW_ARRAY(Vertex *, contourCnt)); in generateGeometry()
1425 SkChunkAlloc alloc(maxPts * (3 * sizeof(Vertex) + sizeof(Edge))); in generateGeometry()