Public Methods |
| ctPhysicalEntity () |
| Default refrence frame will be inertial frame.
|
| ctPhysicalEntity (ctReferenceFrame &ref, ctDeltaReferenceFrame &dref) |
| Use specified reference frame.
|
virtual | ~ctPhysicalEntity () |
virtual void | init_state () |
| Init values that will influence the calculation of the change in state.
|
virtual int | get_state_size () |
| Return the size of this entity's state vector.
|
virtual int | set_state (real *sa) |
| Add this body's state to the state vector buffer passed in. More...
|
virtual int | get_state (const real *sa) |
| 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 | rotate_around_line (ctVector3 &paxis, real ptheta) |
| change orientation in radians.
|
virtual void | set_pos (const ctVector3 &px) |
| Set position.
|
virtual void | set_v (const ctVector3 &pv) |
| virtual because v is calculated from P ( momentum ) in rigid bodies.
|
virtual ctVector3 | get_v () |
| Get linear velocity.
|
virtual void | set_angular_v (const ctVector3 &pw) |
| Set angular velocity.
|
virtual ctVector3 | get_angular_v () |
| Get angular velocity.
|
ctVector3 | get_F () |
| Get total added force for frame.
|
ctVector3 | get_torque () |
| Get total torque for frame.
|
void | set_F (const ctVector3 &pF) |
| Set total force for frame.
|
void | set_torque (const ctVector3 &pT) |
| Set total force for frame.
|
void | sum_force (const ctVector3 &f) |
| Add additional force.
|
void | sum_torque (const ctVector3 &t) |
| Add additional torque.
|
virtual void | apply_given_F (ctForce &frc) |
| Add this force to the list of forces that will be applied each frame.
|
void | print_force () |
| For debugging.
|
virtual ctPhysicalEntity* | get_collidable_entity () |
| collision routines.
|
virtual void | apply_impulse (ctVector3 impulse_point, ctVector3 impulse_vector) |
| Can use this to impart and impulse to this object. More...
|
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.
|
const ctMatrix3& | get_R () |
const ctMatrix3& | get_T () |
const ctVector3& | get_pos () |
const ctVector3& | get_org_world () |
const ctMatrix3& | get_world_to_this () |
const ctMatrix3& | get_this_to_world () |
void | v_this_to_world (ctVector3 &pv) |
ctVector3 | get_v_this_to_world (ctVector3 &pv) |
ctReferenceFrame* | get_RF () |
ctDeltaReferenceFrame* | get_dRF () |
Protected Attributes |
ctReferenceFrame& | RF |
| Frame of reference. Orientation and position are stored here.
|
ctDeltaReferenceFrame& | dRF |
| Change of RF wrt time. ( angular and linear velocity ).
|
ctVector3 | F |
| Total added Force for a frame.
|
ctVector3 | T |
| Total Torque for a frame.
|