Lines Matching defs:mesh

23  * 2) Build a mesh of edges connecting the vertices (build_edges()).
25 * 4) Simplify the mesh by inserting new vertices at intersecting edges (simplify()).
26 * 5) Tessellate the simplified mesh into monotone polygons (tessellate()).
36 * antialiased mesh from those vertices (stroke_boundary()).
37 * Run steps 3-6 above on the new mesh, and produce antialiased triangles.
51 * not exact and may violate the mesh topology or active edge list ordering. We
52 * accommodate this by adjusting the topology of the mesh and AEL to match the intersection
139 * an individual Vertex from the path mesh may belong to multiple
324 * output may be incorrect, and adjusting the mesh topology to match (see comment at the top of
1040 void merge_vertices(Vertex* src, Vertex* dst, VertexList* mesh, Comparator& c,
1058 mesh->remove(src);
1151 void merge_coincident_vertices(VertexList* mesh, Comparator& c, SkArenaAlloc& alloc) {
1152 if (!mesh->fHead) {
1155 for (Vertex* v = mesh->fHead->fNext; v != nullptr; v = v->fNext) {
1160 merge_vertices(v->fPrev, v, mesh, c, alloc);
1165 // Stage 2: convert the contours to a mesh of edges connecting the vertices.
1167 void build_edges(VertexList* contours, int contourCnt, VertexList* mesh, Comparator& c,
1174 mesh->append(v);
1249 // Stage 4: Simplify the mesh by inserting new vertices at intersecting edges.
1349 // Stage 5: Tessellate the simplified mesh into monotone polygons.
1459 void remove_non_boundary_edges(const VertexList& mesh, SkPath::FillType fillType,
1463 for (Vertex* v = mesh.fHead; v != nullptr; v = v->fNext) {
1551 // new antialiased mesh from those vertices.
1606 // Connect vertices into a quad mesh. Outer edges get default (1) winding.
1650 // Stage 5b: Extract boundaries from mesh, simplify and stroke them into a new mesh.
1669 VertexList* mesh, Comparator& c, SkArenaAlloc& alloc) {
1681 build_edges(contours, contourCnt, mesh, c, alloc);
1708 VertexList mesh;
1709 contours_to_mesh(contours, contourCnt, antialias, &mesh, c, alloc);
1710 sort_mesh(&mesh, c, alloc);
1711 merge_coincident_vertices(&mesh, c, alloc);
1712 simplify(mesh, c, alloc);
1715 extract_boundaries(mesh, &innerMesh, outerMesh, fillType, c, alloc);
1719 LOG("found complex mesh; taking slow path\n");
1733 return tessellate(mesh, alloc);