[−][src]Struct nphysics3d::joint::PinSlotConstraint
A constraint that removes two translational and two rotational degrees of freedoms.
This is different frmo the cylindrical constraint since the remaining rotation and translation are not restricted to be done wrt. the same axis.
Methods
impl<N: RealField> PinSlotConstraint<N>
[src]
pub fn new(
b1: BodyPartHandle,
b2: BodyPartHandle,
anchor1: Point<N>,
axis_v1: Unit<Vector<N>>,
axis_w1: Unit<Vector<N>>,
anchor2: Point<N>,
axis_w2: Unit<Vector<N>>
) -> Self
[src]
b1: BodyPartHandle,
b2: BodyPartHandle,
anchor1: Point<N>,
axis_v1: Unit<Vector<N>>,
axis_w1: Unit<Vector<N>>,
anchor2: Point<N>,
axis_w2: Unit<Vector<N>>
) -> Self
Creates a new pin-slot constraint.
This will ensure the relative linear motions are always along axis_v1
(here expressed
in the local coordinate frame of b1
), and that axis_w1
and axis_w2
always coincide.
All axises and anchors are expressed in the local coordinate frame of their respective body
part.
Trait Implementations
impl<N: RealField> JointConstraint<N> for PinSlotConstraint<N>
[src]
fn num_velocity_constraints(&self) -> usize
[src]
fn anchors(&self) -> (BodyPartHandle, BodyPartHandle)
[src]
fn velocity_constraints(
&mut self,
_: &IntegrationParameters<N>,
bodies: &BodySet<N>,
ext_vels: &DVector<N>,
ground_j_id: &mut usize,
j_id: &mut usize,
jacobians: &mut [N],
constraints: &mut ConstraintSet<N>
)
[src]
&mut self,
_: &IntegrationParameters<N>,
bodies: &BodySet<N>,
ext_vels: &DVector<N>,
ground_j_id: &mut usize,
j_id: &mut usize,
jacobians: &mut [N],
constraints: &mut ConstraintSet<N>
)
fn cache_impulses(&mut self, constraints: &ConstraintSet<N>)
[src]
fn is_active(&self, bodies: &BodySet<N>) -> bool
[src]
Return true
if the constraint is active. Read more
impl<N: RealField> NonlinearConstraintGenerator<N> for PinSlotConstraint<N>
[src]
fn num_position_constraints(&self, bodies: &BodySet<N>) -> usize
[src]
fn position_constraint(
&self,
params: &IntegrationParameters<N>,
i: usize,
bodies: &mut BodySet<N>,
jacobians: &mut [N]
) -> Option<GenericNonlinearConstraint<N>>
[src]
&self,
params: &IntegrationParameters<N>,
i: usize,
bodies: &mut BodySet<N>,
jacobians: &mut [N]
) -> Option<GenericNonlinearConstraint<N>>
Auto Trait Implementations
impl<N> Send for PinSlotConstraint<N> where
N: Scalar,
N: Scalar,
impl<N> Sync for PinSlotConstraint<N> where
N: Scalar,
N: Scalar,
Blanket Implementations
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Downcast for T where
T: Any,
[src]
T: Any,
fn into_any(self: Box<T>) -> Box<dyn Any + 'static>
[src]
fn as_any(&self) -> &(dyn Any + 'static)
[src]
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
[src]
impl<SS, SP> SupersetOf for SP where
SS: SubsetOf<SP>,
[src]
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
[src]
fn is_in_subset(&self) -> bool
[src]
unsafe fn to_subset_unchecked(&self) -> SS
[src]
fn from_subset(element: &SS) -> SP
[src]
impl<T> Same for T
type Output = T
Should always be Self