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
meshRepresents the mesh-tree containing meshes to be projected. All provided meshes will undergo projection.
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 projection based on the provided tag.
screenRepresents the mesh-tree of the screen, dictating the entire screen
screen_rootThe 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.
rayA 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)