Lines Matching refs:Edge
95 struct Edge;
153 Edge* fFirstEdgeAbove; // Linked list of edges above this vertex.
154 Edge* fLastEdgeAbove; // "
155 Edge* fFirstEdgeBelow; // Linked list of edges below this vertex.
156 Edge* fLastEdgeBelow; // "
211 Edge* fHead;
212 Edge* fTail;
233 struct Edge { struct
234 Edge(Vertex* top, Vertex* bottom, int winding) in Edge() argument
251 Edge* fLeft; // The linked list of edges in the active edge list. argument
252 Edge* fRight; // " argument
253 Edge* fPrevEdgeAbove; // The linked list of edges in the bottom Vertex's "edges above". argument
254 Edge* fNextEdgeAbove; // " argument
255 Edge* fPrevEdgeBelow; // The linked list of edges in the top Vertex's "edges below". argument
256 Edge* fNextEdgeBelow; // " argument
277 bool intersect(const Edge& other, SkPoint* p) { in intersect() argument
637 Edge* new_edge(Vertex* prev, Vertex* next, SkChunkAlloc& alloc, Comparator& c) { in new_edge()
641 return ALLOC_NEW(Edge, (top, bottom, winding), alloc); in new_edge()
644 void remove_edge(Edge* edge, EdgeList* edges) { in remove_edge()
647 remove<Edge, &Edge::fLeft, &Edge::fRight>(edge, &edges->fHead, &edges->fTail); in remove_edge()
650 void insert_edge(Edge* edge, Edge* prev, EdgeList* edges) { in insert_edge()
653 Edge* next = prev ? prev->fRight : edges->fHead; in insert_edge()
654 insert<Edge, &Edge::fLeft, &Edge::fRight>(edge, prev, next, &edges->fHead, &edges->fTail); in insert_edge()
657 void find_enclosing_edges(Vertex* v, EdgeList* edges, Edge** left, Edge** right) { in find_enclosing_edges()
663 Edge* next = NULL; in find_enclosing_edges()
664 Edge* prev; in find_enclosing_edges()
676 void find_enclosing_edges(Edge* edge, EdgeList* edges, Comparator& c, Edge** left, Edge** right) { in find_enclosing_edges()
677 Edge* prev = NULL; in find_enclosing_edges()
678 Edge* next; in find_enclosing_edges()
695 void fix_active_state(Edge* edge, EdgeList* activeEdges, Comparator& c) { in fix_active_state()
701 Edge* left; in fix_active_state()
702 Edge* right; in fix_active_state()
708 void insert_edge_above(Edge* edge, Vertex* v, Comparator& c) { in insert_edge_above()
714 Edge* prev = NULL; in insert_edge_above()
715 Edge* next; in insert_edge_above()
722 insert<Edge, &Edge::fPrevEdgeAbove, &Edge::fNextEdgeAbove>( in insert_edge_above()
726 void insert_edge_below(Edge* edge, Vertex* v, Comparator& c) { in insert_edge_below()
732 Edge* prev = NULL; in insert_edge_below()
733 Edge* next; in insert_edge_below()
740 insert<Edge, &Edge::fPrevEdgeBelow, &Edge::fNextEdgeBelow>( in insert_edge_below()
744 void remove_edge_above(Edge* edge) { in remove_edge_above()
747 remove<Edge, &Edge::fPrevEdgeAbove, &Edge::fNextEdgeAbove>( in remove_edge_above()
751 void remove_edge_below(Edge* edge) { in remove_edge_below()
754 remove<Edge, &Edge::fPrevEdgeBelow, &Edge::fNextEdgeBelow>( in remove_edge_below()
758 void erase_edge_if_zero_winding(Edge* edge, EdgeList* edges) { in erase_edge_if_zero_winding()
770 void merge_collinear_edges(Edge* edge, EdgeList* activeEdges, Comparator& c);
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()
790 void merge_edges_above(Edge* edge, Edge* other, EdgeList* activeEdges, Comparator& c) { in merge_edges_above()
810 void merge_edges_below(Edge* edge, Edge* other, EdgeList* activeEdges, Comparator& c) { in merge_edges_below()
830 void merge_collinear_edges(Edge* edge, EdgeList* activeEdges, Comparator& c) { in merge_collinear_edges()
847 void split_edge(Edge* edge, Vertex* v, EdgeList* activeEdges, Comparator& c, SkChunkAlloc& alloc);
849 void cleanup_active_edges(Edge* edge, EdgeList* activeEdges, Comparator& c, SkChunkAlloc& alloc) { in cleanup_active_edges()
883 void split_edge(Edge* edge, Vertex* v, EdgeList* activeEdges, Comparator& c, SkChunkAlloc& alloc) { in split_edge()
892 Edge* newEdge = ALLOC_NEW(Edge, (v, edge->fBottom, edge->fWinding), alloc); in split_edge()
905 for (Edge* edge = src->fFirstEdgeAbove; edge;) { in merge_vertices()
906 Edge* next = edge->fNextEdgeAbove; in merge_vertices()
910 for (Edge* edge = src->fFirstEdgeBelow; edge;) { in merge_vertices()
911 Edge* next = edge->fNextEdgeBelow; in merge_vertices()
918 Vertex* check_for_intersection(Edge* edge, Edge* other, EdgeList* activeEdges, Comparator& c, in check_for_intersection()
1016 Edge* edge = new_edge(v->fPrev, v, alloc, c); in build_edges()
1130 Edge* leftEnclosingEdge = NULL; in simplify()
1131 Edge* rightEnclosingEdge = NULL; in simplify()
1137 for (Edge* edge = v->fFirstEdgeBelow; edge != NULL; edge = edge->fNextEdgeBelow) { in simplify()
1158 for (Edge* e = v->fFirstEdgeAbove; e; e = e->fNextEdgeAbove) { in simplify()
1161 Edge* leftEdge = leftEnclosingEdge; in simplify()
1162 for (Edge* e = v->fFirstEdgeBelow; e; e = e->fNextEdgeBelow) { in simplify()
1183 Edge* leftEnclosingEdge = NULL; in tessellate()
1184 Edge* rightEnclosingEdge = NULL; in tessellate()
1197 for (Edge* e = v->fFirstEdgeAbove; e; e = e->fNextEdgeAbove) { in tessellate()
1202 for (Edge* e = v->fFirstEdgeBelow; e; e = e->fNextEdgeBelow) { in tessellate()
1214 for (Edge* e = v->fFirstEdgeAbove; e != v->fLastEdgeAbove; e = e->fNextEdgeAbove) { in tessellate()
1215 Edge* leftEdge = e; in tessellate()
1216 Edge* rightEdge = e->fNextEdgeAbove; in tessellate()
1261 Edge* leftEdge = v->fFirstEdgeBelow; in tessellate()
1264 for (Edge* rightEdge = leftEdge->fNextEdgeBelow; rightEdge; in tessellate()
1279 for (Edge* e = activeEdges.fHead; e != NULL; e = e->fRight) { in tessellate()
1425 SkChunkAlloc alloc(maxPts * (3 * sizeof(Vertex) + sizeof(Edge))); in generateGeometry()