Struct nphysics3d::joint::RectangularConstraint [−][src]
pub struct RectangularConstraint<N: Real> { /* fields omitted */ }
A constraint that remove all relative rotations and one relative translation between two body parts.
Methods
impl<N: Real> RectangularConstraint<N>
[src]
impl<N: Real> RectangularConstraint<N>
pub fn new(
b1: BodyHandle,
b2: BodyHandle,
anchor1: Point<N>,
axis1: Unit<AngularVector<N>>,
anchor2: Point<N>
) -> Self
[src]
pub fn new(
b1: BodyHandle,
b2: BodyHandle,
anchor1: Point<N>,
axis1: Unit<AngularVector<N>>,
anchor2: Point<N>
) -> Self
Create a new rectangular constraint that restrict b1
and b2
to move on a plane orthogonal to axis1
.
The axis1
is expressed in the local coordinate system of b1
.
Both anchors are expressed in the local coordinate system of their respective bodies.
Trait Implementations
impl<N: Real> JointConstraint<N> for RectangularConstraint<N>
[src]
impl<N: Real> JointConstraint<N> for RectangularConstraint<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 RectangularConstraint<N>
[src]
impl<N: Real> NonlinearConstraintGenerator<N> for RectangularConstraint<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 RectangularConstraint<N> where
N: Scalar,
impl<N> Send for RectangularConstraint<N> where
N: Scalar,
impl<N> Sync for RectangularConstraint<N> where
N: Scalar,
impl<N> Sync for RectangularConstraint<N> where
N: Scalar,