pub struct SphericalJoint {
pub body1: Entity,
pub body2: Entity,
pub frame1: JointFrame,
pub frame2: JointFrame,
pub twist_axis: Vector,
pub swing_limit: Option<AngleLimit>,
pub twist_limit: Option<AngleLimit>,
pub point_compliance: Scalar,
pub swing_compliance: Scalar,
pub twist_compliance: Scalar,
}
Expand description
A spherical joint prevents any relative translation between two bodies, while allowing limited rotation about all axes.
This is similar to the ball-and-socket joint in the human shoulder, and can be useful for things like ragdolls, robotic arms, pendula, chains, and other mechanisms where you need to allow free rotation around a point.
Each spherical joint is defined by a JointFrame
on each body. The joint aims to keep the anchor point of each frame aligned,
while allowing free rotation.
The relative rotation can optionally be limited to a circular cone defined by a twist_axis
about which the bodies can twist,
a twist_limit
that defines the extents of the allowed twisting, and a swing_limit
that defines the extents
of the allowed swing as a half-angle.
Fields§
§body1: Entity
The first body constrained by the joint.
body2: Entity
The second body constrained by the joint.
frame1: JointFrame
The reference frame of the first body, defining the joint anchor and basis relative to the body transform.
frame2: JointFrame
The reference frame of the second body, defining the joint anchor and basis relative to the body transform.
twist_axis: Vector
The local axis about which the bodies can twist relative to each other.
This is also the axis passing through the swing_limit
cone,
defining which axes the bodies can swing around.
By default, this is the y-axis.
swing_limit: Option<AngleLimit>
The extents of the allowed relative rotation of the bodies about a swing axis perpendicular to the twist_axis
.
twist_limit: Option<AngleLimit>
The extents of the allowed relative rotation of the bodies about the twist_axis
.
point_compliance: Scalar
The compliance of the point-to-point constraint (inverse of stiffness, m / N).
swing_compliance: Scalar
The compliance for swing (inverse of stiffness, N * m / rad).
twist_compliance: Scalar
The compliance for twist (inverse of stiffness, N * m / rad).
Implementations§
Source§impl SphericalJoint
impl SphericalJoint
Sourcepub const DEFAULT_TWIST_AXIS: Vector = Vector::Y
pub const DEFAULT_TWIST_AXIS: Vector = Vector::Y
The default twist_axis
for a spherical joint.
Sourcepub const fn new(body1: Entity, body2: Entity) -> Self
pub const fn new(body1: Entity, body2: Entity) -> Self
Creates a new SphericalJoint
between two entities.
Sourcepub const fn with_twist_axis(self, twist_axis: Vector) -> Self
pub const fn with_twist_axis(self, twist_axis: Vector) -> Self
Sets the twist_axis
about which the bodies can twist relative to each other.
This is also the axis passing through the swing_limit
cone,
defining which axes the bodies can swing around.
By default, this is the y-axis.
Sourcepub fn with_local_frame1(self, frame: impl Into<Isometry3d>) -> Self
pub fn with_local_frame1(self, frame: impl Into<Isometry3d>) -> Self
Sets the local JointFrame
of the first body, configuring both the JointAnchor
and JointBasis
.
Sourcepub fn with_local_frame2(self, frame: impl Into<Isometry3d>) -> Self
pub fn with_local_frame2(self, frame: impl Into<Isometry3d>) -> Self
Sets the local JointFrame
of the second body, configuring both the JointAnchor
and JointBasis
.
Sourcepub const fn with_anchor(self, anchor: Vector) -> Self
pub const fn with_anchor(self, anchor: Vector) -> Self
Sets the global anchor point on both bodies.
This configures the JointAnchor
of each JointFrame
.
Sourcepub const fn with_local_anchor1(self, anchor: Vector) -> Self
pub const fn with_local_anchor1(self, anchor: Vector) -> Self
Sets the local anchor point on the first body.
This configures the JointAnchor
of the first JointFrame
.
Sourcepub const fn with_local_anchor2(self, anchor: Vector) -> Self
pub const fn with_local_anchor2(self, anchor: Vector) -> Self
Sets the local anchor point on the second body.
This configures the JointAnchor
of the second JointFrame
.
Sourcepub fn with_basis(self, basis: impl Into<Quaternion>) -> Self
pub fn with_basis(self, basis: impl Into<Quaternion>) -> Self
Sets the global basis for both bodies.
This configures the JointBasis
of each JointFrame
.
Sourcepub fn with_local_basis1(self, basis: impl Into<Quaternion>) -> Self
pub fn with_local_basis1(self, basis: impl Into<Quaternion>) -> Self
Sets the local basis for the first body.
This configures the JointBasis
of the first JointFrame
.
Sourcepub fn with_local_basis2(self, basis: impl Into<Quaternion>) -> Self
pub fn with_local_basis2(self, basis: impl Into<Quaternion>) -> Self
Sets the local basis for the second body.
This configures the JointBasis
of the second JointFrame
.
Sourcepub fn local_frame1(&self) -> Option<Isometry3d>
pub fn local_frame1(&self) -> Option<Isometry3d>
Returns the local JointFrame
of the first body.
If the JointAnchor
is set to FromGlobal
,
and the local anchor has not yet been computed, or the JointBasis
is set to
FromGlobal
, and the local basis has not yet
been computed, this will return None
.
Sourcepub fn local_frame2(&self) -> Option<Isometry3d>
pub fn local_frame2(&self) -> Option<Isometry3d>
Returns the local JointFrame
of the second body.
If the JointAnchor
is set to FromGlobal
,
and the local anchor has not yet been computed, or the JointBasis
is set to
FromGlobal
, and the local basis has not yet
been computed, this will return None
.
Sourcepub const fn local_anchor1(&self) -> Option<Vector>
pub const fn local_anchor1(&self) -> Option<Vector>
Returns the local anchor point on the first body.
If the JointAnchor
is set to FromGlobal
,
and the local anchor has not yet been computed, this will return None
.
Sourcepub const fn local_anchor2(&self) -> Option<Vector>
pub const fn local_anchor2(&self) -> Option<Vector>
Returns the local anchor point on the second body.
If the JointAnchor
is set to FromGlobal
,
and the local anchor has not yet been computed, this will return None
.
Sourcepub const fn local_basis1(&self) -> Option<Quaternion>
pub const fn local_basis1(&self) -> Option<Quaternion>
Returns the local basis of the first body.
If the JointBasis
is set to FromGlobal
,
and the local basis has not yet been computed, this will return None
.
Sourcepub const fn local_basis2(&self) -> Option<Quaternion>
pub const fn local_basis2(&self) -> Option<Quaternion>
Returns the local basis of the second body.
If the JointBasis
is set to FromGlobal
,
and the local basis has not yet been computed, this will return None
.
Sourcepub fn local_twist_axis1(&self) -> Option<Vector>
pub fn local_twist_axis1(&self) -> Option<Vector>
Returns the local twist axis of the first body.
This is equivalent to rotating the twist_axis
by the local basis of frame1
.
If the JointBasis
is set to FromGlobal
,
and the local basis has not yet been computed, this will return None
.
Sourcepub fn local_twist_axis2(&self) -> Option<Vector>
pub fn local_twist_axis2(&self) -> Option<Vector>
Returns the local twist axis of the second body.
This is equivalent to rotating the twist_axis
by the local basis of frame2
.
If the JointBasis
is set to FromGlobal
,
and the local basis has not yet been computed, this will return None
.
Sourcepub const fn with_swing_limits(self, min: Scalar, max: Scalar) -> Self
pub const fn with_swing_limits(self, min: Scalar, max: Scalar) -> Self
Sets the limits of the allowed relative rotation about a swing axis perpendicular to the twist_axis
.
Sourcepub const fn with_twist_limits(self, min: Scalar, max: Scalar) -> Self
pub const fn with_twist_limits(self, min: Scalar, max: Scalar) -> Self
Sets the limits of the allowed relative rotation about the twist_axis
.
Sourcepub const fn with_compliance(self, compliance: Scalar) -> Self
👎Deprecated since 0.4.0: Use with_point_compliance
, with_swing_compliance
, and with_twist_compliance
instead.
pub const fn with_compliance(self, compliance: Scalar) -> Self
with_point_compliance
, with_swing_compliance
, and with_twist_compliance
instead.Sets the joint’s compliance (inverse of stiffness, m / N).
Sourcepub const fn with_point_compliance(self, compliance: Scalar) -> Self
pub const fn with_point_compliance(self, compliance: Scalar) -> Self
Sets the compliance of the axis alignment constraint (inverse of stiffness, m / N).
Sourcepub const fn with_swing_compliance(self, compliance: Scalar) -> Self
pub const fn with_swing_compliance(self, compliance: Scalar) -> Self
Sets the compliance of the swing limit (inverse of stiffness, N * m / rad).
Sourcepub const fn with_twist_compliance(self, compliance: Scalar) -> Self
pub const fn with_twist_compliance(self, compliance: Scalar) -> Self
Sets the compliance of the twist limit (inverse of stiffness, N * m / rad).
Trait Implementations§
Source§impl Clone for SphericalJoint
impl Clone for SphericalJoint
Source§fn clone(&self) -> SphericalJoint
fn clone(&self) -> SphericalJoint
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Component for SphericalJoint
impl Component for SphericalJoint
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 SphericalJoint
impl Debug for SphericalJoint
Source§impl DebugRenderConstraint<2> for SphericalJoint
impl DebugRenderConstraint<2> for SphericalJoint
Source§type Context = ()
type Context = ()
SystemParam
type for any additional ECS access required for rendering the constraint.Source§fn debug_render(
&self,
positions: [Vector; 2],
rotations: [Rotation; 2],
_context: &mut Self::Context,
gizmos: &mut Gizmos<'_, '_, PhysicsGizmos>,
config: &PhysicsGizmos,
)
fn debug_render( &self, positions: [Vector; 2], rotations: [Rotation; 2], _context: &mut Self::Context, gizmos: &mut Gizmos<'_, '_, PhysicsGizmos>, config: &PhysicsGizmos, )
Source§impl EntityConstraint<2> for SphericalJoint
impl EntityConstraint<2> for SphericalJoint
Source§impl FromReflect for SphericalJoint
impl FromReflect for SphericalJoint
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 SphericalJoint
impl GetTypeRegistration for SphericalJoint
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 MapEntities for SphericalJoint
impl MapEntities for SphericalJoint
Source§fn map_entities<M: EntityMapper>(&mut self, entity_mapper: &mut M)
fn map_entities<M: EntityMapper>(&mut self, entity_mapper: &mut M)
Source§impl PartialEq for SphericalJoint
impl PartialEq for SphericalJoint
Source§impl PartialReflect for SphericalJoint
impl PartialReflect for SphericalJoint
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 SphericalJoint
impl Reflect for SphericalJoint
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 Struct for SphericalJoint
impl Struct for SphericalJoint
Source§fn field(&self, name: &str) -> Option<&dyn PartialReflect>
fn field(&self, name: &str) -> Option<&dyn PartialReflect>
name
as a &dyn PartialReflect
.Source§fn field_mut(&mut self, name: &str) -> Option<&mut dyn PartialReflect>
fn field_mut(&mut self, name: &str) -> Option<&mut dyn PartialReflect>
name
as a
&mut dyn PartialReflect
.Source§fn field_at(&self, index: usize) -> Option<&dyn PartialReflect>
fn field_at(&self, index: usize) -> Option<&dyn PartialReflect>
index
as a
&dyn PartialReflect
.Source§fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn PartialReflect>
fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn PartialReflect>
index
as a &mut dyn PartialReflect
.Source§fn name_at(&self, index: usize) -> Option<&str>
fn name_at(&self, index: usize) -> Option<&str>
index
.Source§fn iter_fields(&self) -> FieldIter<'_>
fn iter_fields(&self) -> FieldIter<'_>
Source§fn to_dynamic_struct(&self) -> DynamicStruct
fn to_dynamic_struct(&self) -> DynamicStruct
DynamicStruct
from this struct.Source§fn get_represented_struct_info(&self) -> Option<&'static StructInfo>
fn get_represented_struct_info(&self) -> Option<&'static StructInfo>
None
if TypeInfo
is not available.Source§impl TypePath for SphericalJoint
impl TypePath for SphericalJoint
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 SphericalJoint
impl Typed for SphericalJoint
impl StructuralPartialEq for SphericalJoint
Auto Trait Implementations§
impl Freeze for SphericalJoint
impl RefUnwindSafe for SphericalJoint
impl Send for SphericalJoint
impl Sync for SphericalJoint
impl Unpin for SphericalJoint
impl UnwindSafe for SphericalJoint
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<S> GetField for Swhere
S: Struct,
impl<S> GetField for Swhere
S: Struct,
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<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.