Struct nphysics3d::joint::CylindricalConstraint [−][src]
pub struct CylindricalConstraint<N: Real> { /* fields omitted */ }
A constraint that removes all degrees of freedom (of one body part relative to a second one) except one translation along an axis and one rotation along the same axis.
Methods
impl<N: Real> CylindricalConstraint<N>
[src]
impl<N: Real> CylindricalConstraint<N>
pub fn new(
b1: BodyHandle,
b2: BodyHandle,
anchor1: Point<N>,
axis1: Unit<Vector<N>>,
anchor2: Point<N>,
axis2: Unit<Vector<N>>
) -> Self
[src]
pub fn new(
b1: BodyHandle,
b2: BodyHandle,
anchor1: Point<N>,
axis1: Unit<Vector<N>>,
anchor2: Point<N>,
axis2: Unit<Vector<N>>
) -> Self
Creates a cartesian constaint between two body parts.
This will ensure axis1
and axis2
always coincide. All the axis and anchors
are provided on the local space of the corresponding body parts.
Trait Implementations
impl<N: Real> JointConstraint<N> for CylindricalConstraint<N>
[src]
impl<N: Real> JointConstraint<N> for CylindricalConstraint<N>
fn num_velocity_constraints(&self) -> usize
[src]
fn num_velocity_constraints(&self) -> usize
The maximum number of velocity constraints generated by this joint.
fn anchors(&self) -> (BodyHandle, BodyHandle)
[src]
fn anchors(&self) -> (BodyHandle, BodyHandle)
The two body parts affected by this joint.
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]
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>
)
Initialize and retrieve all the constraints appied to the bodies attached to this joint.
fn cache_impulses(&mut self, constraints: &ConstraintSet<N>)
[src]
fn cache_impulses(&mut self, constraints: &ConstraintSet<N>)
Called after velocity constraint resolution, allows the joint to keep a cache of impulses generated for each constraint.
fn is_active(&self, bodies: &BodySet<N>) -> bool
[src]
fn is_active(&self, bodies: &BodySet<N>) -> bool
Return true
if the constraint is active. Read more
impl<N: Real> NonlinearConstraintGenerator<N> for CylindricalConstraint<N>
[src]
impl<N: Real> NonlinearConstraintGenerator<N> for CylindricalConstraint<N>
fn num_position_constraints(&self, bodies: &BodySet<N>) -> usize
[src]
fn num_position_constraints(&self, bodies: &BodySet<N>) -> usize
Maximum of non-linear position constraint this generater needs to output.
fn position_constraint(
&self,
params: &IntegrationParameters<N>,
i: usize,
bodies: &mut BodySet<N>,
jacobians: &mut [N]
) -> Option<GenericNonlinearConstraint<N>>
[src]
fn position_constraint(
&self,
params: &IntegrationParameters<N>,
i: usize,
bodies: &mut BodySet<N>,
jacobians: &mut [N]
) -> Option<GenericNonlinearConstraint<N>>
Generate the i
-th position constraint of this generator.
Auto Trait Implementations
impl<N> Send for CylindricalConstraint<N> where
N: Scalar,
impl<N> Send for CylindricalConstraint<N> where
N: Scalar,
impl<N> Sync for CylindricalConstraint<N> where
N: Scalar,
impl<N> Sync for CylindricalConstraint<N> where
N: Scalar,