Revolved

ABSTRACT

The Revolved operation involves creating a surface by rotating each line mesh in the given mesh-tree around an axis specified by the rotation vector. In particular, each provided mesh should only have lines (and possibly boundary dots)

PARAMETERS
meshRepresents the mesh-tree containing meshes to be revolved. All provided meshes will undergo the revolution process.
rootThe rot of the mesh-tree, serving as the container for mesh selection.
tag_predicate(tag)Determines whether a mesh should be included in the revolution operation based on the provided tag.
rotationSpecifies the axis and angle of rotation for each mesh (radians). Should be a 3-vector
RETURN

If the complete mesh set is provided, all meshes will be individually revolved, and the return value is the mesh-tree of all the revolved meshes. However, if only a subset is chosen, the returned value will comprise a mesh-tree of the revolved 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 revolution).

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