pub struct SceneGraph { /* private fields */ }Expand description
A flat scene graph with parent-child node relationships.
Implementations§
Source§impl SceneGraph
impl SceneGraph
pub fn new() -> Self
Sourcepub fn create_root(&mut self, position: Vec3) -> NodeId
pub fn create_root(&mut self, position: Vec3) -> NodeId
Allocate a new root node.
Sourcepub fn create_child(&mut self, parent: NodeId, position: Vec3) -> Option<NodeId>
pub fn create_child(&mut self, parent: NodeId, position: Vec3) -> Option<NodeId>
Allocate a new node with a parent.
Sourcepub fn remove_subtree(&mut self, id: NodeId) -> usize
pub fn remove_subtree(&mut self, id: NodeId) -> usize
Remove a node and all its descendants. Returns the count of removed nodes.
Sourcepub fn flush_transforms(&mut self)
pub fn flush_transforms(&mut self)
Update world transforms for all dirty nodes (depth-first from roots).
Sourcepub fn find_by_tag(&self, tag: &str) -> Vec<NodeId>
pub fn find_by_tag(&self, tag: &str) -> Vec<NodeId>
Find all nodes with a specific tag.
Sourcepub fn visible_sorted(&self) -> Vec<NodeId>
pub fn visible_sorted(&self) -> Vec<NodeId>
Find all visible nodes sorted by sort_key.
pub fn is_empty(&self) -> bool
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SceneGraph
impl RefUnwindSafe for SceneGraph
impl Send for SceneGraph
impl Sync for SceneGraph
impl Unpin for SceneGraph
impl UnsafeUnpin for SceneGraph
impl UnwindSafe for SceneGraph
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more