#[repr(C)]pub struct b2DebugDraw {Show 29 fields
pub DrawPolygonFcn: Option<unsafe extern "C" fn(transform: b2WorldTransform, vertices: *const b2Vec2, vertexCount: c_int, color: b2HexColor, context: *mut c_void)>,
pub DrawSolidPolygonFcn: Option<unsafe extern "C" fn(transform: b2WorldTransform, vertices: *const b2Vec2, vertexCount: c_int, radius: f32, color: b2HexColor, context: *mut c_void)>,
pub DrawCircleFcn: Option<unsafe extern "C" fn(center: b2Pos, radius: f32, color: b2HexColor, context: *mut c_void)>,
pub DrawSolidCircleFcn: Option<unsafe extern "C" fn(transform: b2WorldTransform, center: b2Vec2, radius: f32, color: b2HexColor, context: *mut c_void)>,
pub DrawSolidCapsuleFcn: Option<unsafe extern "C" fn(p1: b2Pos, p2: b2Pos, radius: f32, color: b2HexColor, context: *mut c_void)>,
pub DrawLineFcn: Option<unsafe extern "C" fn(p1: b2Pos, p2: b2Pos, color: b2HexColor, context: *mut c_void)>,
pub DrawTransformFcn: Option<unsafe extern "C" fn(transform: b2WorldTransform, context: *mut c_void)>,
pub DrawPointFcn: Option<unsafe extern "C" fn(p: b2Pos, size: f32, color: b2HexColor, context: *mut c_void)>,
pub DrawStringFcn: Option<unsafe extern "C" fn(p: b2Pos, s: *const c_char, color: b2HexColor, context: *mut c_void)>,
pub DrawBoundsFcn: Option<unsafe extern "C" fn(aabb: b2AABB, color: b2HexColor, context: *mut c_void)>,
pub drawingBounds: b2AABB,
pub forceScale: f32,
pub jointScale: f32,
pub drawContacts: bool,
pub drawAnchorA: bool,
pub drawShapes: bool,
pub drawChainNormals: bool,
pub drawJoints: bool,
pub drawJointExtras: bool,
pub drawBounds: bool,
pub drawMass: bool,
pub drawBodyNames: bool,
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 holds callbacks you can implement to draw a Box2D 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. Initialize with b2DefaultDebugDraw. @ingroup world
Fields§
§DrawPolygonFcn: Option<unsafe extern "C" fn(transform: b2WorldTransform, vertices: *const b2Vec2, vertexCount: c_int, color: b2HexColor, context: *mut c_void)>Draw a closed polygon provided in CCW order.
DrawSolidPolygonFcn: Option<unsafe extern "C" fn(transform: b2WorldTransform, vertices: *const b2Vec2, vertexCount: c_int, radius: f32, color: b2HexColor, context: *mut c_void)>Draw a solid closed polygon provided in CCW order.
DrawCircleFcn: Option<unsafe extern "C" fn(center: b2Pos, radius: f32, color: b2HexColor, context: *mut c_void)>Draw a circle.
DrawSolidCircleFcn: Option<unsafe extern "C" fn(transform: b2WorldTransform, center: b2Vec2, radius: f32, color: b2HexColor, context: *mut c_void)>Draw a solid circle.
DrawSolidCapsuleFcn: Option<unsafe extern "C" fn(p1: b2Pos, p2: b2Pos, radius: f32, color: b2HexColor, context: *mut c_void)>Draw a solid capsule.
DrawLineFcn: Option<unsafe extern "C" fn(p1: b2Pos, p2: b2Pos, color: b2HexColor, context: *mut c_void)>Draw a line segment.
DrawTransformFcn: Option<unsafe extern "C" fn(transform: b2WorldTransform, context: *mut c_void)>Draw a transform. Choose your own length scale.
DrawPointFcn: Option<unsafe extern "C" fn(p: b2Pos, size: f32, color: b2HexColor, context: *mut c_void)>Draw a point.
DrawStringFcn: Option<unsafe extern "C" fn(p: b2Pos, s: *const c_char, color: b2HexColor, context: *mut c_void)>Draw a string in world space
DrawBoundsFcn: Option<unsafe extern "C" fn(aabb: b2AABB, color: b2HexColor, context: *mut c_void)>Draw a bounding box. With double precision enabled, the single precision bounding box gets increasing padding when moving far from the origin.
drawingBounds: b2AABBWorld bounds to use for debug draw
forceScale: f32Scale to use when drawing forces
jointScale: f32Global scaling for joint drawing
drawContacts: boolOption to draw contact points
drawAnchorA: boolDraw anchor A for contact points (instead of anchorB)
drawShapes: boolOption to draw shapes
drawChainNormals: boolOption to draw chain shape normals
drawJoints: boolOption to draw joints
drawJointExtras: boolOption to draw additional information for joints
drawBounds: boolOption to draw the bounding boxes for shapes
drawMass: boolOption to draw the mass and center of mass of dynamic bodies
drawBodyNames: boolOption to draw body names
drawGraphColors: boolOption to visualize the graph coloring used for contacts and joints
drawContactFeatures: boolOption to draw contact feature ids
drawContactNormals: boolOption to draw contact normals
drawContactForces: boolOption to draw contact normal forces
drawFrictionForces: boolOption to draw contact friction forces
drawIslands: boolOption to draw islands as bounding boxes
context: *mut c_voidUser context that is passed as an argument to drawing callback functions
Trait Implementations§
Source§impl Clone for b2DebugDraw
impl Clone for b2DebugDraw
Source§fn clone(&self) -> b2DebugDraw
fn clone(&self) -> b2DebugDraw
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more