[−][src]Struct tray_rust::geometry::bvh::BVH
A standard BVH2 that stores objects that can report their bounds in some space
via the Boundable
trait. The BVH is constructed using a SAH partitioning scheme
Methods
impl<T: Boundable> BVH<T>
[src]
pub fn unanimated(max_geom: usize, geometry: Vec<T>) -> BVH<T>
[src]
Create a new non-animated BVH holding the geometry
pub fn new(max_geom: usize, geometry: Vec<T>, start: f32, end: f32) -> BVH<T>
[src]
Create a new BVH using a SAH construction algorithm which holds the scene geometry for some time period.
pub fn rebuild(&mut self, start: f32, end: f32)
[src]
Re-build the BVH for the time range passed
pub fn intersect<'a, F, R>(&'a self, ray: &mut Ray, f: F) -> Option<R> where
F: Fn(&mut Ray, &'a T) -> Option<R>,
[src]
F: Fn(&mut Ray, &'a T) -> Option<R>,
Traverse the BVH and call the function passed on the objects in the leaf nodes of the BVH, returning the value returned by the function after traversal completes
pub fn iter(&self) -> Iter<T>
[src]
Trait Implementations
Auto Trait Implementations
impl<T> Send for BVH<T> where
T: Send,
T: Send,
impl<T> Sync for BVH<T> where
T: Sync,
T: Sync,
impl<T> Unpin for BVH<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for BVH<T> where
T: UnwindSafe,
T: UnwindSafe,
impl<T> RefUnwindSafe for BVH<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,