Struct rtbvh::Aabb [−][src]
#[repr(align(32))]pub struct Aabb<Extra: Debug + Copy = i32> { pub min: Vec3, pub extra1: Extra, pub max: Vec3, pub extra2: Extra, }
Fields
min: Vec3
extra1: Extra
max: Vec3
extra2: Extra
Implementations
impl<E: Debug + Copy + Default> Aabb<E>
[src]
impl<E: Debug + Copy + Default> Aabb<E>
[src]pub fn new() -> Self
[src]
pub fn full() -> Self
[src]
pub fn empty() -> Self
[src]
pub fn union_of(&self, bb: &Self) -> Self
[src]
pub fn intersection(&self, bb: &Self) -> Self
[src]
pub fn from_points(points: &[Vec3]) -> Self
[src]
pub fn transformed(&self, transform: Mat4) -> Self
[src]
pub fn union_of_list(aabbs: &[Self]) -> Self
[src]
pub fn transform(&mut self, transform: Mat4)
[src]
impl<E: Debug + Copy> Aabb<E>
[src]
impl<E: Debug + Copy> Aabb<E>
[src]pub fn is_valid(&self) -> bool
[src]
pub fn intersect(&self, ray: &Ray) -> Option<f32>
[src]
pub fn intersects(&self, ray: &Ray) -> bool
[src]
pub fn intersect4(&self, packet: &RayPacket4) -> Option<[f32; 4]>
[src]
pub fn contains(&self, pos: Vec3) -> bool
[src]
pub fn grow(&mut self, pos: Vec3)
[src]
pub fn grow_bb(&mut self, aabb: &Self)
[src]
pub fn grow_bbs(&mut self, aabbs: &[Self])
[src]
pub fn shrink(&mut self, aabb: &Self)
[src]
pub fn with_offset(self, delta: f32) -> Self
[src]
pub fn offset_by(&mut self, delta: f32)
[src]
pub fn volume(&self) -> f32
[src]
pub fn center(&self) -> Vec3
[src]
pub fn area(&self) -> f32
[src]
pub fn half_area(&self) -> f32
[src]
pub fn lengths(&self) -> Vec3
[src]
pub fn longest_axis(&self) -> usize
[src]
pub fn all_corners(&self) -> [Vec3; 8]
[src]
pub fn extend(&self, axis: usize) -> f32
[src]
pub fn points(&self) -> (Vec3, Vec3)
[src]
pub fn diagonal(&self) -> Vec3
[src]
pub fn longest_extent(&self) -> f32
[src]
Trait Implementations
impl<'de, Extra: Debug + Copy> Deserialize<'de> for Aabb<Extra> where
Extra: Deserialize<'de>,
[src]
impl<'de, Extra: Debug + Copy> Deserialize<'de> for Aabb<Extra> where
Extra: Deserialize<'de>,
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl<E: Debug + Copy + Send + Sync + Default, const COUNT: usize> From<[Vec3; COUNT]> for Aabb<E>
[src]
impl<E: Debug + Copy + Send + Sync + Default, const COUNT: usize> From<[Vec3; COUNT]> for Aabb<E>
[src]Auto Trait Implementations
impl<Extra> RefUnwindSafe for Aabb<Extra> where
Extra: RefUnwindSafe,
impl<Extra> RefUnwindSafe for Aabb<Extra> where
Extra: RefUnwindSafe,
impl<Extra> UnwindSafe for Aabb<Extra> where
Extra: UnwindSafe,
impl<Extra> UnwindSafe for Aabb<Extra> where
Extra: UnwindSafe,