Google

Main Page   Class Hierarchy   Compound List   File List   Compound Members  

ctPhysicalEntity Class Reference

parent class of physical bodies. More...

#include <phyzent.h>

Inheritance diagram for ctPhysicalEntity:

ctArticulatedBody ctRigidBody List of all members.

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)
ctReferenceFrameget_RF ()
ctDeltaReferenceFrame* get_dRF ()

Protected Attributes

ctReferenceFrameRF
 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.


Detailed Description

parent class of physical bodies.


Member Function Documentation

void ctPhysicalEntity::apply_impulse ( ctVector3 impulse_point,
ctVector3 impulse_vector ) [virtual]
 

Can use this to impart and impulse to this object.

Impulse_point is vector from center of body to point of collision in world coordinates. Impulse_vector is in world coords

Reimplemented in ctArticulatedBody, and ctRigidBody.

int ctPhysicalEntity::set_state ( real * state_array ) [virtual]
 

Add this body's state to the state vector buffer passed in.

Increment state buffer to point after added state. Upload

Reimplemented in ctArticulatedBody, and ctRigidBody.


The documentation for this class was generated from the following file:
Generated for Crystal Space by doxygen 1.2.5 written by Dimitri van Heesch, ©1997-2000