Struct heron::rapier_plugin::rapier2d::dynamics::GenericJoint
pub struct GenericJoint {
pub local_frame1: Isometry<f32, Unit<Complex<f32>>, 2>,
pub local_frame2: Isometry<f32, Unit<Complex<f32>>, 2>,
pub locked_axes: JointAxesMask,
pub limit_axes: JointAxesMask,
pub motor_axes: JointAxesMask,
pub coupled_axes: JointAxesMask,
pub limits: [JointLimits<f32>; 3],
pub motors: [JointMotor; 3],
}
Expand description
A generic joint.
Fields
local_frame1: Isometry<f32, Unit<Complex<f32>>, 2>
The joint’s frame, expressed in the first rigid-body’s local-space.
local_frame2: Isometry<f32, Unit<Complex<f32>>, 2>
The joint’s frame, expressed in the second rigid-body’s local-space.
locked_axes: JointAxesMask
The degrees-of-freedoms locked by this joint.
limit_axes: JointAxesMask
The degrees-of-freedoms limited by this joint.
motor_axes: JointAxesMask
The degrees-of-freedoms motorised by this joint.
coupled_axes: JointAxesMask
The coupled degrees of freedom of this joint.
limits: [JointLimits<f32>; 3]
The limits, along each degrees of freedoms of this joint.
Note that the limit must also be explicitly enabled by the limit_axes
bitmask.
motors: [JointMotor; 3]
The motors, along each degrees of freedoms of this joint.
Note that the mostor must also be explicitly enabled by the motors
bitmask.
Implementations
impl GenericJoint
impl GenericJoint
pub fn new(locked_axes: JointAxesMask) -> GenericJoint
pub fn new(locked_axes: JointAxesMask) -> GenericJoint
Creates a new generic joint that locks the specified degrees of freedom.
pub fn lock_axes(&mut self, axes: JointAxesMask) -> &mut GenericJoint
pub fn lock_axes(&mut self, axes: JointAxesMask) -> &mut GenericJoint
Add the specified axes to the set of axes locked by this joint.
pub fn set_local_frame1(
&mut self,
local_frame: Isometry<f32, Unit<Complex<f32>>, 2>
) -> &mut GenericJoint
pub fn set_local_frame1(
&mut self,
local_frame: Isometry<f32, Unit<Complex<f32>>, 2>
) -> &mut GenericJoint
Sets the joint’s frame, expressed in the first rigid-body’s local-space.
pub fn set_local_frame2(
&mut self,
local_frame: Isometry<f32, Unit<Complex<f32>>, 2>
) -> &mut GenericJoint
pub fn set_local_frame2(
&mut self,
local_frame: Isometry<f32, Unit<Complex<f32>>, 2>
) -> &mut GenericJoint
Sets the joint’s frame, expressed in the second rigid-body’s local-space.
pub fn local_axis1(
&self
) -> Unit<Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>>
pub fn local_axis1(
&self
) -> Unit<Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>>
The principal (local X) axis of this joint, expressed in the first rigid-body’s local-space.
pub fn set_local_axis1(
&mut self,
local_axis: Unit<Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>>
) -> &mut GenericJoint
pub fn set_local_axis1(
&mut self,
local_axis: Unit<Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>>
) -> &mut GenericJoint
Sets the principal (local X) axis of this joint, expressed in the first rigid-body’s local-space.
pub fn local_axis2(
&self
) -> Unit<Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>>
pub fn local_axis2(
&self
) -> Unit<Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>>
The principal (local X) axis of this joint, expressed in the second rigid-body’s local-space.
pub fn set_local_axis2(
&mut self,
local_axis: Unit<Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>>
) -> &mut GenericJoint
pub fn set_local_axis2(
&mut self,
local_axis: Unit<Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>>
) -> &mut GenericJoint
Sets the principal (local X) axis of this joint, expressed in the second rigid-body’s local-space.
pub fn local_anchor1(&self) -> OPoint<f32, Const<2>>
pub fn local_anchor1(&self) -> OPoint<f32, Const<2>>
The anchor of this joint, expressed in the first rigid-body’s local-space.
pub fn set_local_anchor1(
&mut self,
anchor1: OPoint<f32, Const<2>>
) -> &mut GenericJoint
pub fn set_local_anchor1(
&mut self,
anchor1: OPoint<f32, Const<2>>
) -> &mut GenericJoint
Sets anchor of this joint, expressed in the first rigid-body’s local-space.
pub fn local_anchor2(&self) -> OPoint<f32, Const<2>>
pub fn local_anchor2(&self) -> OPoint<f32, Const<2>>
The anchor of this joint, expressed in the second rigid-body’s local-space.
pub fn set_local_anchor2(
&mut self,
anchor2: OPoint<f32, Const<2>>
) -> &mut GenericJoint
pub fn set_local_anchor2(
&mut self,
anchor2: OPoint<f32, Const<2>>
) -> &mut GenericJoint
Sets anchor of this joint, expressed in the second rigid-body’s local-space.
pub fn limits(&self, axis: JointAxis) -> Option<&JointLimits<f32>>
pub fn limits(&self, axis: JointAxis) -> Option<&JointLimits<f32>>
The joint limits along the specified axis.
pub fn set_limits(
&mut self,
axis: JointAxis,
limits: [f32; 2]
) -> &mut GenericJoint
pub fn set_limits(
&mut self,
axis: JointAxis,
limits: [f32; 2]
) -> &mut GenericJoint
Sets the joint limits along the specified axis.
pub 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.
pub fn set_motor_model(
&mut self,
axis: JointAxis,
model: MotorModel
) -> &mut GenericJoint
pub fn set_motor_model(
&mut self,
axis: JointAxis,
model: MotorModel
) -> &mut GenericJoint
Set the spring-like model used by the motor to reach the desired target velocity and position.
pub fn set_motor_velocity(
&mut self,
axis: JointAxis,
target_vel: f32,
factor: f32
) -> &mut GenericJoint
pub fn set_motor_velocity(
&mut self,
axis: JointAxis,
target_vel: f32,
factor: f32
) -> &mut GenericJoint
Sets the target velocity this motor needs to reach.
pub fn set_motor_position(
&mut self,
axis: JointAxis,
target_pos: f32,
stiffness: f32,
damping: f32
) -> &mut GenericJoint
pub fn set_motor_position(
&mut self,
axis: JointAxis,
target_pos: f32,
stiffness: f32,
damping: f32
) -> &mut GenericJoint
Sets the target angle this motor needs to reach.
pub fn set_motor_max_force(
&mut self,
axis: JointAxis,
max_force: f32
) -> &mut GenericJoint
pub fn set_motor_max_force(
&mut self,
axis: JointAxis,
max_force: f32
) -> &mut GenericJoint
Sets the maximum force the motor can deliver along the specified axis.
pub 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.
impl GenericJoint
impl GenericJoint
pub fn as_revolute(&self) -> Option<&RevoluteJoint>
pub fn as_revolute(&self) -> Option<&RevoluteJoint>
Converts the joint to its specific variant, if it is one.
pub fn as_revolute_mut(&mut self) -> Option<&mut RevoluteJoint>
pub fn as_revolute_mut(&mut self) -> Option<&mut RevoluteJoint>
Converts the joint to its specific mutable variant, if it is one.
pub fn as_fixed(&self) -> Option<&FixedJoint>
pub fn as_fixed(&self) -> Option<&FixedJoint>
Converts the joint to its specific variant, if it is one.
pub fn as_fixed_mut(&mut self) -> Option<&mut FixedJoint>
pub fn as_fixed_mut(&mut self) -> Option<&mut FixedJoint>
Converts the joint to its specific mutable variant, if it is one.
pub fn as_prismatic(&self) -> Option<&PrismaticJoint>
pub fn as_prismatic(&self) -> Option<&PrismaticJoint>
Converts the joint to its specific variant, if it is one.
pub fn as_prismatic_mut(&mut self) -> Option<&mut PrismaticJoint>
pub fn as_prismatic_mut(&mut self) -> Option<&mut PrismaticJoint>
Converts the joint to its specific mutable variant, if it is one.
Trait Implementations
impl Clone for GenericJoint
impl Clone for GenericJoint
fn clone(&self) -> GenericJoint
fn clone(&self) -> GenericJoint
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreimpl Debug for GenericJoint
impl Debug for GenericJoint
impl Default for GenericJoint
impl Default for GenericJoint
fn default() -> GenericJoint
fn default() -> GenericJoint
impl Into<GenericJoint> for FixedJoint
impl Into<GenericJoint> for FixedJoint
fn into(self) -> GenericJoint
fn into(self) -> GenericJoint
impl Into<GenericJoint> for FixedJointBuilder
impl Into<GenericJoint> for FixedJointBuilder
fn into(self) -> GenericJoint
fn into(self) -> GenericJoint
impl Into<GenericJoint> for GenericJointBuilder
impl Into<GenericJoint> for GenericJointBuilder
fn into(self) -> GenericJoint
fn into(self) -> GenericJoint
impl Into<GenericJoint> for PrismaticJoint
impl Into<GenericJoint> for PrismaticJoint
fn into(self) -> GenericJoint
fn into(self) -> GenericJoint
impl Into<GenericJoint> for PrismaticJointBuilder
impl Into<GenericJoint> for PrismaticJointBuilder
fn into(self) -> GenericJoint
fn into(self) -> GenericJoint
impl Into<GenericJoint> for RevoluteJoint
impl Into<GenericJoint> for RevoluteJoint
fn into(self) -> GenericJoint
fn into(self) -> GenericJoint
impl Into<GenericJoint> for RevoluteJointBuilder
impl Into<GenericJoint> for RevoluteJointBuilder
fn into(self) -> GenericJoint
fn into(self) -> GenericJoint
impl PartialEq<GenericJoint> for GenericJoint
impl PartialEq<GenericJoint> for GenericJoint
fn eq(&self, other: &GenericJoint) -> bool
fn eq(&self, other: &GenericJoint) -> bool
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
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 moreimpl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Self
using data from the given [World]sourceimpl<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
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.