Struct bevy_rapier3d::prelude::RigidBodyVelocity [−][src]
pub struct RigidBodyVelocity {
pub linvel: Matrix<f32, Const<{_: usize}>, Const<1_usize>, ArrayStorage<f32, 3_usize, 1_usize>>,
pub angvel: Matrix<f32, Const<{_: usize}>, Const<1_usize>, ArrayStorage<f32, 3_usize, 1_usize>>,
}
Expand description
The velocities of this rigid-body.
Fields
linvel: Matrix<f32, Const<{_: usize}>, Const<1_usize>, ArrayStorage<f32, 3_usize, 1_usize>>
The linear velocity of the rigid-body.
angvel: Matrix<f32, Const<{_: usize}>, Const<1_usize>, ArrayStorage<f32, 3_usize, 1_usize>>
The angular velocity of the rigid-body.
Implementations
pub fn new(
linvel: Matrix<f32, Const<{_: usize}>, Const<1_usize>, ArrayStorage<f32, 3_usize, 1_usize>>,
angvel: Matrix<f32, Const<{_: usize}>, Const<1_usize>, ArrayStorage<f32, 3_usize, 1_usize>>
) -> RigidBodyVelocity
pub fn new(
linvel: Matrix<f32, Const<{_: usize}>, Const<1_usize>, ArrayStorage<f32, 3_usize, 1_usize>>,
angvel: Matrix<f32, Const<{_: usize}>, Const<1_usize>, ArrayStorage<f32, 3_usize, 1_usize>>
) -> RigidBodyVelocity
Create a new rigid-body velocity component.
Converts a slice to a rigid-body velocity.
The slice must contain at least 6 elements: the slice[0..3] contains the linear velocity and the
slice[3..6]` contains the angular velocity.
Velocities set to zero.
This velocity seen as a slice.
The linear part is stored first.
This velocity seen as a mutable slice.
The linear part is stored first.
This velocity seen as a vector.
The linear part is stored first.
pub fn as_vector_mut(
&mut self
) -> &mut Matrix<f32, Const<{_: usize}>, Const<1_usize>, ArrayStorage<f32, 6_usize, 1_usize>>
pub fn as_vector_mut(
&mut self
) -> &mut Matrix<f32, Const<{_: usize}>, Const<1_usize>, ArrayStorage<f32, 6_usize, 1_usize>>
This velocity seen as a mutable vector.
The linear part is stored first.
pub fn transformed(
self,
transform: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>
) -> RigidBodyVelocity
pub fn transformed(
self,
transform: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>
) -> RigidBodyVelocity
Return self
transformed by transform
.
Return self
rotated by rotation
.
The approximate kinetic energy of this rigid-body.
This approximation does not take the rigid-body’s mass and angular inertia into account.
Returns the update velocities after applying the given damping.
The velocity of the given world-space point on this rigid-body.
Integrate the velocities in self
to compute obtain new positions when moving from the given
inital position init_pos
.
The kinetic energy of this rigid-body.
pub fn apply_impulse(
&mut self,
rb_mprops: &RigidBodyMassProps,
impulse: Matrix<f32, Const<{_: usize}>, Const<1_usize>, ArrayStorage<f32, 3_usize, 1_usize>>
)
pub fn apply_impulse(
&mut self,
rb_mprops: &RigidBodyMassProps,
impulse: Matrix<f32, Const<{_: usize}>, Const<1_usize>, ArrayStorage<f32, 3_usize, 1_usize>>
)
Applies an impulse at the center-of-mass of this rigid-body. The impulse is applied right away, changing the linear velocity. This does nothing on non-dynamic bodies.
pub fn apply_torque_impulse(
&mut self,
rb_mprops: &RigidBodyMassProps,
torque_impulse: Matrix<f32, Const<{_: usize}>, Const<1_usize>, ArrayStorage<f32, 3_usize, 1_usize>>
)
pub fn apply_torque_impulse(
&mut self,
rb_mprops: &RigidBodyMassProps,
torque_impulse: Matrix<f32, Const<{_: usize}>, Const<1_usize>, ArrayStorage<f32, 3_usize, 1_usize>>
)
Applies an angular impulse at the center-of-mass of this rigid-body. The impulse is applied right away, changing the angular velocity. This does nothing on non-dynamic bodies.
pub fn apply_impulse_at_point(
&mut self,
rb_mprops: &RigidBodyMassProps,
impulse: Matrix<f32, Const<{_: usize}>, Const<1_usize>, ArrayStorage<f32, 3_usize, 1_usize>>,
point: OPoint<f32, Const<3_usize>>
)
pub fn apply_impulse_at_point(
&mut self,
rb_mprops: &RigidBodyMassProps,
impulse: Matrix<f32, Const<{_: usize}>, Const<1_usize>, ArrayStorage<f32, 3_usize, 1_usize>>,
point: OPoint<f32, Const<3_usize>>
)
Applies an impulse at the given world-space point of this rigid-body. The impulse is applied right away, changing the linear and/or angular velocities. This does nothing on non-dynamic bodies.
Trait Implementations
type Output = RigidBodyVelocity
type Output = RigidBodyVelocity
The resulting type after applying the +
operator.
Performs the +
operation. Read more
Performs the +=
operation. Read more
impl<'world, 'state, 'a> ComponentSet<RigidBodyVelocity> for RigidBodyComponentsSet<'world, 'state, 'a>
impl<'world, 'state, 'a> ComponentSet<RigidBodyVelocity> for RigidBodyComponentsSet<'world, 'state, 'a>
impl<'world, 'state, 'a> ComponentSetMut<RigidBodyVelocity> for RigidBodyComponentsSet<'world, 'state, 'a>
impl<'world, 'state, 'a> ComponentSetMut<RigidBodyVelocity> for RigidBodyComponentsSet<'world, 'state, 'a>
Set the value of this element.
fn map_mut_internal<Result>(
&mut self,
handle: Index,
f: impl FnOnce(&mut RigidBodyVelocity) -> Result
) -> Option<Result>
fn map_mut_internal<Result>(
&mut self,
handle: Index,
f: impl FnOnce(&mut RigidBodyVelocity) -> Result
) -> Option<Result>
Applies the given closure to the element associated to the given handle
. Read more
impl<'world, 'state, 'a> ComponentSetOption<RigidBodyVelocity> for RigidBodyComponentsSet<'world, 'state, 'a>
impl<'world, 'state, 'a> ComponentSetOption<RigidBodyVelocity> for RigidBodyComponentsSet<'world, 'state, 'a>
Get the element associated to the given handle
, if there is one.
Returns the “default value” for a type. Read more
type Output = RigidBodyVelocity
type Output = RigidBodyVelocity
The resulting type after applying the *
operator.
Performs the *
operation. Read more
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl RefUnwindSafe for RigidBodyVelocity
impl Send for RigidBodyVelocity
impl Sync for RigidBodyVelocity
impl Unpin for RigidBodyVelocity
impl UnwindSafe for RigidBodyVelocity
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
Convert 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
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
impl<T> FromWorld for T where
T: Default,
impl<T> FromWorld for T where
T: Default,
pub fn from_world(_world: &mut World) -> T
pub fn from_world(_world: &mut World) -> T
Creates Self
using data from the given [World]
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
pub fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
pub fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
pub fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.
pub fn clone_type_data(&self) -> Box<dyn TypeData + 'static, Global>
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more