Public Member Functions

bl7::rigidbodies2::ContactResolver Class Reference

#include <ContactResolver.h>

List of all members.

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)

Constructor & Destructor Documentation

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.


Member Function Documentation

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.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines