Struct let_engine::objects::physics::joints::GenericJoint
source · pub struct GenericJoint {
pub data: GenericJoint,
}Expand description
A generic joint.
Fields§
§data: GenericJointImplementations§
source§impl GenericJoint
impl GenericJoint
sourcepub fn new(locked_axes: JointAxesMask) -> Self
pub fn new(locked_axes: JointAxesMask) -> Self
Creates a new generic joint that locks the specified degrees of freedom.
sourcepub fn is_enabled(&self) -> bool
pub fn is_enabled(&self) -> bool
Is this joint enabled?
sourcepub fn set_enabled(&mut self, enabled: bool)
pub fn set_enabled(&mut self, enabled: bool)
Set whether this joint is enabled or not.
sourcepub fn lock_axes(&mut self, axes: JointAxesMask) -> &mut Self
pub fn lock_axes(&mut self, axes: JointAxesMask) -> &mut Self
Add the specified axes to the set of axes locked by this joint.
sourcepub fn set_local_frame1(&mut self, local_frame: (Vec2, f32)) -> &mut Self
pub fn set_local_frame1(&mut self, local_frame: (Vec2, f32)) -> &mut Self
Sets the joint’s frame, expressed in the first rigid-body’s local-space.
sourcepub fn set_local_frame2(&mut self, local_frame: (Vec2, f32)) -> &mut Self
pub fn set_local_frame2(&mut self, local_frame: (Vec2, f32)) -> &mut Self
Sets the joint’s frame, expressed in the second rigid-body’s local-space.
sourcepub fn local_axis1(&self) -> Vec2
pub fn local_axis1(&self) -> Vec2
The principal (local X) axis of this joint, expressed in the first rigid-body’s local-space.
sourcepub fn set_local_axis1(&mut self, local_axis: Vec2) -> &mut Self
pub fn set_local_axis1(&mut self, local_axis: Vec2) -> &mut Self
Sets the principal (local X) axis of this joint, expressed in the first rigid-body’s local-space.
sourcepub fn local_axis2(&self) -> Vec2
pub fn local_axis2(&self) -> Vec2
The principal (local X) axis of this joint, expressed in the second rigid-body’s local-space.
sourcepub fn set_local_axis2(&mut self, local_axis: Vec2) -> &mut Self
pub fn set_local_axis2(&mut self, local_axis: Vec2) -> &mut Self
Sets the principal (local X) axis of this joint, expressed in the second rigid-body’s local-space.
sourcepub fn local_anchor1(&self) -> Vec2
pub fn local_anchor1(&self) -> Vec2
The anchor of this joint, expressed in the first rigid-body’s local-space.
sourcepub fn set_local_anchor1(&mut self, anchor1: Vec2) -> &mut Self
pub fn set_local_anchor1(&mut self, anchor1: Vec2) -> &mut Self
Sets anchor of this joint, expressed in the first rigid-body’s local-space.
sourcepub fn local_anchor2(&self) -> Vec2
pub fn local_anchor2(&self) -> Vec2
The anchor of this joint, expressed in the second rigid-body’s local-space.
sourcepub fn set_local_anchor2(&mut self, anchor2: Vec2) -> &mut Self
pub fn set_local_anchor2(&mut self, anchor2: Vec2) -> &mut Self
Sets anchor of this joint, expressed in the second rigid-body’s local-space.
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 limits(&self, axis: JointAxis) -> Option<&JointLimits<Real>>
pub fn limits(&self, axis: JointAxis) -> Option<&JointLimits<Real>>
The joint limits along the specified axis.
sourcepub fn set_limits(&mut self, axis: JointAxis, limits: [Real; 2]) -> &mut Self
pub fn set_limits(&mut self, axis: JointAxis, limits: [Real; 2]) -> &mut Self
Sets the joint limits along the specified axis.
sourcepub fn motor_model(&self, axis: JointAxis) -> Option<MotorModel>
pub fn motor_model(&self, axis: JointAxis) -> Option<MotorModel>
The spring-like motor model along the specified axis of this joint.
sourcepub fn set_motor_model(
&mut self,
axis: JointAxis,
model: MotorModel
) -> &mut Self
pub fn set_motor_model( &mut self, axis: JointAxis, 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,
axis: JointAxis,
target_vel: Real,
factor: Real
) -> &mut Self
pub fn set_motor_velocity( &mut self, axis: JointAxis, target_vel: Real, factor: Real ) -> &mut Self
Sets the target velocity this motor needs to reach.
sourcepub fn set_motor_position(
&mut self,
axis: JointAxis,
target_pos: Real,
stiffness: Real,
damping: Real
) -> &mut Self
pub fn set_motor_position( &mut self, axis: JointAxis, target_pos: Real, stiffness: Real, damping: Real ) -> &mut Self
Sets the target angle this motor needs to reach.
sourcepub fn set_motor_max_force(
&mut self,
axis: JointAxis,
max_force: Real
) -> &mut Self
pub fn set_motor_max_force( &mut self, axis: JointAxis, max_force: Real ) -> &mut Self
Sets the maximum force the motor can deliver along the specified axis.
sourcepub fn motor(&self, axis: JointAxis) -> Option<&JointMotor>
pub fn motor(&self, axis: JointAxis) -> Option<&JointMotor>
The motor affecting the joint’s degree of freedom along the specified axis.
Trait Implementations§
source§impl Clone for GenericJoint
impl Clone for GenericJoint
source§fn clone(&self) -> GenericJoint
fn clone(&self) -> GenericJoint
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for GenericJoint
impl Debug for GenericJoint
source§impl Default for GenericJoint
impl Default for GenericJoint
source§fn default() -> GenericJoint
fn default() -> GenericJoint
source§impl From<FixedJointBuilder> for GenericJoint
impl From<FixedJointBuilder> for GenericJoint
source§fn from(val: FixedJointBuilder) -> Self
fn from(val: FixedJointBuilder) -> Self
source§impl From<GenericJointBuilder> for GenericJoint
impl From<GenericJointBuilder> for GenericJoint
source§fn from(val: GenericJointBuilder) -> Self
fn from(val: GenericJointBuilder) -> Self
source§impl From<PrismaticJoint> for GenericJoint
impl From<PrismaticJoint> for GenericJoint
source§fn from(val: PrismaticJoint) -> Self
fn from(val: PrismaticJoint) -> Self
source§impl From<PrismaticJointBuilder> for GenericJoint
impl From<PrismaticJointBuilder> for GenericJoint
source§fn from(val: PrismaticJointBuilder) -> Self
fn from(val: PrismaticJointBuilder) -> Self
source§impl From<RevoluteJoint> for GenericJoint
impl From<RevoluteJoint> for GenericJoint
source§fn from(val: RevoluteJoint) -> Self
fn from(val: RevoluteJoint) -> Self
source§impl From<RevoluteJointBuilder> for GenericJoint
impl From<RevoluteJointBuilder> for GenericJoint
source§fn from(val: RevoluteJointBuilder) -> Self
fn from(val: RevoluteJointBuilder) -> Self
source§impl From<RopeJoint> for GenericJoint
impl From<RopeJoint> for GenericJoint
source§impl From<RopeJointBuilder> for GenericJoint
impl From<RopeJointBuilder> for GenericJoint
source§fn from(val: RopeJointBuilder) -> Self
fn from(val: RopeJointBuilder) -> Self
source§impl PartialEq for GenericJoint
impl PartialEq for GenericJoint
source§fn eq(&self, other: &GenericJoint) -> bool
fn eq(&self, other: &GenericJoint) -> bool
self and other values to be equal, and is used
by ==.impl Copy for GenericJoint
impl StructuralPartialEq for GenericJoint
Auto Trait Implementations§
impl RefUnwindSafe for GenericJoint
impl Send for GenericJoint
impl Sync for GenericJoint
impl Unpin for GenericJoint
impl UnwindSafe for GenericJoint
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
source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().§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.