pub struct RigidBody {Show 17 fields
pub collision: Option<[f32; 3]>,
pub stepped: bool,
pub air_drag: f32,
pub fluid_drag: f32,
pub resting: Vec3<i32>,
pub in_fluid: bool,
pub ratio_in_fluid: f32,
pub velocity: Vec3<f32>,
pub forces: Vec3<f32>,
pub impulses: Vec3<f32>,
pub sleep_frame_count: i32,
pub aabb: AABB,
pub mass: f32,
pub friction: f32,
pub restitution: f32,
pub gravity_multiplier: f32,
pub auto_step: bool,
}Expand description
A physical body in the Voxelize world.
Fields
collision: Option<[f32; 3]>If body.collision is true that tick, means there’s a collision detected.
stepped: boolIf the body stepped upwards that tick.
air_drag: f32The amount of drag this body has in air.
fluid_drag: f32The amount of drag this body has in fluid.
resting: Vec3<i32>A vector representing which axis is the body resting against something.
in_fluid: boolWhether or not this body is in fluid.
ratio_in_fluid: f32Ratio of body this body is in fluid.
velocity: Vec3<f32>Velocity vector of the rigid body.
forces: Vec3<f32>Forces vector of the rigid body.
impulses: Vec3<f32>Impulses vector of the rigid body.
sleep_frame_count: i32Counts how many frames this rigid body is static.
aabb: AABBAABB of this rigid body, describing its collision box.
mass: f32Mass of this rigid body.
friction: f32Friction of this rigid body.
restitution: f32Restitution of this rigid body.
gravity_multiplier: f32Gravity Multiplier of this rigid body. Set to 0 to fly.
auto_step: boolWhether or not this rigid body auto-steps up blocks.
Implementations
sourceimpl RigidBody
impl RigidBody
sourcepub fn new(aabb: &AABB) -> RigidBodyBuilder
pub fn new(aabb: &AABB) -> RigidBodyBuilder
Instantiate a new RigidBody using the Builder’s pattern.
sourcepub fn set_position(&mut self, px: f32, py: f32, pz: f32)
pub fn set_position(&mut self, px: f32, py: f32, pz: f32)
Setter for rigid body’s position, which is the bottom center of the rigid body.
sourcepub fn get_position(&self) -> Vec3<f32>
pub fn get_position(&self) -> Vec3<f32>
Get the position of the rigid body, which is the bottom center of the rigid body.
sourcepub fn apply_force(&mut self, fx: f32, fy: f32, fz: f32)
pub fn apply_force(&mut self, fx: f32, fy: f32, fz: f32)
Adds a vector to rigid body’s internal force, which gets processed every tick.
sourcepub fn apply_impulse(&mut self, ix: f32, iy: f32, iz: f32)
pub fn apply_impulse(&mut self, ix: f32, iy: f32, iz: f32)
Adds a vector to rigid body’s internal impulse, which gets processed every tick.
sourcepub fn at_rest_x(&self) -> i32
pub fn at_rest_x(&self) -> i32
Get x-axis of the resting vector of a rigid body. A resting vector indicates whether a body is resting or not.
sourcepub fn at_rest_y(&self) -> i32
pub fn at_rest_y(&self) -> i32
Get y-axis of the resting vector of a rigid body. A resting vector indicates whether a body is resting or not.
sourcepub fn at_rest_z(&self) -> i32
pub fn at_rest_z(&self) -> i32
Get z-axis of the resting vector of a rigid body. A resting vector indicates whether a body is resting or not.
sourcepub fn mark_active(&mut self)
pub fn mark_active(&mut self)
Mark rigid body as active in the physical world.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for RigidBody
impl Send for RigidBody
impl Sync for RigidBody
impl Unpin for RigidBody
impl UnwindSafe for RigidBody
Blanket Implementations
impl<T> Any for T where
T: Any,
impl<T> Any for T where
T: Any,
fn get_type_id(&self) -> TypeId
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> TryDefault for T where
T: Default,
impl<T> TryDefault for T where
T: Default,
sourcefn try_default() -> Result<T, String>
fn try_default() -> Result<T, String>
Tries to create the default.
sourcefn unwrap_default() -> Self
fn unwrap_default() -> Self
Calls try_default and panics on an error case.
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more