pub struct AngularVelocity(pub Vector);Expand description
The angular velocity of a rigid body, represented as a rotation axis multiplied by the angular speed in radians per second.
§Example
use avian3d::prelude::*;
use bevy::prelude::*;
fn accelerate_angular(mut query: Query<&mut AngularVelocity>, time: Res<Time>) {
    let delta_secs = time.delta_secs();
    for mut angular_velocity in &mut query {
        // Accelerate rotation about the Z axis at `0.5` radians per second squared.
        angular_velocity.z += 0.5 * delta_secs;
    }
}§Related Components
LinearVelocity: The linear velocity of a body.AngularDamping: Reduces the angular velocity of a body over time, similar to air resistance.MaxAngularSpeed: Clamps the angular velocity of a body.
Tuple Fields§
§0: VectorImplementations§
Source§impl AngularVelocity
 
impl AngularVelocity
Sourcepub const ZERO: AngularVelocity
 
pub const ZERO: AngularVelocity
Zero angular velocity.
Methods from Deref<Target = Vector>§
pub const ZERO: Vec3
pub const ONE: Vec3
pub const NEG_ONE: Vec3
pub const MIN: Vec3
pub const MAX: Vec3
pub const NAN: Vec3
pub const INFINITY: Vec3
pub const NEG_INFINITY: Vec3
pub const X: Vec3
pub const Y: Vec3
pub const Z: Vec3
pub const NEG_X: Vec3
pub const NEG_Y: Vec3
pub const NEG_Z: Vec3
pub const AXES: [Vec3; 3]
pub const USES_CORE_SIMD: bool = false
pub const USES_NEON: bool = false
pub const USES_SCALAR_MATH: bool = true
pub const USES_SSE2: bool = false
pub const USES_WASM32_SIMD: bool = false
Sourcepub fn move_towards(&self, rhs: Vec3, d: f32) -> Vec3
 
pub fn move_towards(&self, rhs: Vec3, d: f32) -> Vec3
Moves towards rhs based on the value d.
When d is 0.0, the result will be equal to self. When d is equal to
self.distance(rhs), the result will be equal to rhs. Will not go past rhs.
Sourcepub fn any_orthogonal_vector(&self) -> Vec3
 
pub fn any_orthogonal_vector(&self) -> Vec3
Returns some vector that is orthogonal to the given one.
The input vector must be finite and non-zero.
The output vector is not necessarily unit length. For that use
Self::any_orthonormal_vector() instead.
Sourcepub fn any_orthonormal_vector(&self) -> Vec3
 
pub fn any_orthonormal_vector(&self) -> Vec3
Returns any unit vector that is orthogonal to the given one.
The input vector must be unit length.
§Panics
Will panic if self is not normalized when glam_assert is enabled.
Sourcepub fn any_orthonormal_pair(&self) -> (Vec3, Vec3)
 
pub fn any_orthonormal_pair(&self) -> (Vec3, Vec3)
Given a unit vector return two other vectors that together form an orthonormal basis. That is, all three vectors are orthogonal to each other and are normalized.
§Panics
Will panic if self is not normalized when glam_assert is enabled.
Sourcepub fn as_i16vec3(&self) -> I16Vec3
 
pub fn as_i16vec3(&self) -> I16Vec3
Casts all elements of self to i16.
Sourcepub fn as_u16vec3(&self) -> U16Vec3
 
pub fn as_u16vec3(&self) -> U16Vec3
Casts all elements of self to u16.
Sourcepub fn as_i64vec3(&self) -> I64Vec3
 
pub fn as_i64vec3(&self) -> I64Vec3
Casts all elements of self to i64.
Sourcepub fn as_u64vec3(&self) -> U64Vec3
 
pub fn as_u64vec3(&self) -> U64Vec3
Casts all elements of self to u64.
Sourcepub fn as_usizevec3(&self) -> USizeVec3
 
pub fn as_usizevec3(&self) -> USizeVec3
Casts all elements of self to usize.
Trait Implementations§
Source§impl Clone for AngularVelocity
 
impl Clone for AngularVelocity
Source§fn clone(&self) -> AngularVelocity
 
fn clone(&self) -> AngularVelocity
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Component for AngularVelocity
 
impl Component for AngularVelocity
Source§const STORAGE_TYPE: StorageType = ::bevy::ecs::component::StorageType::Table
 
const STORAGE_TYPE: StorageType = ::bevy::ecs::component::StorageType::Table
Source§type Mutability = Mutable
 
type Mutability = Mutable
Component<Mutability = Mutable>],
while immutable components will instead have [Component<Mutability = Immutable>]. Read moreSource§fn register_required_components(
    _requiree: ComponentId,
    required_components: &mut RequiredComponentsRegistrator<'_, '_>,
)
 
fn register_required_components( _requiree: ComponentId, required_components: &mut RequiredComponentsRegistrator<'_, '_>, )
Source§fn clone_behavior() -> ComponentCloneBehavior
 
fn clone_behavior() -> ComponentCloneBehavior
Source§fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
 
fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
 
fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_replace() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
 
fn on_replace() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_remove() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
 
fn on_remove() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
 
fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
    E: EntityMapper,
 
fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
    E: EntityMapper,
EntityMapper. This is used to remap entities in contexts like scenes and entity cloning.
When deriving Component, this is populated by annotating fields containing entities with #[entities] Read moreSource§impl Debug for AngularVelocity
 
impl Debug for AngularVelocity
Source§impl Default for AngularVelocity
 
impl Default for AngularVelocity
Source§fn default() -> AngularVelocity
 
fn default() -> AngularVelocity
Source§impl Deref for AngularVelocity
 
impl Deref for AngularVelocity
Source§impl DerefMut for AngularVelocity
 
impl DerefMut for AngularVelocity
Source§impl From<Vec3> for AngularVelocity
 
impl From<Vec3> for AngularVelocity
Source§impl FromReflect for AngularVelocity
 
impl FromReflect for AngularVelocity
Source§fn from_reflect(reflect: &dyn PartialReflect) -> Option<Self>
 
fn from_reflect(reflect: &dyn PartialReflect) -> Option<Self>
Self from a reflected value.Source§fn take_from_reflect(
    reflect: Box<dyn PartialReflect>,
) -> Result<Self, Box<dyn PartialReflect>>
 
fn take_from_reflect( reflect: Box<dyn PartialReflect>, ) -> Result<Self, Box<dyn PartialReflect>>
Self using,
constructing the value using from_reflect if that fails. Read moreSource§impl GetTypeRegistration for AngularVelocity
 
impl GetTypeRegistration for AngularVelocity
Source§fn get_type_registration() -> TypeRegistration
 
fn get_type_registration() -> TypeRegistration
TypeRegistration for this type.Source§fn register_type_dependencies(registry: &mut TypeRegistry)
 
fn register_type_dependencies(registry: &mut TypeRegistry)
Source§impl PartialEq for AngularVelocity
 
impl PartialEq for AngularVelocity
Source§impl PartialReflect for AngularVelocity
 
impl PartialReflect for AngularVelocity
Source§fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
 
fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
Source§fn try_apply(&mut self, value: &dyn PartialReflect) -> Result<(), ApplyError>
 
fn try_apply(&mut self, value: &dyn PartialReflect) -> Result<(), ApplyError>
Source§fn reflect_kind(&self) -> ReflectKind
 
fn reflect_kind(&self) -> ReflectKind
Source§fn reflect_ref(&self) -> ReflectRef<'_>
 
fn reflect_ref(&self) -> ReflectRef<'_>
Source§fn reflect_mut(&mut self) -> ReflectMut<'_>
 
fn reflect_mut(&mut self) -> ReflectMut<'_>
Source§fn reflect_owned(self: Box<Self>) -> ReflectOwned
 
fn reflect_owned(self: Box<Self>) -> ReflectOwned
Source§fn try_into_reflect(
    self: Box<Self>,
) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
 
fn try_into_reflect( self: Box<Self>, ) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
Source§fn try_as_reflect(&self) -> Option<&dyn Reflect>
 
fn try_as_reflect(&self) -> Option<&dyn Reflect>
Source§fn try_as_reflect_mut(&mut self) -> Option<&mut dyn Reflect>
 
fn try_as_reflect_mut(&mut self) -> Option<&mut dyn Reflect>
Source§fn into_partial_reflect(self: Box<Self>) -> Box<dyn PartialReflect>
 
fn into_partial_reflect(self: Box<Self>) -> Box<dyn PartialReflect>
Source§fn as_partial_reflect(&self) -> &dyn PartialReflect
 
fn as_partial_reflect(&self) -> &dyn PartialReflect
Source§fn as_partial_reflect_mut(&mut self) -> &mut dyn PartialReflect
 
fn as_partial_reflect_mut(&mut self) -> &mut dyn PartialReflect
Source§fn reflect_partial_eq(&self, value: &dyn PartialReflect) -> Option<bool>
 
fn reflect_partial_eq(&self, value: &dyn PartialReflect) -> Option<bool>
Source§fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
 
fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
Self using reflection. Read moreSource§fn apply(&mut self, value: &(dyn PartialReflect + 'static))
 
fn apply(&mut self, value: &(dyn PartialReflect + 'static))
Source§fn to_dynamic(&self) -> Box<dyn PartialReflect>
 
fn to_dynamic(&self) -> Box<dyn PartialReflect>
Source§fn reflect_clone_and_take<T>(&self) -> Result<T, ReflectCloneError>
 
fn reflect_clone_and_take<T>(&self) -> Result<T, ReflectCloneError>
PartialReflect, combines reflect_clone and
take in a useful fashion, automatically constructing an appropriate
ReflectCloneError if the downcast fails. Read moreSource§fn reflect_hash(&self) -> Option<u64>
 
fn reflect_hash(&self) -> Option<u64>
Source§fn is_dynamic(&self) -> bool
 
fn is_dynamic(&self) -> bool
Source§impl Reflect for AngularVelocity
 
impl Reflect for AngularVelocity
Source§fn as_any_mut(&mut self) -> &mut dyn Any
 
fn as_any_mut(&mut self) -> &mut dyn Any
&mut dyn Any. Read moreSource§fn into_reflect(self: Box<Self>) -> Box<dyn Reflect>
 
fn into_reflect(self: Box<Self>) -> Box<dyn Reflect>
Source§fn as_reflect(&self) -> &dyn Reflect
 
fn as_reflect(&self) -> &dyn Reflect
Source§fn as_reflect_mut(&mut self) -> &mut dyn Reflect
 
fn as_reflect_mut(&mut self) -> &mut dyn Reflect
Source§impl TupleStruct for AngularVelocity
 
impl TupleStruct for AngularVelocity
Source§fn field(&self, index: usize) -> Option<&dyn PartialReflect>
 
fn field(&self, index: usize) -> Option<&dyn PartialReflect>
index as a
&dyn Reflect.Source§fn field_mut(&mut self, index: usize) -> Option<&mut dyn PartialReflect>
 
fn field_mut(&mut self, index: usize) -> Option<&mut dyn PartialReflect>
index
as a &mut dyn Reflect.Source§fn iter_fields(&self) -> TupleStructFieldIter<'_>
 
fn iter_fields(&self) -> TupleStructFieldIter<'_>
Source§fn to_dynamic_tuple_struct(&self) -> DynamicTupleStruct
 
fn to_dynamic_tuple_struct(&self) -> DynamicTupleStruct
DynamicTupleStruct from this tuple struct.Source§fn get_represented_tuple_struct_info(&self) -> Option<&'static TupleStructInfo>
 
fn get_represented_tuple_struct_info(&self) -> Option<&'static TupleStructInfo>
None if TypeInfo is not available.Source§impl TypePath for AngularVelocity
 
impl TypePath for AngularVelocity
Source§fn type_path() -> &'static str
 
fn type_path() -> &'static str
Source§fn short_type_path() -> &'static str
 
fn short_type_path() -> &'static str
Source§fn type_ident() -> Option<&'static str>
 
fn type_ident() -> Option<&'static str>
Source§fn crate_name() -> Option<&'static str>
 
fn crate_name() -> Option<&'static str>
Source§impl Typed for AngularVelocity
 
impl Typed for AngularVelocity
impl Copy for AngularVelocity
impl StructuralPartialEq for AngularVelocity
Auto Trait Implementations§
impl Freeze for AngularVelocity
impl RefUnwindSafe for AngularVelocity
impl Send for AngularVelocity
impl Sync for AngularVelocity
impl Unpin for AngularVelocity
impl UnwindSafe for AngularVelocity
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
 
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
 
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
T ShaderType for self. When used in AsBindGroup
derives, it is safe to assume that all images in self exist.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
Source§impl<C> Bundle for Cwhere
    C: Component,
 
impl<C> Bundle for Cwhere
    C: Component,
fn component_ids( components: &mut ComponentsRegistrator<'_>, ids: &mut impl FnMut(ComponentId), )
Source§fn get_component_ids(
    components: &Components,
    ids: &mut impl FnMut(Option<ComponentId>),
)
 
fn get_component_ids( components: &Components, ids: &mut impl FnMut(Option<ComponentId>), )
Source§impl<C> BundleFromComponents for Cwhere
    C: Component,
 
impl<C> BundleFromComponents for Cwhere
    C: Component,
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
Source§impl<T> Downcast for Twhere
    T: Any,
 
impl<T> Downcast for Twhere
    T: Any,
Source§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>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§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>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§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.Source§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.Source§impl<T> DowncastSend for T
 
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
 
impl<T> DowncastSync for T
Source§impl<C> DynamicBundle for Cwhere
    C: Component,
 
impl<C> DynamicBundle for Cwhere
    C: Component,
Source§unsafe fn get_components(
    ptr: MovingPtr<'_, C>,
    func: &mut impl FnMut(StorageType, OwningPtr<'_>),
) -> <C as DynamicBundle>::Effect
 
unsafe fn get_components( ptr: MovingPtr<'_, C>, func: &mut impl FnMut(StorageType, OwningPtr<'_>), ) -> <C as DynamicBundle>::Effect
Source§unsafe fn apply_effect(
    _ptr: MovingPtr<'_, MaybeUninit<C>>,
    _entity: &mut EntityWorldMut<'_>,
)
 
unsafe fn apply_effect( _ptr: MovingPtr<'_, MaybeUninit<C>>, _entity: &mut EntityWorldMut<'_>, )
Source§impl<T> DynamicTypePath for Twhere
    T: TypePath,
 
impl<T> DynamicTypePath for Twhere
    T: TypePath,
Source§fn reflect_type_path(&self) -> &str
 
fn reflect_type_path(&self) -> &str
TypePath::type_path.Source§fn reflect_short_type_path(&self) -> &str
 
fn reflect_short_type_path(&self) -> &str
Source§fn reflect_type_ident(&self) -> Option<&str>
 
fn reflect_type_ident(&self) -> Option<&str>
TypePath::type_ident.Source§fn reflect_crate_name(&self) -> Option<&str>
 
fn reflect_crate_name(&self) -> Option<&str>
TypePath::crate_name.Source§fn reflect_module_path(&self) -> Option<&str>
 
fn reflect_module_path(&self) -> Option<&str>
Source§impl<T> DynamicTyped for Twhere
    T: Typed,
 
impl<T> DynamicTyped for Twhere
    T: Typed,
Source§fn reflect_type_info(&self) -> &'static TypeInfo
 
fn reflect_type_info(&self) -> &'static TypeInfo
Typed::type_info.Source§impl<T> FromWorld for Twhere
    T: Default,
 
impl<T> FromWorld for Twhere
    T: Default,
Source§fn from_world(_world: &mut World) -> T
 
fn from_world(_world: &mut World) -> T
Creates Self using default().
Source§impl<T> GetPath for T
 
impl<T> GetPath for T
Source§fn reflect_path<'p>(
    &self,
    path: impl ReflectPath<'p>,
) -> Result<&(dyn PartialReflect + 'static), ReflectPathError<'p>>
 
fn reflect_path<'p>( &self, path: impl ReflectPath<'p>, ) -> Result<&(dyn PartialReflect + 'static), ReflectPathError<'p>>
path. Read moreSource§fn reflect_path_mut<'p>(
    &mut self,
    path: impl ReflectPath<'p>,
) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>
 
fn reflect_path_mut<'p>( &mut self, path: impl ReflectPath<'p>, ) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>
path. Read moreSource§fn path<'p, T>(
    &self,
    path: impl ReflectPath<'p>,
) -> Result<&T, ReflectPathError<'p>>where
    T: Reflect,
 
fn path<'p, T>(
    &self,
    path: impl ReflectPath<'p>,
) -> Result<&T, ReflectPathError<'p>>where
    T: Reflect,
path. Read moreSource§fn path_mut<'p, T>(
    &mut self,
    path: impl ReflectPath<'p>,
) -> Result<&mut T, ReflectPathError<'p>>where
    T: Reflect,
 
fn path_mut<'p, T>(
    &mut self,
    path: impl ReflectPath<'p>,
) -> Result<&mut T, ReflectPathError<'p>>where
    T: Reflect,
path. Read moreSource§impl<S> GetTupleStructField for Swhere
    S: TupleStruct,
 
impl<S> GetTupleStructField for Swhere
    S: TupleStruct,
Source§impl<T, W> HasTypeWitness<W> for Twhere
    W: MakeTypeWitness<Arg = T>,
    T: ?Sized,
 
impl<T, W> HasTypeWitness<W> for Twhere
    W: MakeTypeWitness<Arg = T>,
    T: ?Sized,
Source§impl<T> Identity for Twhere
    T: ?Sized,
 
impl<T> Identity for Twhere
    T: ?Sized,
Source§impl<T> Instrument for T
 
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
 
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
 
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
 
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoResult<T> for T
 
impl<T> IntoResult<T> for T
Source§fn into_result(self) -> Result<T, RunSystemError>
 
fn into_result(self) -> Result<T, RunSystemError>
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
    SS: SubsetOf<SP>,
 
impl<SS, SP> SupersetOf<SS> for SPwhere
    SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
 
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§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).Source§fn to_subset_unchecked(&self) -> SS
 
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
 
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.