[][src]Struct tray_rust::geometry::bvh::BVH

pub struct BVH<T: Boundable> { /* fields omitted */ }

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]

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

impl<T: Boundable> Boundable for BVH<T>[src]

Auto Trait Implementations

impl<T> Send for BVH<T> where
    T: Send

impl<T> Sync for BVH<T> where
    T: Sync

impl<T> Unpin for BVH<T> where
    T: Unpin

impl<T> UnwindSafe for BVH<T> where
    T: UnwindSafe

impl<T> RefUnwindSafe for BVH<T> where
    T: RefUnwindSafe

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> SetParameter for T[src]