Struct let_engine::objects::physics::RigidBodyBuilder
source · pub struct RigidBodyBuilder {
pub linvel: Vec2,
pub angvel: Real,
pub gravity_scale: Real,
pub linear_damping: Real,
pub angular_damping: Real,
pub can_sleep: bool,
pub sleeping: bool,
pub ccd_enabled: bool,
pub dominance_group: i8,
pub enabled: bool,
/* private fields */
}Expand description
A builder for rigid-bodies.
Fields§
§linvel: Vec2The linear velocity of the rigid-body to be built.
angvel: RealThe angular velocity of the rigid-body to be built.
gravity_scale: RealThe scale factor applied to the gravity affecting the rigid-body to be built, 1.0 by default.
linear_damping: RealDamping factor for gradually slowing down the translational motion of the rigid-body, 0.0 by default.
angular_damping: RealDamping factor for gradually slowing down the angular motion of the rigid-body, 0.0 by default.
can_sleep: boolWhether or not the rigid-body to be created can sleep if it reaches a dynamic equilibrium.
sleeping: boolWhether or not the rigid-body is to be created asleep.
ccd_enabled: boolWhether continuous collision-detection is enabled for the rigid-body to be built.
CCD prevents tunneling, but may still allow limited interpenetration of colliders.
dominance_group: i8The dominance group of the rigid-body to be built.
enabled: boolWill the rigid-body being built be enabled?
Implementations§
source§impl RigidBodyBuilder
impl RigidBodyBuilder
sourcepub fn new(body_type: RigidBodyType) -> Self
pub fn new(body_type: RigidBodyType) -> Self
Initialize a new builder for a rigid body which is either fixed, dynamic, or kinematic.
sourcepub fn kinematic_velocity_based() -> Self
pub fn kinematic_velocity_based() -> Self
Initializes the builder of a new velocity-based kinematic rigid body.
sourcepub fn kinematic_position_based() -> Self
pub fn kinematic_position_based() -> Self
Initializes the builder of a new position-based kinematic rigid body.
sourcepub fn gravity_scale(self, scale_factor: Real) -> Self
pub fn gravity_scale(self, scale_factor: Real) -> Self
Sets the scale applied to the gravity force affecting the rigid-body to be created.
sourcepub fn dominance_group(self, group: i8) -> Self
pub fn dominance_group(self, group: i8) -> Self
Sets the dominance group of this rigid-body.
sourcepub fn locked_axes(self, locked_axes: LockedAxes) -> Self
pub fn locked_axes(self, locked_axes: LockedAxes) -> Self
Sets the axes along which this rigid-body cannot translate or rotate.
sourcepub fn lock_translations(self) -> Self
pub fn lock_translations(self) -> Self
Prevents this rigid-body from translating because of forces.
sourcepub fn enabled_translations(
self,
allow_translations_x: bool,
allow_translations_y: bool
) -> Self
pub fn enabled_translations( self, allow_translations_x: bool, allow_translations_y: bool ) -> Self
Only allow translations of this rigid-body around specific coordinate axes.
sourcepub fn lock_rotations(self) -> Self
pub fn lock_rotations(self) -> Self
Prevents this rigid-body from rotating because of forces.
sourcepub fn linear_damping(self, factor: Real) -> Self
pub fn linear_damping(self, factor: Real) -> Self
Sets the damping factor for the linear part of the rigid-body motion.
The higher the linear damping factor is, the more quickly the rigid-body will slow-down its translational movement.
sourcepub fn angular_damping(self, factor: Real) -> Self
pub fn angular_damping(self, factor: Real) -> Self
Sets the damping factor for the angular part of the rigid-body motion.
The higher the angular damping factor is, the more quickly the rigid-body will slow-down its rotational movement.
sourcepub fn linvel(self, linvel: Vec2) -> Self
pub fn linvel(self, linvel: Vec2) -> Self
Sets the initial linear velocity of the rigid-body to be created.
sourcepub fn angvel(self, angvel: Real) -> Self
pub fn angvel(self, angvel: Real) -> Self
Sets the initial angular velocity of the rigid-body to be created.
sourcepub fn can_sleep(self, can_sleep: bool) -> Self
pub fn can_sleep(self, can_sleep: bool) -> Self
Sets whether or not the rigid-body to be created can sleep if it reaches a dynamic equilibrium.
sourcepub fn ccd_enabled(self, enabled: bool) -> Self
pub fn ccd_enabled(self, enabled: bool) -> Self
Sets whether or not continuous collision-detection is enabled for this rigid-body.
CCD prevents tunneling, but may still allow limited interpenetration of colliders.
sourcepub fn sleeping(self, sleeping: bool) -> Self
pub fn sleeping(self, sleeping: bool) -> Self
Sets whether or not the rigid-body is to be created asleep.
Trait Implementations§
source§impl Clone for RigidBodyBuilder
impl Clone for RigidBodyBuilder
source§fn clone(&self) -> RigidBodyBuilder
fn clone(&self) -> RigidBodyBuilder
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for RigidBodyBuilder
impl Debug for RigidBodyBuilder
source§impl From<RigidBodyBuilder> for RigidBody
impl From<RigidBodyBuilder> for RigidBody
source§fn from(val: RigidBodyBuilder) -> Self
fn from(val: RigidBodyBuilder) -> Self
source§impl PartialEq for RigidBodyBuilder
impl PartialEq for RigidBodyBuilder
source§fn eq(&self, other: &RigidBodyBuilder) -> bool
fn eq(&self, other: &RigidBodyBuilder) -> bool
self and other values to be equal, and is used
by ==.impl StructuralPartialEq for RigidBodyBuilder
Auto Trait Implementations§
impl RefUnwindSafe for RigidBodyBuilder
impl Send for RigidBodyBuilder
impl Sync for RigidBodyBuilder
impl Unpin for RigidBodyBuilder
impl UnwindSafe for RigidBodyBuilder
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.