[−][src]Trait oxygengine_physics_2d::prelude::Body
Trait implemented by all bodies supported by nphysics.
Required methods
fn update_kinematics(&mut self)
Updates the kinematics, e.g., positions and jacobians, of this body.
fn update_dynamics(&mut self, dt: N)
Update the dynamics property of this body.
fn update_acceleration(
&mut self,
gravity: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
parameters: &IntegrationParameters<N>
)
&mut self,
gravity: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
parameters: &IntegrationParameters<N>
)
Update the acceleration of this body given the forces it is subject to and the gravity.
fn clear_forces(&mut self)
Reset the timestep-specific dynamic information of this body.
fn clear_update_flags(&mut self)
Clear all the update flags of this body.
fn update_status(&self) -> BodyUpdateStatus
The flags tracking what modifications were applied to a body.
fn apply_displacement(&mut self, disp: &[N])
Applies a generalized displacement to this body.
fn status(&self) -> BodyStatus
The status of this body.
fn set_status(&mut self, status: BodyStatus)
Set the status of this body.
fn activation_status(&self) -> &ActivationStatus<N>
Information regarding activation and deactivation (sleeping) of this body.
fn set_deactivation_threshold(&mut self, threshold: Option<N>)
Sets the energy bellow which this body is put to sleep.
If set to None
the body will never sleep.
fn ndofs(&self) -> usize
The number of degrees of freedom of this body.
fn generalized_acceleration(
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
The generalized accelerations at each degree of freedom of this body.
fn generalized_velocity(
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
The generalized velocities of this body.
fn companion_id(&self) -> usize
The companion ID of this body.
fn set_companion_id(&mut self, id: usize)
Set the companion ID of this body (may be reinitialized by nphysics).
fn generalized_velocity_mut(
&mut self
) -> Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
&mut self
) -> Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
The mutable generalized velocities of this body.
fn integrate(&mut self, parameters: &IntegrationParameters<N>)
Integrate the position of this body.
fn activate_with_energy(&mut self, energy: N)
Force the activation of this body with the given level of energy.
fn deactivate(&mut self)
Put this body to sleep.
fn num_parts(&self) -> usize
The number of parts of this body.
fn part(&self, i: usize) -> Option<&(dyn BodyPart<N> + 'static)>
A reference to the specified body part.
fn deformed_positions(&self) -> Option<(DeformationsType, &[N])>
If this is a deformable body, returns its deformed positions.
fn deformed_positions_mut(&mut self) -> Option<(DeformationsType, &mut [N])>
If this is a deformable body, returns a mutable reference to its deformed positions.
fn fill_constraint_geometry(
&self,
part: &(dyn BodyPart<N> + 'static),
ndofs: usize,
center: &Point<N, U2>,
dir: &ForceDirection<N>,
j_id: usize,
wj_id: usize,
jacobians: &mut [N],
inv_r: &mut N,
ext_vels: Option<&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>>,
out_vel: Option<&mut N>
)
&self,
part: &(dyn BodyPart<N> + 'static),
ndofs: usize,
center: &Point<N, U2>,
dir: &ForceDirection<N>,
j_id: usize,
wj_id: usize,
jacobians: &mut [N],
inv_r: &mut N,
ext_vels: Option<&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>>,
out_vel: Option<&mut N>
)
Fills all the jacobians (and the jacobians multiplied by the inverse augmented mass matrix) for a
constraint applying a force at the point center
(relative to the body part's center of mass) and
the direction dir
.
If the force is a torque, it is applied at the center of mass of the body part.
fn world_point_at_material_point(
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
Transform the given point expressed in material coordinates to world-space.
fn position_at_material_point(
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Isometry<N, U2, Unit<Complex<N>>>
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Isometry<N, U2, Unit<Complex<N>>>
Transform the given point expressed in material coordinates to world-space.
fn material_point_at_world_point(
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
Transform the given point expressed in material coordinates to world-space.
fn has_active_internal_constraints(&mut self) -> bool
Returns true
if this bodies contains internal constraints that need to be solved.
fn setup_internal_velocity_constraints(
&mut self,
ext_vels: &Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>,
parameters: &IntegrationParameters<N>
)
&mut self,
ext_vels: &Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>,
parameters: &IntegrationParameters<N>
)
Initializes the internal velocity constraints of a body.
fn warmstart_internal_velocity_constraints(
&mut self,
dvels: &mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
&mut self,
dvels: &mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
For warmstarting the solver, modifies the delta velocity applied by the internal constraints of this body.
fn step_solve_internal_velocity_constraints(
&mut self,
dvels: &mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
&mut self,
dvels: &mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
Execute one step for the iterative resolution of this body's internal velocity constraints.
fn step_solve_internal_position_constraints(
&mut self,
parameters: &IntegrationParameters<N>
)
&mut self,
parameters: &IntegrationParameters<N>
)
Execute one step for the iterative resolution of this body's internal position constraints.
fn gravity_enabled(&self) -> bool
Whether this body is affected by gravity.
fn enable_gravity(&mut self, enabled: bool)
Enable or disable gravity for this body.
fn velocity_at_point(
&self,
part_id: usize,
point: &Point<N, U2>
) -> Velocity2<N>
&self,
part_id: usize,
point: &Point<N, U2>
) -> Velocity2<N>
Gets the velocity of the given point of this body.
fn apply_force(
&mut self,
part_id: usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
&mut self,
part_id: usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
Apply a force at the center of mass of a part of this body.
fn apply_local_force(
&mut self,
part_id: usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
&mut self,
part_id: usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
Apply a local force at the center of mass of a part of this body.
fn apply_force_at_point(
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
Apply a force at a given point of a part of this body.
fn apply_local_force_at_point(
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
Apply a local force at a given point of a part of this body.
fn apply_force_at_local_point(
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
Apply a force at a given local point of a part of this body.
fn apply_local_force_at_local_point(
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
Apply a local force at a given local point of a part of this body.
Provided methods
fn is_ground(&self) -> bool
Returns true
if this body is the ground.
fn update_activation_status(&mut self)
Update whether this body needs to be waken up after a user-interaction.
fn advance(&mut self, _time_ratio: N)
fn validate_advancement(&mut self)
fn clamp_advancement(&mut self)
fn part_motion(
&self,
_part_id: usize,
_time_origin: N
) -> Option<BodyPartMotion<N>>
&self,
_part_id: usize,
_time_origin: N
) -> Option<BodyPartMotion<N>>
fn step_started(&mut self)
fn add_local_inertia_and_com(
&mut self,
_part_index: usize,
_com: Point<N, U2>,
_inertia: Inertia2<N>
)
&mut self,
_part_index: usize,
_com: Point<N, U2>,
_inertia: Inertia2<N>
)
Add the given inertia to the local inertia of this body part.
fn status_dependent_ndofs(&self) -> usize
The number of degrees of freedom (DOF) of this body, taking its status into account.
In particular, this returns 0 for any body with a status different than BodyStatus::Dynamic
.
fn status_dependent_body_part_velocity(
&self,
part: &(dyn BodyPart<N> + 'static)
) -> Velocity2<N>
&self,
part: &(dyn BodyPart<N> + 'static)
) -> Velocity2<N>
The velocity of the specified body part, taking this body status into account.
This will return a zero velocity for any body with a status different than BodyStatus::Dynamic
.
fn is_active(&self) -> bool
Check if this body is active.
fn is_dynamic(&self) -> bool
Whether or not the status of this body is dynamic.
fn is_kinematic(&self) -> bool
Whether or not the status of this body is kinematic.
fn is_static(&self) -> bool
Whether or not the status of this body is static.
fn activate(&mut self)
Force the activation of this body.
Implementations
impl<N> dyn Body<N> + 'static where
N: Any + 'static + RealField,
N: Any + 'static + RealField,
pub fn is<__T>(&self) -> bool where
__T: Body<N>,
__T: Body<N>,
Returns true if the trait object wraps an object of type __T
.
pub fn downcast<__T>(
self: Box<dyn Body<N> + 'static>
) -> Result<Box<__T>, Box<dyn Body<N> + 'static>> where
__T: Body<N>,
self: Box<dyn Body<N> + 'static>
) -> Result<Box<__T>, Box<dyn Body<N> + 'static>> where
__T: Body<N>,
Returns a boxed object from a boxed trait object if the underlying object is of type
__T
. Returns the original boxed trait if it isn't.
pub fn downcast_rc<__T>(
self: Rc<dyn Body<N> + 'static>
) -> Result<Rc<__T>, Rc<dyn Body<N> + 'static>> where
__T: Body<N>,
self: Rc<dyn Body<N> + 'static>
) -> Result<Rc<__T>, Rc<dyn Body<N> + 'static>> where
__T: Body<N>,
Returns an Rc
-ed object from an Rc
-ed trait object if the underlying object is of
type __T
. Returns the original Rc
-ed trait if it isn't.
pub fn downcast_ref<__T>(&self) -> Option<&__T> where
__T: Body<N>,
__T: Body<N>,
Returns a reference to the object within the trait object if it is of type __T
, or
None
if it isn't.
pub fn downcast_mut<__T>(&mut self) -> Option<&mut __T> where
__T: Body<N>,
__T: Body<N>,
Returns a mutable reference to the object within the trait object if it is of type
__T
, or None
if it isn't.
Implementors
impl<N> Body<N> for FEMSurface<N> where
N: RealField,
[src]
N: RealField,
fn gravity_enabled(&self) -> bool
[src]
fn enable_gravity(&mut self, enabled: bool)
[src]
fn deformed_positions(&self) -> Option<(DeformationsType, &[N])>
[src]
fn deformed_positions_mut(&mut self) -> Option<(DeformationsType, &mut [N])>
[src]
fn update_kinematics(&mut self)
[src]
fn update_dynamics(&mut self, dt: N)
[src]
Update the dynamics property of this deformable surface.
fn update_acceleration(
&mut self,
gravity: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
parameters: &IntegrationParameters<N>
)
[src]
&mut self,
gravity: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
parameters: &IntegrationParameters<N>
)
Update the dynamics property of this deformable surface.
fn clear_forces(&mut self)
[src]
fn clear_update_flags(&mut self)
[src]
fn update_status(&self) -> BodyUpdateStatus
[src]
fn apply_displacement(&mut self, disp: &[N])
[src]
fn status(&self) -> BodyStatus
[src]
fn set_status(&mut self, status: BodyStatus)
[src]
fn activation_status(&self) -> &ActivationStatus<N>
[src]
fn ndofs(&self) -> usize
[src]
fn generalized_acceleration(
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
[src]
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
fn generalized_velocity(
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
[src]
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
fn companion_id(&self) -> usize
[src]
fn set_companion_id(&mut self, id: usize)
[src]
fn generalized_velocity_mut(
&mut self
) -> Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
[src]
&mut self
) -> Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
fn integrate(&mut self, parameters: &IntegrationParameters<N>)
[src]
fn activate_with_energy(&mut self, energy: N)
[src]
fn deactivate(&mut self)
[src]
fn set_deactivation_threshold(&mut self, threshold: Option<N>)
[src]
fn num_parts(&self) -> usize
[src]
fn part(&self, id: usize) -> Option<&(dyn BodyPart<N> + 'static)>
[src]
fn world_point_at_material_point(
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
[src]
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
fn position_at_material_point(
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Isometry<N, U2, Unit<Complex<N>>>
[src]
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Isometry<N, U2, Unit<Complex<N>>>
fn material_point_at_world_point(
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
[src]
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
fn fill_constraint_geometry(
&self,
part: &(dyn BodyPart<N> + 'static),
usize,
center: &Point<N, U2>,
force_dir: &ForceDirection<N>,
j_id: usize,
wj_id: usize,
jacobians: &mut [N],
inv_r: &mut N,
ext_vels: Option<&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>>,
out_vel: Option<&mut N>
)
[src]
&self,
part: &(dyn BodyPart<N> + 'static),
usize,
center: &Point<N, U2>,
force_dir: &ForceDirection<N>,
j_id: usize,
wj_id: usize,
jacobians: &mut [N],
inv_r: &mut N,
ext_vels: Option<&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>>,
out_vel: Option<&mut N>
)
fn has_active_internal_constraints(&mut self) -> bool
[src]
fn setup_internal_velocity_constraints(
&mut self,
&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>,
&IntegrationParameters<N>
)
[src]
&mut self,
&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>,
&IntegrationParameters<N>
)
fn warmstart_internal_velocity_constraints(
&mut self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
[src]
&mut self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
fn step_solve_internal_velocity_constraints(
&mut self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
[src]
&mut self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
fn step_solve_internal_position_constraints(
&mut self,
&IntegrationParameters<N>
)
[src]
&mut self,
&IntegrationParameters<N>
)
fn velocity_at_point(
&self,
part_id: usize,
point: &Point<N, U2>
) -> Velocity2<N>
[src]
&self,
part_id: usize,
point: &Point<N, U2>
) -> Velocity2<N>
fn apply_force_at_local_point(
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_force(
&mut self,
part_id: usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_local_force(
&mut self,
part_id: usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_force_at_point(
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_local_force_at_point(
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_local_force_at_local_point(
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
impl<N> Body<N> for Ground<N> where
N: RealField,
[src]
N: RealField,
fn gravity_enabled(&self) -> bool
[src]
fn enable_gravity(&mut self, bool)
[src]
fn step_started(&mut self)
[src]
fn update_kinematics(&mut self)
[src]
fn update_dynamics(&mut self, N)
[src]
fn update_acceleration(
&mut self,
&Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&IntegrationParameters<N>
)
[src]
&mut self,
&Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&IntegrationParameters<N>
)
fn clear_forces(&mut self)
[src]
fn clear_update_flags(&mut self)
[src]
fn update_status(&self) -> BodyUpdateStatus
[src]
fn num_parts(&self) -> usize
[src]
fn part(&self, i: usize) -> Option<&(dyn BodyPart<N> + 'static)>
[src]
fn is_ground(&self) -> bool
[src]
fn apply_displacement(&mut self, &[N])
[src]
fn status(&self) -> BodyStatus
[src]
fn set_status(&mut self, BodyStatus)
[src]
fn activation_status(&self) -> &ActivationStatus<N>
[src]
fn is_active(&self) -> bool
[src]
fn is_dynamic(&self) -> bool
[src]
fn is_kinematic(&self) -> bool
[src]
fn is_static(&self) -> bool
[src]
fn deformed_positions(&self) -> Option<(DeformationsType, &[N])>
[src]
fn deformed_positions_mut(&mut self) -> Option<(DeformationsType, &mut [N])>
[src]
fn ndofs(&self) -> usize
[src]
fn generalized_acceleration(
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
[src]
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
fn generalized_velocity(
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
[src]
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
fn companion_id(&self) -> usize
[src]
fn set_companion_id(&mut self, id: usize)
[src]
fn generalized_velocity_mut(
&mut self
) -> Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
[src]
&mut self
) -> Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
fn velocity_at_point(&self, usize, &Point<N, U2>) -> Velocity2<N>
[src]
fn integrate(&mut self, &IntegrationParameters<N>)
[src]
fn activate(&mut self)
[src]
fn activate_with_energy(&mut self, N)
[src]
fn deactivate(&mut self)
[src]
fn set_deactivation_threshold(&mut self, Option<N>)
[src]
fn world_point_at_material_point(
&self,
&(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
[src]
&self,
&(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
fn position_at_material_point(
&self,
&(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Isometry<N, U2, Unit<Complex<N>>>
[src]
&self,
&(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Isometry<N, U2, Unit<Complex<N>>>
fn material_point_at_world_point(
&self,
&(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
[src]
&self,
&(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
fn fill_constraint_geometry(
&self,
&(dyn BodyPart<N> + 'static),
usize,
&Point<N, U2>,
&ForceDirection<N>,
usize,
usize,
&mut [N],
&mut N,
Option<&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>>,
Option<&mut N>
)
[src]
&self,
&(dyn BodyPart<N> + 'static),
usize,
&Point<N, U2>,
&ForceDirection<N>,
usize,
usize,
&mut [N],
&mut N,
Option<&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>>,
Option<&mut N>
)
fn advance(&mut self, N)
[src]
fn validate_advancement(&mut self)
[src]
fn clamp_advancement(&mut self)
[src]
fn part_motion(&self, usize, N) -> Option<BodyPartMotion<N>>
[src]
fn has_active_internal_constraints(&mut self) -> bool
[src]
fn setup_internal_velocity_constraints(
&mut self,
&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>,
&IntegrationParameters<N>
)
[src]
&mut self,
&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>,
&IntegrationParameters<N>
)
fn warmstart_internal_velocity_constraints(
&mut self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
[src]
&mut self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
fn step_solve_internal_velocity_constraints(
&mut self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
[src]
&mut self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
fn step_solve_internal_position_constraints(
&mut self,
&IntegrationParameters<N>
)
[src]
&mut self,
&IntegrationParameters<N>
)
fn apply_force(&mut self, usize, &Force2<N>, ForceType, bool)
[src]
fn apply_local_force(&mut self, usize, &Force2<N>, ForceType, bool)
[src]
fn apply_force_at_point(
&mut self,
usize,
&Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&Point<N, U2>,
ForceType,
bool
)
[src]
&mut self,
usize,
&Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&Point<N, U2>,
ForceType,
bool
)
fn apply_local_force_at_point(
&mut self,
usize,
&Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&Point<N, U2>,
ForceType,
bool
)
[src]
&mut self,
usize,
&Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&Point<N, U2>,
ForceType,
bool
)
fn apply_force_at_local_point(
&mut self,
usize,
&Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&Point<N, U2>,
ForceType,
bool
)
[src]
&mut self,
usize,
&Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&Point<N, U2>,
ForceType,
bool
)
fn apply_local_force_at_local_point(
&mut self,
usize,
&Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&Point<N, U2>,
ForceType,
bool
)
[src]
&mut self,
usize,
&Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&Point<N, U2>,
ForceType,
bool
)
impl<N> Body<N> for MassConstraintSystem<N> where
N: RealField,
[src]
N: RealField,
fn gravity_enabled(&self) -> bool
[src]
fn enable_gravity(&mut self, enabled: bool)
[src]
fn update_kinematics(&mut self)
[src]
fn update_dynamics(&mut self, N)
[src]
fn update_acceleration(
&mut self,
gravity: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
parameters: &IntegrationParameters<N>
)
[src]
&mut self,
gravity: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
parameters: &IntegrationParameters<N>
)
fn clear_forces(&mut self)
[src]
fn apply_displacement(&mut self, disp: &[N])
[src]
fn status(&self) -> BodyStatus
[src]
fn set_status(&mut self, status: BodyStatus)
[src]
fn clear_update_flags(&mut self)
[src]
fn update_status(&self) -> BodyUpdateStatus
[src]
fn activation_status(&self) -> &ActivationStatus<N>
[src]
fn set_deactivation_threshold(&mut self, threshold: Option<N>)
[src]
fn ndofs(&self) -> usize
[src]
fn generalized_acceleration(
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
[src]
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
fn generalized_velocity(
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
[src]
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
fn companion_id(&self) -> usize
[src]
fn set_companion_id(&mut self, id: usize)
[src]
fn generalized_velocity_mut(
&mut self
) -> Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
[src]
&mut self
) -> Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
fn integrate(&mut self, parameters: &IntegrationParameters<N>)
[src]
fn activate_with_energy(&mut self, energy: N)
[src]
fn deactivate(&mut self)
[src]
fn num_parts(&self) -> usize
[src]
fn part(&self, id: usize) -> Option<&(dyn BodyPart<N> + 'static)>
[src]
fn deformed_positions(&self) -> Option<(DeformationsType, &[N])>
[src]
fn deformed_positions_mut(&mut self) -> Option<(DeformationsType, &mut [N])>
[src]
fn world_point_at_material_point(
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
[src]
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
fn position_at_material_point(
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Isometry<N, U2, Unit<Complex<N>>>
[src]
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Isometry<N, U2, Unit<Complex<N>>>
fn material_point_at_world_point(
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
[src]
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
fn fill_constraint_geometry(
&self,
part: &(dyn BodyPart<N> + 'static),
usize,
center: &Point<N, U2>,
force_dir: &ForceDirection<N>,
j_id: usize,
wj_id: usize,
jacobians: &mut [N],
inv_r: &mut N,
ext_vels: Option<&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>>,
out_vel: Option<&mut N>
)
[src]
&self,
part: &(dyn BodyPart<N> + 'static),
usize,
center: &Point<N, U2>,
force_dir: &ForceDirection<N>,
j_id: usize,
wj_id: usize,
jacobians: &mut [N],
inv_r: &mut N,
ext_vels: Option<&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>>,
out_vel: Option<&mut N>
)
fn has_active_internal_constraints(&mut self) -> bool
[src]
fn setup_internal_velocity_constraints(
&mut self,
&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>,
&IntegrationParameters<N>
)
[src]
&mut self,
&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>,
&IntegrationParameters<N>
)
fn warmstart_internal_velocity_constraints(
&mut self,
dvels: &mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
[src]
&mut self,
dvels: &mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
fn step_solve_internal_velocity_constraints(
&mut self,
dvels: &mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
[src]
&mut self,
dvels: &mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
fn step_solve_internal_position_constraints(
&mut self,
parameters: &IntegrationParameters<N>
)
[src]
&mut self,
parameters: &IntegrationParameters<N>
)
fn velocity_at_point(
&self,
part_id: usize,
point: &Point<N, U2>
) -> Velocity2<N>
[src]
&self,
part_id: usize,
point: &Point<N, U2>
) -> Velocity2<N>
fn apply_force_at_local_point(
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_force(
&mut self,
part_id: usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_local_force(
&mut self,
part_id: usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_force_at_point(
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_local_force_at_point(
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_local_force_at_local_point(
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
impl<N> Body<N> for MassSpringSystem<N> where
N: RealField,
[src]
N: RealField,
fn gravity_enabled(&self) -> bool
[src]
fn enable_gravity(&mut self, enabled: bool)
[src]
fn update_kinematics(&mut self)
[src]
fn update_dynamics(&mut self, dt: N)
[src]
fn update_acceleration(
&mut self,
gravity: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
parameters: &IntegrationParameters<N>
)
[src]
&mut self,
gravity: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
parameters: &IntegrationParameters<N>
)
fn clear_forces(&mut self)
[src]
fn apply_displacement(&mut self, disp: &[N])
[src]
fn status(&self) -> BodyStatus
[src]
fn set_status(&mut self, status: BodyStatus)
[src]
fn clear_update_flags(&mut self)
[src]
fn update_status(&self) -> BodyUpdateStatus
[src]
fn activation_status(&self) -> &ActivationStatus<N>
[src]
fn set_deactivation_threshold(&mut self, threshold: Option<N>)
[src]
fn ndofs(&self) -> usize
[src]
fn generalized_acceleration(
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
[src]
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
fn generalized_velocity(
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
[src]
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
fn companion_id(&self) -> usize
[src]
fn set_companion_id(&mut self, id: usize)
[src]
fn generalized_velocity_mut(
&mut self
) -> Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
[src]
&mut self
) -> Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
fn integrate(&mut self, parameters: &IntegrationParameters<N>)
[src]
fn activate_with_energy(&mut self, energy: N)
[src]
fn deactivate(&mut self)
[src]
fn num_parts(&self) -> usize
[src]
fn part(&self, id: usize) -> Option<&(dyn BodyPart<N> + 'static)>
[src]
fn deformed_positions(&self) -> Option<(DeformationsType, &[N])>
[src]
fn deformed_positions_mut(&mut self) -> Option<(DeformationsType, &mut [N])>
[src]
fn world_point_at_material_point(
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
[src]
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
fn position_at_material_point(
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Isometry<N, U2, Unit<Complex<N>>>
[src]
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Isometry<N, U2, Unit<Complex<N>>>
fn material_point_at_world_point(
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
[src]
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
fn fill_constraint_geometry(
&self,
part: &(dyn BodyPart<N> + 'static),
usize,
center: &Point<N, U2>,
force_dir: &ForceDirection<N>,
j_id: usize,
wj_id: usize,
jacobians: &mut [N],
inv_r: &mut N,
ext_vels: Option<&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>>,
out_vel: Option<&mut N>
)
[src]
&self,
part: &(dyn BodyPart<N> + 'static),
usize,
center: &Point<N, U2>,
force_dir: &ForceDirection<N>,
j_id: usize,
wj_id: usize,
jacobians: &mut [N],
inv_r: &mut N,
ext_vels: Option<&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>>,
out_vel: Option<&mut N>
)
fn has_active_internal_constraints(&mut self) -> bool
[src]
fn setup_internal_velocity_constraints(
&mut self,
&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>,
&IntegrationParameters<N>
)
[src]
&mut self,
&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>,
&IntegrationParameters<N>
)
fn warmstart_internal_velocity_constraints(
&mut self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
[src]
&mut self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
fn step_solve_internal_velocity_constraints(
&mut self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
[src]
&mut self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
fn step_solve_internal_position_constraints(
&mut self,
&IntegrationParameters<N>
)
[src]
&mut self,
&IntegrationParameters<N>
)
fn velocity_at_point(
&self,
part_id: usize,
point: &Point<N, U2>
) -> Velocity2<N>
[src]
&self,
part_id: usize,
point: &Point<N, U2>
) -> Velocity2<N>
fn apply_force_at_local_point(
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_force(
&mut self,
part_id: usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_local_force(
&mut self,
part_id: usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_force_at_point(
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_local_force_at_point(
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_local_force_at_local_point(
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
impl<N> Body<N> for Multibody<N> where
N: RealField,
[src]
N: RealField,
fn num_parts(&self) -> usize
[src]
fn part(&self, id: usize) -> Option<&(dyn BodyPart<N> + 'static)>
[src]
fn deformed_positions(&self) -> Option<(DeformationsType, &[N])>
[src]
fn deformed_positions_mut(&mut self) -> Option<(DeformationsType, &mut [N])>
[src]
fn clear_update_flags(&mut self)
[src]
fn update_status(&self) -> BodyUpdateStatus
[src]
fn integrate(&mut self, parameters: &IntegrationParameters<N>)
[src]
fn apply_displacement(&mut self, disp: &[N])
[src]
fn clear_forces(&mut self)
[src]
fn update_kinematics(&mut self)
[src]
fn update_dynamics(&mut self, dt: N)
[src]
fn update_acceleration(
&mut self,
gravity: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&IntegrationParameters<N>
)
[src]
&mut self,
gravity: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&IntegrationParameters<N>
)
fn generalized_acceleration(
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
[src]
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
fn generalized_velocity(
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
[src]
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
fn generalized_velocity_mut(
&mut self
) -> Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
[src]
&mut self
) -> Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
fn gravity_enabled(&self) -> bool
[src]
fn enable_gravity(&mut self, enabled: bool)
[src]
fn activation_status(&self) -> &ActivationStatus<N>
[src]
fn activate_with_energy(&mut self, energy: N)
[src]
fn deactivate(&mut self)
[src]
fn set_deactivation_threshold(&mut self, threshold: Option<N>)
[src]
fn set_status(&mut self, status: BodyStatus)
[src]
fn status(&self) -> BodyStatus
[src]
fn companion_id(&self) -> usize
[src]
fn set_companion_id(&mut self, id: usize)
[src]
fn ndofs(&self) -> usize
[src]
fn world_point_at_material_point(
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
[src]
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
fn position_at_material_point(
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Isometry<N, U2, Unit<Complex<N>>>
[src]
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Isometry<N, U2, Unit<Complex<N>>>
fn material_point_at_world_point(
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
[src]
&self,
part: &(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
fn fill_constraint_geometry(
&self,
part: &(dyn BodyPart<N> + 'static),
ndofs: usize,
point: &Point<N, U2>,
force_dir: &ForceDirection<N>,
j_id: usize,
wj_id: usize,
jacobians: &mut [N],
inv_r: &mut N,
ext_vels: Option<&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>>,
out_vel: Option<&mut N>
)
[src]
&self,
part: &(dyn BodyPart<N> + 'static),
ndofs: usize,
point: &Point<N, U2>,
force_dir: &ForceDirection<N>,
j_id: usize,
wj_id: usize,
jacobians: &mut [N],
inv_r: &mut N,
ext_vels: Option<&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>>,
out_vel: Option<&mut N>
)
fn has_active_internal_constraints(&mut self) -> bool
[src]
fn setup_internal_velocity_constraints(
&mut self,
ext_vels: &Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>,
parameters: &IntegrationParameters<N>
)
[src]
&mut self,
ext_vels: &Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>,
parameters: &IntegrationParameters<N>
)
fn warmstart_internal_velocity_constraints(
&mut self,
dvels: &mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
[src]
&mut self,
dvels: &mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
fn step_solve_internal_velocity_constraints(
&mut self,
dvels: &mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
[src]
&mut self,
dvels: &mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
fn step_solve_internal_position_constraints(
&mut self,
parameters: &IntegrationParameters<N>
)
[src]
&mut self,
parameters: &IntegrationParameters<N>
)
fn add_local_inertia_and_com(
&mut self,
part_id: usize,
com: Point<N, U2>,
inertia: Inertia2<N>
)
[src]
&mut self,
part_id: usize,
com: Point<N, U2>,
inertia: Inertia2<N>
)
fn velocity_at_point(
&self,
part_id: usize,
point: &Point<N, U2>
) -> Velocity2<N>
[src]
&self,
part_id: usize,
point: &Point<N, U2>
) -> Velocity2<N>
fn apply_force(
&mut self,
part_id: usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_local_force(
&mut self,
part_id: usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_force_at_point(
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_local_force_at_point(
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_force_at_local_point(
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_local_force_at_local_point(
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
part_id: usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
impl<N> Body<N> for RigidBody<N> where
N: RealField,
[src]
N: RealField,
fn activation_status(&self) -> &ActivationStatus<N>
[src]
fn activate_with_energy(&mut self, energy: N)
[src]
fn deactivate(&mut self)
[src]
fn set_deactivation_threshold(&mut self, threshold: Option<N>)
[src]
fn update_status(&self) -> BodyUpdateStatus
[src]
fn status(&self) -> BodyStatus
[src]
fn set_status(&mut self, status: BodyStatus)
[src]
fn deformed_positions(&self) -> Option<(DeformationsType, &[N])>
[src]
fn deformed_positions_mut(&mut self) -> Option<(DeformationsType, &mut [N])>
[src]
fn companion_id(&self) -> usize
[src]
fn set_companion_id(&mut self, id: usize)
[src]
fn ndofs(&self) -> usize
[src]
fn generalized_velocity(
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
[src]
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
fn generalized_velocity_mut(
&mut self
) -> Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
[src]
&mut self
) -> Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
fn generalized_acceleration(
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
[src]
&self
) -> Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>
fn integrate(&mut self, parameters: &IntegrationParameters<N>)
[src]
fn clear_forces(&mut self)
[src]
fn clear_update_flags(&mut self)
[src]
fn update_kinematics(&mut self)
[src]
fn step_started(&mut self)
[src]
fn advance(&mut self, time_ratio: N)
[src]
fn validate_advancement(&mut self)
[src]
fn clamp_advancement(&mut self)
[src]
fn part_motion(&self, usize, time_origin: N) -> Option<BodyPartMotion<N>>
[src]
fn update_dynamics(&mut self, dt: N)
[src]
fn update_acceleration(
&mut self,
gravity: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&IntegrationParameters<N>
)
[src]
&mut self,
gravity: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&IntegrationParameters<N>
)
fn num_parts(&self) -> usize
[src]
fn part(&self, i: usize) -> Option<&(dyn BodyPart<N> + 'static)>
[src]
fn apply_displacement(&mut self, displacement: &[N])
[src]
fn world_point_at_material_point(
&self,
&(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
[src]
&self,
&(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
fn position_at_material_point(
&self,
&(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Isometry<N, U2, Unit<Complex<N>>>
[src]
&self,
&(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Isometry<N, U2, Unit<Complex<N>>>
fn material_point_at_world_point(
&self,
&(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
[src]
&self,
&(dyn BodyPart<N> + 'static),
point: &Point<N, U2>
) -> Point<N, U2>
fn gravity_enabled(&self) -> bool
[src]
fn enable_gravity(&mut self, enabled: bool)
[src]
fn velocity_at_point(&self, usize, point: &Point<N, U2>) -> Velocity2<N>
[src]
fn fill_constraint_geometry(
&self,
&(dyn BodyPart<N> + 'static),
usize,
point: &Point<N, U2>,
force_dir: &ForceDirection<N>,
j_id: usize,
wj_id: usize,
jacobians: &mut [N],
inv_r: &mut N,
ext_vels: Option<&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>>,
out_vel: Option<&mut N>
)
[src]
&self,
&(dyn BodyPart<N> + 'static),
usize,
point: &Point<N, U2>,
force_dir: &ForceDirection<N>,
j_id: usize,
wj_id: usize,
jacobians: &mut [N],
inv_r: &mut N,
ext_vels: Option<&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>>,
out_vel: Option<&mut N>
)
fn has_active_internal_constraints(&mut self) -> bool
[src]
fn setup_internal_velocity_constraints(
&mut self,
&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>,
&IntegrationParameters<N>
)
[src]
&mut self,
&Matrix<N, Dynamic, U1, SliceStorage<N, Dynamic, U1, U1, Dynamic>>,
&IntegrationParameters<N>
)
fn warmstart_internal_velocity_constraints(
&mut self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
[src]
&mut self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
fn step_solve_internal_velocity_constraints(
&mut self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
[src]
&mut self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<N, Dynamic, U1, U1, Dynamic>>
)
fn step_solve_internal_position_constraints(
&mut self,
&IntegrationParameters<N>
)
[src]
&mut self,
&IntegrationParameters<N>
)
fn add_local_inertia_and_com(
&mut self,
usize,
com: Point<N, U2>,
inertia: Inertia2<N>
)
[src]
&mut self,
usize,
com: Point<N, U2>,
inertia: Inertia2<N>
)
fn apply_force(
&mut self,
usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_local_force(
&mut self,
usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
usize,
force: &Force2<N>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_force_at_point(
&mut self,
usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_local_force_at_point(
&mut self,
usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_force_at_local_point(
&mut self,
usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
fn apply_local_force_at_local_point(
&mut self,
usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)
[src]
&mut self,
usize,
force: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>,
force_type: ForceType,
auto_wake_up: bool
)