# [−][src]Struct nphysics3d::solver::IntegrationParameters

Parameters for a time-step of the physics engine.

## Fields

`dt: N`

The timestep (default: `1.0 / 60.0`

)

`t: N`

The total elapsed time in the physics world.

This is the accumulation of the `dt`

of all the calls to `world.step()`

.

`erp: N`

The Error Reduction Parameter in `[0, 1]`

is the proportion of
the positional error to be corrected at each time step (default: `0.2`

).

`warmstart_coeff: N`

Each cached impulse are multiplied by this coefficient in `[0, 1]`

when they are re-used to initialize the solver (default `1.0`

).

`restitution_velocity_threshold: N`

Contacts at points where the involved bodies have a relative
velocity smaller than this threshold wont be affected by the restitution force (default: `1.0`

).

`allowed_linear_error: N`

Ammount of penetration the engine wont attempt to correct (default: `0.001m`

).

`allowed_angular_error: N`

Ammount of angular drift of joint limits the engine wont
attempt to correct (default: `0.001rad`

).

`max_linear_correction: N`

Maximum linear correction during one step of the non-linear position solver (default: `100.0`

).

`max_angular_correction: N`

Maximum angular correction during one step of the non-linear position solver (default: `0.2`

).

`max_stabilization_multiplier: N`

Maximum nonlinera SOR-prox scaling parameter when the constraint
correction direction is close to the kernel of the involved multibody's
jacobian (default: `0.2`

).

`max_velocity_iterations: usize`

Maximum number of iterations performed by the velocity constraints solver.

`max_position_iterations: usize`

Maximum number of iterations performed by the position-based constraints solver.

## Methods

`impl<N: Real> IntegrationParameters<N>`

[src]

`impl<N: Real> IntegrationParameters<N>`

`pub fn new(`

dt: N,

erp: N,

warmstart_coeff: N,

restitution_velocity_threshold: N,

allowed_linear_error: N,

allowed_angular_error: N,

max_linear_correction: N,

max_angular_correction: N,

max_stabilization_multiplier: N,

max_velocity_iterations: usize,

max_position_iterations: usize

) -> Self

[src]

`pub fn new(`

dt: N,

erp: N,

warmstart_coeff: N,

restitution_velocity_threshold: N,

allowed_linear_error: N,

allowed_angular_error: N,

max_linear_correction: N,

max_angular_correction: N,

max_stabilization_multiplier: N,

max_velocity_iterations: usize,

max_position_iterations: usize

) -> Self

Creates a set of integration parameters with the given values.

## Trait Implementations

`impl<N: Real> Default for IntegrationParameters<N>`

[src]

`impl<N: Real> Default for IntegrationParameters<N>`

## Auto Trait Implementations

`impl<N> Send for IntegrationParameters<N>`

`impl<N> Send for IntegrationParameters<N>`

`impl<N> Sync for IntegrationParameters<N>`

`impl<N> Sync for IntegrationParameters<N>`

## Blanket Implementations

`impl<T> From for T`

[src]

`impl<T> From for T`

`impl<T, U> Into for T where`

U: From<T>,

[src]

`impl<T, U> Into for T where`

U: From<T>,

`impl<T, U> TryFrom for T where`

T: From<U>,

[src]

`impl<T, U> TryFrom for T where`

T: From<U>,

`type Error = !`

`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]

`fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>`

`impl<T> Borrow for T where`

T: ?Sized,

[src]

`impl<T> Borrow for T where`

T: ?Sized,

`impl<T> Any for T where`

T: 'static + ?Sized,

[src]

`impl<T> Any for T where`

T: 'static + ?Sized,

`fn get_type_id(&self) -> TypeId`

[src]

`fn get_type_id(&self) -> TypeId`

`impl<T, U> TryInto for T where`

U: TryFrom<T>,

[src]

`impl<T, U> TryInto for T where`

U: TryFrom<T>,

`type Error = <U as TryFrom<T>>::Error`

`try_from`

)The type returned in the event of a conversion error.

`fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>`

[src]

`fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>`

`impl<T> BorrowMut for T where`

T: ?Sized,

[src]

`impl<T> BorrowMut for T where`

T: ?Sized,

`fn borrow_mut(&mut self) -> &mut T`

[src]

`fn borrow_mut(&mut self) -> &mut T`

`impl<T> Downcast for T where`

T: Any,

`impl<T> Downcast for T where`

T: Any,

`fn into_any(self: Box<T>) -> Box<dyn Any + 'static>`

`fn into_any(self: Box<T>) -> Box<dyn Any + 'static>`

`fn as_any(&self) -> &(dyn Any + 'static)`

`fn as_any(&self) -> &(dyn Any + 'static)`

`fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)`

`fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)`

`impl<SS, SP> SupersetOf for SP where`

SS: SubsetOf<SP>,

`impl<SS, SP> SupersetOf for SP where`

SS: SubsetOf<SP>,

`fn to_subset(&self) -> Option<SS>`

`fn to_subset(&self) -> Option<SS>`

`fn is_in_subset(&self) -> bool`

`fn is_in_subset(&self) -> bool`

`unsafe fn to_subset_unchecked(&self) -> SS`

`unsafe fn to_subset_unchecked(&self) -> SS`

`fn from_subset(element: &SS) -> SP`

`fn from_subset(element: &SS) -> SP`

`impl<T> Same for T`

`impl<T> Same for T`

`type Output = T`

Should always be `Self`