pub struct OctNode<T: Send + Clone> {
pub data: Option<T>,
pub sub_nodes: Vec<OctNode<T>>,
pub position: [i128; 3],
pub size: u64,
}
Fields§
§data: Option<T>
§sub_nodes: Vec<OctNode<T>>
§position: [i128; 3]
§size: u64
Implementations§
Source§impl<T: Send + Clone> OctNode<T>
impl<T: Send + Clone> OctNode<T>
pub fn new(&self, position: [i128; 3], size: u64) -> Self
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
pub fn set(&mut self, node: &mut Self)
pub fn is_leaf(&self) -> bool
pub const fn half_size(&self) -> u64
pub fn subdivide(&mut self, amount: u32)
pub fn remove_leaves(&mut self, recursive: bool)
pub fn get_octant_at(&self, position: &[i128; 3]) -> OctantId
pub fn get_octant(&self, octant: &OctantId) -> [i128; 3]
Trait Implementations§
Source§impl<'de, T> Deserialize<'de> for OctNode<T>
impl<'de, T> Deserialize<'de> for OctNode<T>
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl<T> Freeze for OctNode<T>where
T: Freeze,
impl<T> RefUnwindSafe for OctNode<T>where
T: RefUnwindSafe,
impl<T> Send for OctNode<T>
impl<T> Sync for OctNode<T>where
T: Sync,
impl<T> Unpin for OctNode<T>where
T: Unpin,
impl<T> UnwindSafe for OctNode<T>where
T: UnwindSafe,
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