pub struct PinSlotJointBuilder(pub PinSlotJoint);Expand description
Create pin slot joints using the builder pattern.
A pin slot joint locks all relative motion except for translations along the joint’s principal axis and relative rotations.
Tuple Fields§
§0: PinSlotJointImplementations§
Source§impl PinSlotJointBuilder
impl PinSlotJointBuilder
Sourcepub fn new(axis: UnitVector<f32>) -> Self
pub fn new(axis: UnitVector<f32>) -> Self
Creates a new builder for pin slot joints.
This axis is expressed in the local-space of both rigid-bodies.
Sourcepub fn contacts_enabled(self, enabled: bool) -> Self
pub fn contacts_enabled(self, enabled: bool) -> Self
Sets whether contacts between the attached rigid-bodies are enabled.
Sourcepub fn local_anchor1(self, anchor1: Point<f32>) -> Self
pub fn local_anchor1(self, anchor1: Point<f32>) -> Self
Sets the joint’s anchor, expressed in the local-space of the first rigid-body.
Sourcepub fn local_anchor2(self, anchor2: Point<f32>) -> Self
pub fn local_anchor2(self, anchor2: Point<f32>) -> Self
Sets the joint’s anchor, expressed in the local-space of the second rigid-body.
Sourcepub fn local_axis1(self, axis1: UnitVector<f32>) -> Self
pub fn local_axis1(self, axis1: UnitVector<f32>) -> Self
Sets the principal axis of the joint, expressed in the local-space of the first rigid-body.
Sourcepub fn local_axis2(self, axis2: UnitVector<f32>) -> Self
pub fn local_axis2(self, axis2: UnitVector<f32>) -> Self
Sets the principal axis of the joint, expressed in the local-space of the second rigid-body.
Sourcepub fn motor_model(self, model: MotorModel) -> Self
pub fn motor_model(self, model: MotorModel) -> Self
Set the spring-like model used by the motor to reach the desired target velocity and position.
Sourcepub fn motor_velocity(self, target_vel: f32, factor: f32) -> Self
pub fn motor_velocity(self, target_vel: f32, factor: f32) -> Self
Sets the target velocity this motor needs to reach.
Sourcepub fn motor_position(
self,
target_pos: f32,
stiffness: f32,
damping: f32,
) -> Self
pub fn motor_position( self, target_pos: f32, stiffness: f32, damping: f32, ) -> Self
Sets the target angle this motor needs to reach.
Sourcepub fn set_motor(
self,
target_pos: f32,
target_vel: f32,
stiffness: f32,
damping: f32,
) -> Self
pub fn set_motor( self, target_pos: f32, target_vel: f32, stiffness: f32, damping: f32, ) -> Self
Configure both the target angle and target velocity of the motor.
Sourcepub fn motor_max_force(self, max_force: f32) -> Self
pub fn motor_max_force(self, max_force: f32) -> Self
Sets the maximum force the motor can deliver.
Sourcepub fn limits(self, limits: [f32; 2]) -> Self
pub fn limits(self, limits: [f32; 2]) -> Self
Sets the [min,max] limit distances attached bodies can translate along the joint’s principal axis.
Sourcepub fn softness(self, softness: SpringCoefficients<f32>) -> Self
pub fn softness(self, softness: SpringCoefficients<f32>) -> Self
Sets the softness of this joint’s locked degrees of freedom.
Sourcepub fn build(self) -> PinSlotJoint
pub fn build(self) -> PinSlotJoint
Builds the pin slot joint.
Trait Implementations§
Source§impl Clone for PinSlotJointBuilder
impl Clone for PinSlotJointBuilder
Source§fn clone(&self) -> PinSlotJointBuilder
fn clone(&self) -> PinSlotJointBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PinSlotJointBuilder
impl Debug for PinSlotJointBuilder
Source§impl From<PinSlotJointBuilder> for GenericJoint
impl From<PinSlotJointBuilder> for GenericJoint
Source§fn from(val: PinSlotJointBuilder) -> GenericJoint
fn from(val: PinSlotJointBuilder) -> GenericJoint
Source§impl PartialEq for PinSlotJointBuilder
impl PartialEq for PinSlotJointBuilder
impl Copy for PinSlotJointBuilder
impl StructuralPartialEq for PinSlotJointBuilder
Auto Trait Implementations§
impl Freeze for PinSlotJointBuilder
impl RefUnwindSafe for PinSlotJointBuilder
impl Send for PinSlotJointBuilder
impl Sync for PinSlotJointBuilder
impl Unpin for PinSlotJointBuilder
impl UnwindSafe for PinSlotJointBuilder
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
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<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<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.