Lines Matching refs:fTail
237 VertexList() : fHead(nullptr), fTail(nullptr) {} in VertexList()
238 VertexList(Vertex* head, Vertex* tail) : fHead(head), fTail(tail) {} in VertexList()
240 Vertex* fTail; member
242 list_insert<Vertex, &Vertex::fPrev, &Vertex::fNext>(v, prev, next, &fHead, &fTail); in insert()
245 insert(v, fTail, nullptr); in append()
251 if (fTail) { in append()
252 fTail->fNext = list.fHead; in append()
253 list.fHead->fPrev = fTail; in append()
257 fTail = list.fTail; in append()
263 list_remove<Vertex, &Vertex::fPrev, &Vertex::fNext>(v, &fHead, &fTail); in remove()
266 if (fHead && fTail) { in close()
267 fTail->fNext = fHead; in close()
268 fHead->fPrev = fTail; in close()
424 EdgeList() : fHead(nullptr), fTail(nullptr) {} in EdgeList()
426 Edge* fTail; member
428 list_insert<Edge, &Edge::fLeft, &Edge::fRight>(edge, prev, next, &fHead, &fTail); in insert()
431 insert(e, fTail, nullptr); in append()
434 list_remove<Edge, &Edge::fLeft, &Edge::fRight>(edge, &fHead, &fTail); in remove()
442 if (fHead && fTail) { in close()
443 fTail->fRight = fHead; in close()
444 fHead->fLeft = fTail; in close()
459 , fTail(nullptr) in Poly()
516 while (v != vertices.fTail) { in emit()
562 if (!fTail) { in addEdge()
563 fHead = fTail = alloc.make<MonotonePoly>(e, side); in addEdge()
565 } else if (e->fBottom == fTail->fLastEdge->fBottom) { in addEdge()
567 } else if (side == fTail->fSide) { in addEdge()
568 fTail->addEdge(e); in addEdge()
571 e = alloc.make<Edge>(fTail->fLastEdge->fBottom, e->fBottom, 1, Edge::Type::kInner); in addEdge()
572 fTail->addEdge(e); in addEdge()
579 m->fPrev = fTail; in addEdge()
580 fTail->fNext = m; in addEdge()
581 fTail = m; in addEdge()
596 Vertex* lastVertex() const { return fTail ? fTail->fLastEdge->fBottom : fFirstVertex; } in lastVertex()
600 MonotonePoly* fTail; member
798 for (prev = edges->fTail; prev != nullptr; prev = prev->fLeft) { in find_enclosing_edges()
1132 Vertex* prev = contour->fTail; in sanitize_contours()
1170 Vertex* prev = contour->fTail; in build_edges()
1239 VertexList back(slow->fNext, vertices->fTail); in merge_sort()
1240 front.fTail->fNext = back.fHead->fPrev = nullptr; in merge_sort()
1245 vertices->fHead = vertices->fTail = nullptr; in merge_sort()
1417 if (leftPoly->fTail && leftPoly->fTail->fSide == Poly::kLeft_Side) { in tessellate()
1504 Edge* prevEdge = boundary->fTail; in simplify_boundary()
1523 prevEdge = boundary->fTail; in simplify_boundary()
1559 Edge* prevEdge = boundary->fTail; in stroke_boundary()
1581 fix_inversions(innerVertices.fTail, innerVertex, prevBisector, bisector, prevEdge, c); in stroke_boundary()
1582 fix_inversions(outerVertices.fTail, outerVertex, prevBisector, bisector, prevEdge, c); in stroke_boundary()
1601 fix_inversions(innerVertices.fTail, innerVertices.fHead, prevBisector, bisector, prevEdge, c); in stroke_boundary()
1602 fix_inversions(outerVertices.fTail, outerVertices.fHead, prevBisector, bisector, prevEdge, c); in stroke_boundary()
1603 Vertex* prevInnerVertex = innerVertices.fTail; in stroke_boundary()
1604 Vertex* prevOuterVertex = outerVertices.fTail; in stroke_boundary()
1725 outerMesh->fHead = outerMesh->fTail = nullptr; in contours_to_polys()