Projected
ABSTRACT
The Projected operation maps meshes from 3D space onto another mesh by projecting each point onto another mesh along a given ray
PARAMETERS
mesh | Represents the mesh-tree containing meshes to be projected. All provided meshes will undergo projection. |
root | The root of the mesh-tree, serving as the container for mesh selection. |
tag_predicate(tag) | Determines whether a mesh should be included in the projection based on the provided tag. |
screen | Represents the mesh-tree of the screen, dictating the entire screen |
screen_root | The root of the mesh-tree of the screen, providing the container for screen selection. |
screen_predicate(tag) | Determines whether a mesh should be included in the screen, based on the provided tag. |
ray | A ray (3-vector) in 3D space defining the direction for the projection. |
RETURN
If the complete mesh set is provided, all meshes will be individually projected onto the 2D screen. The return value is the mesh-tree of all the projected meshes. However, if only a subset is chosen, the returned value will comprise a mesh-tree of the projected 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. not projected).
DECLARATION
func Projected([mesh_tree] {[full] {mesh}, [tag_pred] {root, tag_predicate(tag)}}, [screen_tree] {[root] {screen}, [tag_pred] {screen_root, screen_predicate(tag)}}, ray)