[][src]Trait nphysics3d::solver::NonlinearConstraintGenerator

pub trait NonlinearConstraintGenerator<N: RealField, Handle: BodyHandle> {
    fn num_position_constraints(
        &self,
        bodies: &dyn BodySet<N, Handle = Handle>
    ) -> usize;
fn position_constraint(
        &self,
        parameters: &IntegrationParameters<N>,
        i: usize,
        bodies: &mut dyn BodySet<N, Handle = Handle>,
        jacobians: &mut [N]
    ) -> Option<GenericNonlinearConstraint<N, Handle>>; }

Implemented by structures that generate non-linear constraints.

Required methods

fn num_position_constraints(
    &self,
    bodies: &dyn BodySet<N, Handle = Handle>
) -> usize

Maximum of non-linear position constraint this generator needs to output.

fn position_constraint(
    &self,
    parameters: &IntegrationParameters<N>,
    i: usize,
    bodies: &mut dyn BodySet<N, Handle = Handle>,
    jacobians: &mut [N]
) -> Option<GenericNonlinearConstraint<N, Handle>>

Generate the i-th position constraint of this generator.

Loading content...

Implementors

impl<N: RealField, Handle: BodyHandle> NonlinearConstraintGenerator<N, Handle> for BallConstraint<N, Handle>[src]

impl<N: RealField, Handle: BodyHandle> NonlinearConstraintGenerator<N, Handle> for CartesianConstraint<N, Handle>[src]

impl<N: RealField, Handle: BodyHandle> NonlinearConstraintGenerator<N, Handle> for CylindricalConstraint<N, Handle>[src]

impl<N: RealField, Handle: BodyHandle> NonlinearConstraintGenerator<N, Handle> for FixedConstraint<N, Handle>[src]

impl<N: RealField, Handle: BodyHandle> NonlinearConstraintGenerator<N, Handle> for MouseConstraint<N, Handle>[src]

impl<N: RealField, Handle: BodyHandle> NonlinearConstraintGenerator<N, Handle> for PinSlotConstraint<N, Handle>[src]

impl<N: RealField, Handle: BodyHandle> NonlinearConstraintGenerator<N, Handle> for PlanarConstraint<N, Handle>[src]

impl<N: RealField, Handle: BodyHandle> NonlinearConstraintGenerator<N, Handle> for PrismaticConstraint<N, Handle>[src]

impl<N: RealField, Handle: BodyHandle> NonlinearConstraintGenerator<N, Handle> for RectangularConstraint<N, Handle>[src]

impl<N: RealField, Handle: BodyHandle> NonlinearConstraintGenerator<N, Handle> for RevoluteConstraint<N, Handle>[src]

impl<N: RealField, Handle: BodyHandle> NonlinearConstraintGenerator<N, Handle> for UniversalConstraint<N, Handle>[src]

impl<N: RealField, Handle: BodyHandle> NonlinearConstraintGenerator<N, Handle> for MultibodyJointLimitsNonlinearConstraintGenerator[src]

Loading content...