Lines Matching refs:mesh
968 void GrTriangulator::mergeVertices(Vertex* src, Vertex* dst, VertexList* mesh,
982 mesh->remove(src);
986 Vertex* GrTriangulator::makeSortedVertex(const SkPoint& p, uint8_t alpha, VertexList* mesh,
992 Vertex* nextV = prevV ? prevV->fNext : mesh->fHead;
1006 v->fID = mesh->fHead->fID - 1.0f;
1008 v->fID = mesh->fTail->fID + 1.0f;
1013 mesh->insert(v, prevV, nextV);
1057 Vertex** current, VertexList* mesh,
1089 v = this->makeSortedVertex(p, alpha, mesh, top, c);
1140 bool GrTriangulator::mergeCoincidentVertices(VertexList* mesh, const Comparator& c) const {
1141 if (!mesh->fHead) {
1145 for (Vertex* v = mesh->fHead->fNext; v;) {
1151 this->mergeVertices(v, v->fPrev, mesh, c);
1159 // Stage 2: convert the contours to a mesh of edges connecting the vertices.
1161 void GrTriangulator::buildEdges(VertexList* contours, int contourCnt, VertexList* mesh,
1168 mesh->append(v);
1294 // Stage 4: Simplify the mesh by inserting new vertices at intersecting edges.
1296 GrTriangulator::SimplifyResult GrTriangulator::simplify(VertexList* mesh,
1301 for (Vertex* v = mesh->fHead; v != nullptr; v = v->fNext) {
1318 leftEnclosingEdge, edge, &activeEdges, &v, mesh, c) ||
1320 edge, rightEnclosingEdge, &activeEdges, &v, mesh, c)) {
1328 &v, mesh, c)) {
1351 // Stage 5: Tessellate the simplified mesh into monotone polygons.
1469 void GrTriangulator::contoursToMesh(VertexList* contours, int contourCnt, VertexList* mesh,
1482 this->buildEdges(contours, contourCnt, mesh, c);
1508 VertexList mesh;
1509 this->contoursToMesh(contours, contourCnt, &mesh, c);
1510 TESS_LOG("\ninitial mesh:\n");
1511 DUMP_MESH(mesh);
1512 SortMesh(&mesh, c);
1513 TESS_LOG("\nsorted mesh:\n");
1514 DUMP_MESH(mesh);
1515 this->mergeCoincidentVertices(&mesh, c);
1516 TESS_LOG("\nsorted+merged mesh:\n");
1517 DUMP_MESH(mesh);
1518 this->simplify(&mesh, c);
1519 TESS_LOG("\nsimplified mesh:\n");
1520 DUMP_MESH(mesh);
1521 return this->tessellate(mesh, c);