pub enum VolumeIsectData {
Convex {
planes: Vec<ConvexPlane>,
},
Sphere {
center: [f32; 3],
world_center: [f32; 3],
radius: f32,
mins: [f32; 3],
maxs: [f32; 3],
},
Cylinder {
top: [f32; 3],
bot: [f32; 3],
radius: f32,
world_bot: [f32; 3],
world_norm: [f32; 3],
length: f32,
min: f32,
max: f32,
},
Parallel {
planes: Vec<ParallelPlane>,
},
Cone {
capped: bool,
rad_angle: f32,
length: f32,
world_tip: [f32; 3],
world_norm: [f32; 3],
norms: Vec<[f32; 3]>,
dists: Vec<f32>,
},
}Expand description
Parsed volume intersection geometry. Used by plSoftVolumeSimple for containment testing.
Variants§
Convex
plConvexIsect (0x02FA): convex hull of half-planes. C++ ref: plVolumeIsect.cpp:737-751
Fields
§
planes: Vec<ConvexPlane>Sphere
plSphereIsect (0x02F6): sphere containment. C++ ref: plVolumeIsect.cpp:147-154
Cylinder
plCylinderIsect (0x02F8): cylinder containment. C++ ref: plVolumeIsect.cpp:497-508
Fields
Parallel
plParallelIsect (0x02F9): pairs of parallel planes. C++ ref: plVolumeIsect.cpp:607-621
Fields
§
planes: Vec<ParallelPlane>Cone
plConeIsect (0x02F7): cone containment. C++ ref: plVolumeIsect.cpp:325-345
Trait Implementations§
Source§impl Clone for VolumeIsectData
impl Clone for VolumeIsectData
Source§fn clone(&self) -> VolumeIsectData
fn clone(&self) -> VolumeIsectData
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for VolumeIsectData
impl RefUnwindSafe for VolumeIsectData
impl Send for VolumeIsectData
impl Sync for VolumeIsectData
impl Unpin for VolumeIsectData
impl UnsafeUnpin for VolumeIsectData
impl UnwindSafe for VolumeIsectData
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