Lines Matching refs:Edge
32 using Edge = GrTriangulator::Edge; typedef
152 bool GrTriangulator::Edge::intersect(const Edge& other, SkPoint* p, uint8_t* alpha) const { in intersect()
197 void GrTriangulator::EdgeList::insert(Edge* edge, Edge* prev, Edge* next) { in insert()
198 list_insert<Edge, &Edge::fLeft, &Edge::fRight>(edge, prev, next, &fHead, &fTail); in insert()
201 void GrTriangulator::EdgeList::remove(Edge* edge) { in remove()
204 list_remove<Edge, &Edge::fLeft, &Edge::fRight>(edge, &fHead, &fTail); in remove()
207 void GrTriangulator::MonotonePoly::addEdge(Edge* edge) { in addEdge()
210 list_insert<Edge, &Edge::fRightPolyPrev, &Edge::fRightPolyNext>( in addEdge()
215 list_insert<Edge, &Edge::fLeftPolyPrev, &Edge::fLeftPolyNext>( in addEdge()
223 Edge* e = monotonePoly->fFirstEdge; in emitMonotonePoly()
300 Poly* GrTriangulator::Poly::addEdge(Edge* e, Side side, SkArenaAlloc* alloc) { in addEdge()
326 e = alloc->make<Edge>(fTail->fLastEdge->fBottom, e->fBottom, 1, EdgeType::kInner); in addEdge()
527 Edge* GrTriangulator::makeEdge(Vertex* prev, Vertex* next, EdgeType type, in makeEdge()
533 return fAlloc->make<Edge>(top, bottom, winding, type); in makeEdge()
536 void EdgeList::insert(Edge* edge, Edge* prev) { in insert()
539 Edge* next = prev ? prev->fRight : fHead; in insert()
543 void GrTriangulator::FindEnclosingEdges(Vertex* v, EdgeList* edges, Edge** left, Edge** right) { in FindEnclosingEdges()
549 Edge* next = nullptr; in FindEnclosingEdges()
550 Edge* prev; in FindEnclosingEdges()
561 void GrTriangulator::Edge::insertAbove(Vertex* v, const Comparator& c) { in insertAbove()
567 Edge* prev = nullptr; in insertAbove()
568 Edge* next; in insertAbove()
575 list_insert<Edge, &Edge::fPrevEdgeAbove, &Edge::fNextEdgeAbove>( in insertAbove()
579 void GrTriangulator::Edge::insertBelow(Vertex* v, const Comparator& c) { in insertBelow()
585 Edge* prev = nullptr; in insertBelow()
586 Edge* next; in insertBelow()
593 list_insert<Edge, &Edge::fPrevEdgeBelow, &Edge::fNextEdgeBelow>( in insertBelow()
597 static void remove_edge_above(Edge* edge) { in remove_edge_above()
601 list_remove<Edge, &Edge::fPrevEdgeAbove, &Edge::fNextEdgeAbove>( in remove_edge_above()
605 static void remove_edge_below(Edge* edge) { in remove_edge_below()
609 list_remove<Edge, &Edge::fPrevEdgeBelow, &Edge::fNextEdgeBelow>( in remove_edge_below()
613 void GrTriangulator::Edge::disconnect() { in disconnect()
626 for (Edge* e = v->fFirstEdgeBelow; e; e = e->fNextEdgeBelow) { in rewind()
629 Edge* leftEdge = v->fLeftEnclosingEdge; in rewind()
630 for (Edge* e = v->fFirstEdgeAbove; e; e = e->fNextEdgeAbove) { in rewind()
644 static void rewind_if_necessary(Edge* edge, EdgeList* activeEdges, Vertex** current, in rewind_if_necessary()
682 void GrTriangulator::setTop(Edge* edge, Vertex* v, EdgeList* activeEdges, Vertex** current, in setTop()
696 void GrTriangulator::setBottom(Edge* edge, Vertex* v, EdgeList* activeEdges, Vertex** current, in setBottom()
710 void GrTriangulator::mergeEdgesAbove(Edge* edge, Edge* other, EdgeList* activeEdges, in mergeEdgesAbove()
731 void GrTriangulator::mergeEdgesBelow(Edge* edge, Edge* other, EdgeList* activeEdges, in mergeEdgesBelow()
752 static bool top_collinear(Edge* left, Edge* right) { in top_collinear()
760 static bool bottom_collinear(Edge* left, Edge* right) { in bottom_collinear()
768 void GrTriangulator::mergeCollinearEdges(Edge* edge, EdgeList* activeEdges, Vertex** current, in mergeCollinearEdges()
789 bool GrTriangulator::splitEdge(Edge* edge, Vertex* v, EdgeList* activeEdges, Vertex** current, in splitEdge()
812 Edge* newEdge = fAlloc->make<Edge>(top, bottom, winding, edge->fType); in splitEdge()
819 bool GrTriangulator::intersectEdgePair(Edge* left, Edge* right, EdgeList* activeEdges, in intersectEdgePair()
852 Edge* GrTriangulator::makeConnectingEdge(Vertex* prev, Vertex* next, EdgeType type, in makeConnectingEdge()
857 Edge* edge = this->makeEdge(prev, next, type, c); in makeConnectingEdge()
873 while (Edge* edge = src->fFirstEdgeAbove) { in mergeVertices()
876 while (Edge* edge = src->fFirstEdgeBelow) { in mergeVertices()
918 static bool nearly_flat(const Comparator& c, Edge* edge) { in nearly_flat()
934 void GrTriangulator::computeBisector(Edge* edge1, Edge* edge2, Vertex* v) const { in computeBisector()
954 bool GrTriangulator::checkForIntersection(Edge* left, Edge* right, EdgeList* activeEdges, in checkForIntersection()
1151 for (Edge* e = v->fFirstEdgeAbove; e; e = e->fNextEdgeAbove) { in dump()
1154 for (Edge* e = v->fFirstEdgeBelow; e; e = e->fNextEdgeBelow) { in dump()
1162 static void validate_edge_pair(Edge* left, Edge* right, const Comparator& c) { in validate_edge_pair()
1185 Edge* left = edges->fHead; in validate_edge_list()
1189 for (Edge* right = left->fRight; right; right = right->fRight) { in validate_edge_list()
1207 Edge* leftEnclosingEdge; in simplify()
1208 Edge* rightEnclosingEdge; in simplify()
1218 for (Edge* edge = v->fFirstEdgeBelow; edge; edge = edge->fNextEdgeBelow) { in simplify()
1240 for (Edge* e = v->fFirstEdgeAbove; e; e = e->fNextEdgeAbove) { in simplify()
1243 Edge* leftEdge = leftEnclosingEdge; in simplify()
1244 for (Edge* e = v->fFirstEdgeBelow; e; e = e->fNextEdgeBelow) { in simplify()
1266 Edge* leftEnclosingEdge; in tessellate()
1267 Edge* rightEnclosingEdge; in tessellate()
1280 for (Edge* e = v->fFirstEdgeAbove; e; e = e->fNextEdgeAbove) { in tessellate()
1287 for (Edge* e = v->fFirstEdgeBelow; e; e = e->fNextEdgeBelow) { in tessellate()
1301 for (Edge* e = v->fFirstEdgeAbove; e != v->fLastEdgeAbove; e = e->fNextEdgeAbove) { in tessellate()
1302 Edge* rightEdge = e->fNextEdgeAbove; in tessellate()
1334 Edge* join = fAlloc->make<Edge>(leftPoly->lastVertex(), v, 1, in tessellate()
1340 Edge* leftEdge = v->fFirstEdgeBelow; in tessellate()
1343 for (Edge* rightEdge = leftEdge->fNextEdgeBelow; rightEdge; in tessellate()
1358 for (Edge* e = activeEdges.fHead; e != nullptr; e = e->fRight) { in tessellate()