#[repr(C)]pub struct BvhNode {
pub bbox_min: [f32; 3],
pub bbox_max: [f32; 3],
pub left_or_first: u32,
pub right_or_count: u32,
pub parent: u32,
pub node_type: u32,
}Expand description
BVH node: 48 bytes, repr(C), naturally aligned.
offset size field
0 12 bbox_min:[f32;3]
12 12 bbox_max:[f32;3]
24 4 left_or_first:u32 (internal: left child index; leaf: first prim index)
28 4 right_or_count:u32 (internal: right child index; leaf: prim count)
32 4 parent:u32 (parent node index, or INVALID_INDEX)
36 4 node_type:u32 (0 = internal, 1 = leaf)Fields§
§bbox_min: [f32; 3]§bbox_max: [f32; 3]§left_or_first: u32§right_or_count: u32§parent: u32§node_type: u32Trait Implementations§
impl Copy for BvhNode
impl Pod for BvhNode
impl StructuralPartialEq for BvhNode
Auto Trait Implementations§
impl Freeze for BvhNode
impl RefUnwindSafe for BvhNode
impl Send for BvhNode
impl Sync for BvhNode
impl Unpin for BvhNode
impl UnsafeUnpin for BvhNode
impl UnwindSafe for BvhNode
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
Aggregate shares in an MPC protocol.
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
§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
§type Bits = T
type Bits = T
Self must have the same layout as the specified Bits except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern.§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
If this function returns true, then it must be valid to reinterpret
bits
as &Self.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
The none-equivalent value.