#include <ContactResolver.h>
Public Member Functions | |
| ContactResolver (void) | |
| ~ContactResolver (void) | |
| ContactResolver (Contact *contacts_array, unsigned num_o_contacts) | |
| float | get_restitution_cutoff () const |
| float | get_position_epsilon () const |
| float | get_velocity_epsilon () const |
| unsigned | get_max_position_iterations () const |
| unsigned | get_max_velocity_iterations () const |
| float | get_angular_limit () const |
| void | set_restitution_cutoff (const float minimum_speed) |
| void | set_position_epsilon (const float epsilon) |
| void | set_velocity_epsilon (const float epsilon) |
| void | set_max_position_iterations (const unsigned iterations) |
| void | set_max_velocity_iterations (const unsigned iterations) |
| void | set_angular_limit (const float angular_limit) |
| void | set_array (Contact *contacts_array, unsigned num_o_contacts) |
| void | resolve_contacts (const float time) |
| bl7::rigidbodies2::ContactResolver::ContactResolver | ( | void | ) | [inline] |
Default constructor. You have to set the array with generated contacts manually, otherwise you will reap crucial errors.
| bl7::rigidbodies2::ContactResolver::~ContactResolver | ( | void | ) | [inline] |
Destructor.
| bl7::rigidbodies2::ContactResolver::ContactResolver | ( | Contact * | contacts_array, | |
| unsigned | num_o_contacts | |||
| ) | [inline] |
Explicit constructor. Takes a pointer to an array with generated contacts.
| float bl7::rigidbodies2::ContactResolver::get_angular_limit | ( | ) | const [inline] |
Returns the maximum amount of change in orientation to avoid angular projections that are too great (when mass is large but moment of inertia is small).
| unsigned bl7::rigidbodies2::ContactResolver::get_max_position_iterations | ( | ) | const [inline] |
Returns the number of iterations used to resolve the rigid body contacts due to interpenetration. If it is set to 0 (it is by default), a default value of twice the number of generated rigid body contacts is taken.
| unsigned bl7::rigidbodies2::ContactResolver::get_max_velocity_iterations | ( | ) | const [inline] |
Returns the number of iterations used to resolve the rigid body contacts due to closing velocity. If it is set to 0 (it is by default), a default value of twice the number of generated rigid body contacts is taken.
| float bl7::rigidbodies2::ContactResolver::get_position_epsilon | ( | ) | const [inline] |
Returns the epsilon value of minimum interpenetration depth.
| float bl7::rigidbodies2::ContactResolver::get_restitution_cutoff | ( | ) | const [inline] |
Returns the minimum speed value for restitution cutoff.
| float bl7::rigidbodies2::ContactResolver::get_velocity_epsilon | ( | ) | const [inline] |
Returns the epsilon value of minimum closing speed.
| void bl7::rigidbodies2::ContactResolver::resolve_contacts | ( | const float | time | ) |
Resolves the rigid body contacts in the array for both velocity and interpenetration. A value of 0 for the maximum number of iterations means the default value of twice the number of contacts in the array.
| void bl7::rigidbodies2::ContactResolver::set_angular_limit | ( | const float | angular_limit | ) | [inline] |
Sets the maximum amount of change in orientation to avoid angular projections that are too great (when mass is large but moment of inertia is small).
| void bl7::rigidbodies2::ContactResolver::set_array | ( | Contact * | contacts_array, | |
| unsigned | num_o_contacts | |||
| ) | [inline] |
Sets the array and the number of rigid body contacts.
| void bl7::rigidbodies2::ContactResolver::set_max_position_iterations | ( | const unsigned | iterations | ) | [inline] |
Sets the number of iterations used to resolve the rigid body contacts due to interpenetration. If it is set to 0 (it is by default), a default value of twice the number of generated rigid body contacts is taken.
| void bl7::rigidbodies2::ContactResolver::set_max_velocity_iterations | ( | const unsigned | iterations | ) | [inline] |
Sets the number of iterations used to resolve the rigid body contacts due to closing velocity. If it is set to 0 (it is by default), a default value of twice the number of generated rigid body contacts is taken.
| void bl7::rigidbodies2::ContactResolver::set_position_epsilon | ( | const float | epsilon | ) | [inline] |
Returns the epsilon value of minimum interpenetration depth.
| void bl7::rigidbodies2::ContactResolver::set_restitution_cutoff | ( | const float | minimum_speed | ) | [inline] |
Sets the minimum speed value for restitution cutoff.
| void bl7::rigidbodies2::ContactResolver::set_velocity_epsilon | ( | const float | epsilon | ) | [inline] |
Returns the epsilon value of minimum closing speed.
1.7.1