[−][src]Struct nphysics3d::joint::UniversalConstraint
A constraint that removes all but two relative rotations along distinct axii.
Methods
impl<N: Real> UniversalConstraint<N>[src]
pub fn new(
b1: BodyPartHandle,
b2: BodyPartHandle,
anchor1: Point<N>,
axis1: Unit<AngularVector<N>>,
anchor2: Point<N>,
axis2: Unit<AngularVector<N>>,
angle: N
) -> Self[src]
b1: BodyPartHandle,
b2: BodyPartHandle,
anchor1: Point<N>,
axis1: Unit<AngularVector<N>>,
anchor2: Point<N>,
axis2: Unit<AngularVector<N>>,
angle: N
) -> Self
Create a new universal constraint that ensure the angle between axis1 and axis2 is always equal to angle.
All anchors and axii are expressed in the local coordinate systems of the corresponding body parts.
Trait Implementations
impl<N: Real> JointConstraint<N> for UniversalConstraint<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: Real> NonlinearConstraintGenerator<N> for UniversalConstraint<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 UniversalConstraint<N> where
N: Scalar,
N: Scalar,
impl<N> Sync for UniversalConstraint<N> where
N: Scalar,
N: Scalar,
Blanket Implementations
impl<T, U> Into for T where
U: From<T>, [src]
U: From<T>,
impl<T> From for T[src]
impl<T, U> TryFrom for T where
U: Into<T>, [src]
U: Into<T>,
type Error = !
🔬 This is a nightly-only experimental API. (
try_from)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
🔬 This is a nightly-only experimental API. (
try_from)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