#include <rigidbod.h>
Inheritance diagram for ctRigidBody:

Public Methods | |
| ctRigidBody () | |
| ctRigidBody (ctReferenceFrame &ref, ctDeltaReferenceFrame &dref) | |
| virtual | ~ctRigidBody () |
| void | calc_simple_I_tensor (real width, real height, real depth) |
| Calculate interia tensor as if body was a solid block of given dimensions. More... | |
| const ctMatrix3& | get_I () |
| Get Inertia tensor. | |
| const ctMatrix3& | get_I_inv () |
| Get Inverse Inertia tensor. | |
| ctMatrix3 | get_I_inv_world () |
| ctMatrix3 | get_I_world () |
| virtual void | get_impulse_m_and_I_inv (real *pm, ctMatrix3 *pI_inv, const ctVector3 &impulse_point, const ctVector3 &unit_length_impulse_vector) |
| Fill out mass and inverse inertia tensor behaviour for an impulse response impulse_point is point of collision in world frame. | |
| ctVector3 | get_angular_P () |
| Get Angular Momentum. | |
| ctVector3 | get_P () |
| virtual int | get_state_size () |
| ODE interface. | |
| virtual int | set_state (real *state_array) |
| Add this body's state to the state vector buffer passed in. More... | |
| virtual int | get_state (const real *state_array) |
| Download state from buffer into this entity. | |
| virtual int | set_delta_state (real *state_array) |
| Add change in state vector over time to state buffer parameter. | |
| virtual void | set_angular_v (const ctVector3 &pw) |
| Set angular velocity. | |
| virtual void | set_v (const ctVector3 &pv) |
| virtual because v is calculated from P ( momentum ) in rigid bodies. | |
| virtual void | add_angular_v (const ctVector3 &pw) |
| virtual void | add_v (const ctVector3 &pv) |
| virtual void | set_m (real pm) |
| virtual void | apply_impulse (ctVector3 impulse_point, ctVector3 impulse_vector) |
| Impulse_point is vector from center of body to point of collision in world coordinates. More... | |
Public Attributes | |
| iObjectRegistry* | object_reg |
Static Public Methods | |
| ctRigidBody* | new_ctRigidBody () |
| Convienent to create enitites with parent as world frame of reference. | |
| ctRigidBody* | new_ctRigidBody (coord x, coord y, coord z) |
| int | get_RB_state_size () |
| Get Rigid Body state size. | |
Protected Attributes | |
| ctVector3 | P |
| Momentum. | |
| ctVector3 | L |
| Angular momentum. | |
| ctMatrix3 | I |
| Intertia tensor. | |
| ctMatrix3 | I_inv |
| Inverse of Inertia tensor. | |
|
|
Impulse_point is vector from center of body to point of collision in world coordinates. impulse_vector is in world coords. Reimplemented from ctPhysicalEntity. |
|
|
Calculate interia tensor as if body was a solid block of given dimensions. NOTE: m must be given first. |
|
|
Add this body's state to the state vector buffer passed in. Increment state buffer to point after added state. Upload Reimplemented from ctPhysicalEntity. |