Uprank
A rank of a mesh is said to be -1 if its empty, 0 if it only contains dots, 1 if it contains lines, and 2 if it contains triangles. The process of upranking is converting a mesh of rank n to rank n + 1. At this time, you can uprank a mesh if it is a loop mesh. That is, it containts a line (mesh of rank 1) that has an end back at its start. In such a case, the mesh will be upranked to rank 2, with triangles filling the interior of the section enclosed by the loop.
You might not use uprank directly that much, but it's definitely important to know what rank is, what sort of meshes can be upranked, and how even if two meshes look identical on screen, they may have completely different topologies.
mesh | Represents the mesh-tree containing meshes to be upranked. All meshes provided will be upranked. |
root | The root of the mesh-tree, providing the container for meshes to select from |
tag_predicate(tag) | Determines whether a mesh should be included in the operation based on the tag provided. |
As with many operator meshes, if you provided the full mesh set, then all meshes will be individually upranked, and the returned value is the mesh-tree comprising all of the upranked meshes. However, if you only choose a subset, then the returned value will consist of a mesh-tree of the upranked selected meshes. Crucially, all meshes you didn't select will still be included in the result mesh_tree, but be provided as is (i.e. no upranking
func Uprank([mesh_tree] {[full] {mesh}, [tag_pred] {root, tag_predicate(tag)}})