Skip to main content

b3DebugDraw

Struct b3DebugDraw 

Source
#[repr(C)]
pub struct b3DebugDraw {
Show 27 fields pub DrawShapeFcn: Option<unsafe extern "C" fn(userShape: *mut c_void, transform: b3WorldTransform, color: b3HexColor, context: *mut c_void) -> bool>, pub DrawSegmentFcn: Option<unsafe extern "C" fn(p1: b3Pos, p2: b3Pos, color: b3HexColor, context: *mut c_void)>, pub DrawTransformFcn: Option<unsafe extern "C" fn(transform: b3WorldTransform, context: *mut c_void)>, pub DrawPointFcn: Option<unsafe extern "C" fn(p: b3Pos, size: f32, color: b3HexColor, context: *mut c_void)>, pub DrawSphereFcn: Option<unsafe extern "C" fn(p: b3Pos, radius: f32, color: b3HexColor, alpha: f32, context: *mut c_void)>, pub DrawCapsuleFcn: Option<unsafe extern "C" fn(p1: b3Pos, p2: b3Pos, radius: f32, color: b3HexColor, alpha: f32, context: *mut c_void)>, pub DrawBoundsFcn: Option<unsafe extern "C" fn(aabb: b3AABB, color: b3HexColor, context: *mut c_void)>, pub DrawBoxFcn: Option<unsafe extern "C" fn(extents: b3Vec3, transform: b3WorldTransform, color: b3HexColor, context: *mut c_void)>, pub DrawStringFcn: Option<unsafe extern "C" fn(p: b3Pos, s: *const c_char, color: b3HexColor, context: *mut c_void)>, pub drawingBounds: b3AABB, pub forceScale: f32, pub jointScale: f32, pub drawShapes: bool, pub drawJoints: bool, pub drawJointExtras: bool, pub drawBounds: bool, pub drawMass: bool, pub drawBodyNames: bool, pub drawContacts: bool, pub drawAnchorA: c_int, pub drawGraphColors: bool, pub drawContactFeatures: bool, pub drawContactNormals: bool, pub drawContactForces: bool, pub drawFrictionForces: bool, pub drawIslands: bool, pub context: *mut c_void,
}
Expand description

This struct is passed to b3World_Draw to draw a debug view of the simulation world. Callbacks receive world coordinates. In large world mode the translation is double precision so it stays accurate far from the origin. Shift into your own camera frame inside the callbacks.

Fields§

§DrawShapeFcn: Option<unsafe extern "C" fn(userShape: *mut c_void, transform: b3WorldTransform, color: b3HexColor, context: *mut c_void) -> bool>

Draws a shape and returns true if drawing should continue

§DrawSegmentFcn: Option<unsafe extern "C" fn(p1: b3Pos, p2: b3Pos, color: b3HexColor, context: *mut c_void)>

Draw a line segment.

§DrawTransformFcn: Option<unsafe extern "C" fn(transform: b3WorldTransform, context: *mut c_void)>

Draw a transform. Choose your own length scale.

§DrawPointFcn: Option<unsafe extern "C" fn(p: b3Pos, size: f32, color: b3HexColor, context: *mut c_void)>

Draw a point.

§DrawSphereFcn: Option<unsafe extern "C" fn(p: b3Pos, radius: f32, color: b3HexColor, alpha: f32, context: *mut c_void)>

Draw a sphere.

§DrawCapsuleFcn: Option<unsafe extern "C" fn(p1: b3Pos, p2: b3Pos, radius: f32, color: b3HexColor, alpha: f32, context: *mut c_void)>

Draw a capsule.

§DrawBoundsFcn: Option<unsafe extern "C" fn(aabb: b3AABB, color: b3HexColor, context: *mut c_void)>

Draw a bounding box.

§DrawBoxFcn: Option<unsafe extern "C" fn(extents: b3Vec3, transform: b3WorldTransform, color: b3HexColor, context: *mut c_void)>

Draw an oriented box.

§DrawStringFcn: Option<unsafe extern "C" fn(p: b3Pos, s: *const c_char, color: b3HexColor, context: *mut c_void)>

Draw a string in world space

§drawingBounds: b3AABB

World bounds to use for debug draw

§forceScale: f32

Scale to use when drawing forces

§jointScale: f32

Global scaling for joint drawing

§drawShapes: bool

Option to draw shapes

§drawJoints: bool

Option to draw joints

§drawJointExtras: bool

Option to draw additional information for joints

§drawBounds: bool

Option to draw the bounding boxes for shapes

§drawMass: bool

Option to draw the mass and center of mass of dynamic bodies

§drawBodyNames: bool

Option to draw body names

§drawContacts: bool

Option to draw contact points

§drawAnchorA: c_int

Draw contact anchor A or B

§drawGraphColors: bool

Option to visualize the graph coloring used for contacts and joints

§drawContactFeatures: bool

Option to draw contact features

§drawContactNormals: bool

Option to draw contact normals

§drawContactForces: bool

Option to draw contact normal forces

§drawFrictionForces: bool

Option to draw contact friction forces

§drawIslands: bool

Option to draw islands as bounding boxes

§context: *mut c_void

User context that is passed as an argument to drawing callback functions

Trait Implementations§

Source§

impl Clone for b3DebugDraw

Source§

fn clone(&self) -> b3DebugDraw

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for b3DebugDraw

Source§

impl Debug for b3DebugDraw

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.