pub struct LocalManifold {
pub normal: Vec3,
pub triangle_normal: Vec3,
pub points: [LocalManifoldPoint; 32],
pub point_count: i32,
pub triangle_index: i32,
pub i1: i32,
pub i2: i32,
pub i3: i32,
pub squared_distance: f32,
pub feature: TriangleFeature,
pub triangle_flags: i32,
}Expand description
A local manifold with no dynamic information. Used by collide functions.
Unlike C (which holds a b3LocalManifoldPoint* into an external buffer),
this embeds a fixed MAX_POINTS_PER_TRIANGLE point array so mesh
narrow-phase can gather up to 32 clip points before cluster reduction.
Convex callers still pass capacity == MAX_MANIFOLD_POINTS.
(b3LocalManifold)
Fields§
§normal: Vec3Local normal in frame A.
triangle_normal: Vec3The triangle normal.
points: [LocalManifoldPoint; 32]The manifold points.
point_count: i32The number of manifold points. Only bounded by the buffer capacity.
triangle_index: i32The index of the triangle.
i1: i32Vertex 1 index.
i2: i32Vertex 2 index.
i3: i32Vertex 3 index.
squared_distance: f32The squared distance of a sphere from a triangle. For ghost collision reduction.
feature: TriangleFeatureThe triangle feature involved.
triangle_flags: i32b3MeshEdgeFlags.
Trait Implementations§
Source§impl Clone for LocalManifold
impl Clone for LocalManifold
Source§fn clone(&self) -> LocalManifold
fn clone(&self) -> LocalManifold
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for LocalManifold
Source§impl Debug for LocalManifold
impl Debug for LocalManifold
Source§impl Default for LocalManifold
impl Default for LocalManifold
Source§impl PartialEq for LocalManifold
impl PartialEq for LocalManifold
impl StructuralPartialEq for LocalManifold
Auto Trait Implementations§
impl Freeze for LocalManifold
impl RefUnwindSafe for LocalManifold
impl Send for LocalManifold
impl Sync for LocalManifold
impl Unpin for LocalManifold
impl UnsafeUnpin for LocalManifold
impl UnwindSafe for LocalManifold
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