Home | History | Annotate | Download | only in core

Lines Matching refs:Vertex

26 //   left-handed by looking at the top vertex, which is available in the
81 class Vertex;
85 // The Trapezoid (actually, up to two of them) is embedded into a Vertex, whose
94 const Vertex* left() const { return fLeft; }
95 const Vertex* right() const { return fRight; }
96 const Vertex* bottom() const { return fBottom; }
97 Vertex* left() { return fLeft; }
98 Vertex* right() { return fRight; }
99 Vertex* bottom() { return fBottom; }
100 void setLeft(Vertex *left) { fLeft = left; }
101 void setRight(Vertex *right) { fRight = right; }
102 void setBottom(Vertex *bottom) { fBottom = bottom; }
109 Vertex *fLeft, *fRight, *fBottom;
131 // Select an unused trapezoid from the Vertex vt, initialize it with the
133 bool insertNewTrapezoid(Vertex *vt, Vertex *left, Vertex *right);
143 Trapezoid* getTrapezoidWithEdge(const Vertex *edge);
156 // The Vertex is used to communicate information between the various phases of
159 class Vertex {
170 Vertex *next() { return fNext; }
171 Vertex *prev() { return fPrev; }
172 const Vertex *next() const { return fNext; }
173 const Vertex *prev() const { return fPrev; }
174 void setNext(Vertex *next) { fNext = next; }
175 void setPrev(Vertex *prev) { fPrev = prev; }
196 // Determine whether the edge specified by this Vertex shares the given top
198 bool shareEdge(Vertex *top, Vertex *bottom);
204 // Remove this Vertex from the { prev, next } linked list.
206 Vertex *p = prev(),
214 // edge that has this Vertex as a base.
217 // Classify the vertex, and return its sorted edges.
218 VertexType classify(Vertex **e0, Vertex **e1);
221 Vertex *diagonal();
225 Vertex *fNext;
226 Vertex *fPrev;
231 bool Vertex::angleIsConvex() {
239 bool Vertex::shareEdge(Vertex *top, Vertex *bottom) {
245 SkScalar Vertex::compare(const SkPoint &pt) const {
291 Trapezoid* ActiveTrapezoids::getTrapezoidWithEdge(const Vertex *edge) {
310 bool ActiveTrapezoids::insertNewTrapezoid(Vertex *vt,
311 Vertex *left,
312 Vertex *right) {
331 FailureMessage("More than 2 trapezoids requested for a vertex\n");
394 Vertex* Vertex::diagonal() {
395 Vertex *diag = NULL;
419 Vertex *vt;
441 static void SetVertexPoints(size_t numPts, const SkPoint *pt, Vertex *vt) {
447 static void InitializeVertexTopology(size_t numPts, Vertex *v1) {
448 Vertex *v0 = v1 + numPts - 1, *v_1 = v0 - 1;
455 Vertex::VertexType Vertex::classify(Vertex **e0, Vertex **e1) {
563 static const char* GetVertexTypeString(Vertex::VertexType type) {
566 case Vertex::MONOTONE:
569 case Vertex::CONCAVE:
572 case Vertex::CONVEX:
580 static void PrintVertices(size_t numPts, Vertex *vt) {
583 Vertex *e0, *e1;
584 Vertex::VertexType type = vt[i].classify(&e0, &e1);
605 static void PrintVertexPtrs(size_t numPts, VertexPtr *vp, Vertex *vtBase) {
608 Vertex *e0, *e1;
609 Vertex *vt = vp[i].vt;
610 Vertex::VertexType type = vt->classify(&e0, &e1);
630 inline void PrintVertices(size_t numPts, Vertex *vt) {}
631 inline void PrintVertexPtrs(size_t numPts, VertexPtr *vp, Vertex *vtBase) {}
655 static void RemoveDegenerateTrapezoids(size_t numVt, Vertex *vt) {
678 bool ConvertPointsToVertices(size_t numPts, const SkPoint *pts, Vertex *vta) {
710 Vertex *vt = vtpp->vt;
711 Vertex *e0, *e1;
714 case Vertex::MONOTONE:
733 case Vertex::CONVEX: // Start of a new trapezoid.
752 case Vertex::CONCAVE: // End of a trapezoid.
786 // Merge the two trapezoids into one below this vertex.
808 inline void appendTriangleAtVertex(const Vertex *v,
823 static size_t CountVertices(const Vertex *first, const Vertex *last) {
846 static void PrintLinkedVertices(size_t n, Vertex *vertices) {
848 Vertex *v;
857 bool TriangulateMonotone(Vertex *first, Vertex *last,
868 Vertex *start = first;
872 for (Vertex *v = first->next(); v != first && count-- > 0; v = v->next())
884 Vertex *current = start->next();
897 Vertex *save = current->prev();
918 bool Triangulate(Vertex *first, Vertex *last, SkTDArray<SkPoint> *triangles) {
920 Vertex *currentVertex = first;
923 Vertex *bottomVertex = currentVertex->diagonal();
925 Vertex
926 Vertex *savePrev = bottomVertex->prev();
952 SkTDArray<Vertex> vertices;