Tesselated

ABSTRACT

The tesselation process involves subdividing a mesh into smaller parts or increasing its geometric complexity by recursive division, thereby producing a more detailed representation. This operation takes an existing mesh and generates a more refined version by dividing each triangle into smaller triangles.

REMARK

Tesselation can be used when we want to apply a PointMapped, ColorMapped, or some other similar non linear operation, where if we place it on the existing mesh, the transformation would be too choppy. Tesselation only affects the triangles. If you have pure line meshes, then you might want to look at LineSubdivided instead

PARAMETERS
meshRepresents the mesh-tree containing meshes to be tesselated. All provided meshes will undergo the tesselation process.
rootThe root of the mesh-tree, serving as the container for mesh selection.
tag_predicate(tag)Determines whether a mesh should be included in the tesselation operation based on the provided tag.
depthSpecifies the level of subdivision or the depth of tesselation. A higher depth value indicates more subdivisions and increased mesh complexity.
RETURN

If the complete mesh set is provided, all meshes will be individually tesselated, and the return value is the mesh-tree of all the tesselated meshes. However, if only a subset is chosen, the returned value will comprise a mesh-tree of the tesselated selected meshes, while the unselected meshes will remain unchanged. Crucially, all meshes you didn't select will still be included in the result mesh_tree, but be provided as is (i.e. no tesselation).

DECLARATION
func Tesselated([mesh_tree] {[full] {mesh}, [tag_pred] {root, tag_predicate(tag)}}, depth)