Struct bevy_rapier2d::dynamics::PrismaticJoint
source · [−]#[repr(transparent)]pub struct PrismaticJoint { /* private fields */ }
Expand description
A prismatic joint, locks all relative motion between two bodies except for translation along the joint’s principal axis.
Implementations
sourceimpl PrismaticJoint
impl PrismaticJoint
sourcepub fn new(axis: Vect) -> Self
pub fn new(axis: Vect) -> Self
Creates a new prismatic joint allowing only relative translations along the specified axis.
This axis is expressed in the local-space of both rigid-bodies.
sourcepub fn data(&self) -> &GenericJoint
pub fn data(&self) -> &GenericJoint
The underlying generic joint.
sourcepub fn contacts_enabled(&self) -> bool
pub fn contacts_enabled(&self) -> bool
Are contacts between the attached rigid-bodies enabled?
sourcepub fn set_contacts_enabled(&mut self, enabled: bool) -> &mut Self
pub fn set_contacts_enabled(&mut self, enabled: bool) -> &mut Self
Sets whether contacts between the attached rigid-bodies are enabled.
sourcepub fn local_anchor1(&self) -> Vect
pub fn local_anchor1(&self) -> Vect
The joint’s anchor, expressed in the local-space of the first rigid-body.
sourcepub fn set_local_anchor1(&mut self, anchor1: Vect) -> &mut Self
pub fn set_local_anchor1(&mut self, anchor1: Vect) -> &mut Self
Sets the joint’s anchor, expressed in the local-space of the first rigid-body.
sourcepub fn local_anchor2(&self) -> Vect
pub fn local_anchor2(&self) -> Vect
The joint’s anchor, expressed in the local-space of the second rigid-body.
sourcepub fn set_local_anchor2(&mut self, anchor2: Vect) -> &mut Self
pub fn set_local_anchor2(&mut self, anchor2: Vect) -> &mut Self
Sets the joint’s anchor, expressed in the local-space of the second rigid-body.
sourcepub fn local_axis1(&self) -> Vect
pub fn local_axis1(&self) -> Vect
The principal axis of the joint, expressed in the local-space of the first rigid-body.
sourcepub fn set_local_axis1(&mut self, axis1: Vect) -> &mut Self
pub fn set_local_axis1(&mut self, axis1: Vect) -> &mut Self
Sets the principal axis of the joint, expressed in the local-space of the first rigid-body.
sourcepub fn local_axis2(&self) -> Vect
pub fn local_axis2(&self) -> Vect
The principal axis of the joint, expressed in the local-space of the second rigid-body.
sourcepub fn set_local_axis2(&mut self, axis2: Vect) -> &mut Self
pub fn set_local_axis2(&mut self, axis2: Vect) -> &mut Self
Sets the principal axis of the joint, expressed in the local-space of the second rigid-body.
sourcepub fn motor(&self) -> Option<&JointMotor>
pub fn motor(&self) -> Option<&JointMotor>
The motor affecting the joint’s translational degree of freedom.
sourcepub fn set_motor_model(&mut self, model: MotorModel) -> &mut Self
pub fn set_motor_model(&mut self, model: MotorModel) -> &mut Self
Set the spring-like model used by the motor to reach the desired target velocity and position.
sourcepub fn set_motor_velocity(&mut self, target_vel: Real, factor: Real) -> &mut Self
pub fn set_motor_velocity(&mut self, target_vel: Real, factor: Real) -> &mut Self
Sets the target velocity this motor needs to reach.
sourcepub fn set_motor_position(
&mut self,
target_pos: Real,
stiffness: Real,
damping: Real
) -> &mut Self
pub fn set_motor_position(
&mut self,
target_pos: Real,
stiffness: Real,
damping: Real
) -> &mut Self
Sets the target angle this motor needs to reach.
sourcepub fn set_motor(
&mut self,
target_pos: Real,
target_vel: Real,
stiffness: Real,
damping: Real
) -> &mut Self
pub fn set_motor(
&mut self,
target_pos: Real,
target_vel: Real,
stiffness: Real,
damping: Real
) -> &mut Self
Configure both the target angle and target velocity of the motor.
sourcepub fn set_motor_max_force(&mut self, max_force: Real) -> &mut Self
pub fn set_motor_max_force(&mut self, max_force: Real) -> &mut Self
Sets the maximum force the motor can deliver.
sourcepub fn limits(&self) -> Option<&JointLimits<Real>>
pub fn limits(&self) -> Option<&JointLimits<Real>>
The limit distance attached bodies can translate along the joint’s principal axis.
sourcepub fn set_limits(&mut self, limits: [Real; 2]) -> &mut Self
pub fn set_limits(&mut self, limits: [Real; 2]) -> &mut Self
Sets the [min,max]
limit distances attached bodies can translate along the joint’s principal axis.
Trait Implementations
sourceimpl Clone for PrismaticJoint
impl Clone for PrismaticJoint
sourcefn clone(&self) -> PrismaticJoint
fn clone(&self) -> PrismaticJoint
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl Debug for PrismaticJoint
impl Debug for PrismaticJoint
sourceimpl<'de> Deserialize<'de> for PrismaticJoint
impl<'de> Deserialize<'de> for PrismaticJoint
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
sourceimpl From<PrismaticJoint> for GenericJoint
impl From<PrismaticJoint> for GenericJoint
sourcefn from(joint: PrismaticJoint) -> GenericJoint
fn from(joint: PrismaticJoint) -> GenericJoint
sourceimpl PartialEq<PrismaticJoint> for PrismaticJoint
impl PartialEq<PrismaticJoint> for PrismaticJoint
sourcefn eq(&self, other: &PrismaticJoint) -> bool
fn eq(&self, other: &PrismaticJoint) -> bool
sourceimpl Serialize for PrismaticJoint
impl Serialize for PrismaticJoint
impl Copy for PrismaticJoint
impl StructuralPartialEq for PrismaticJoint
Auto Trait Implementations
impl RefUnwindSafe for PrismaticJoint
impl Send for PrismaticJoint
impl Sync for PrismaticJoint
impl Unpin for PrismaticJoint
impl UnwindSafe for PrismaticJoint
Blanket Implementations
impl<T, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
impl<T, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
fn as_bind_group_shader_type(
&self,
_images: &HashMap<Handle<Image>, <Image as RenderAsset>::PreparedAsset, RandomState, Global>
) -> U
fn as_bind_group_shader_type(
&self,
_images: &HashMap<Handle<Image>, <Image as RenderAsset>::PreparedAsset, RandomState, Global>
) -> U
T
[ShaderType
] for self
. When used in [AsBindGroup
]
derives, it is safe to assume that all images in self
exist. Read moresourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn 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, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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 morefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read morefn 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. Read morefn 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. Read moresourceimpl<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> Serialize for Twhere
T: Serialize + ?Sized,
impl<T> Serialize for Twhere
T: Serialize + ?Sized,
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>
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 morefn 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.