29 #ifndef __PHYSICS_BASE_H__
30 #define __PHYSICS_BASE_H__
40 #define contactEntity_t idEntityPtr<idEntity>
61 void SetMass(
float mass,
int id = -1 );
62 float GetMass(
int id = -1 )
const;
73 bool Evaluate(
int timeStepMSec,
int endTimeMSec );
162 void DrawVelocity(
int id,
float linearScale,
float angularScale )
const;
const idVec3 & GetGravity(void) const
void WriteToSnapshot(idBitMsgDelta &msg) const
void RemoveContactEntity(idEntity *e)
void ClipTranslation(trace_t &results, const idVec3 &translation, const idClipModel *model) const
void DrawVelocity(int id, float linearScale, float angularScale) const
void SetMass(float mass, int id=-1)
void GetImpactInfo(const int id, const idVec3 &point, impactInfo_t *info) const
int GetNumClipModels(void) const
void SetAxis(const idMat3 &newAxis, int id=-1)
void AddForce(const int id, const idVec3 &point, const idVec3 &force)
CLASS_PROTOTYPE(idPhysics_Base)
bool IsOutsideWorld(void) const
bool EvaluateContacts(void)
idClipModel * GetClipModel(int id=0) const
void UpdateTime(int endTimeMSec)
int GetNumContacts(void) const
const contactInfo_t & GetContact(int num) const
const idMat3 & GetAxis(int id=0) const
void Save(idSaveGame *savefile) const
idEntity * GetBlockingEntity(void) const
const idBounds & GetBounds(int id=-1) const
void SetClipModel(idClipModel *model, float density, int id=0, bool freeOld=true)
void SetOrigin(const idVec3 &newOrigin, int id=-1)
void ApplyImpulse(const int id, const idVec3 &point, const idVec3 &impulse)
int GetAngularEndTime(void) const
void SetSelf(idEntity *e)
void AddContactEntity(idEntity *e)
bool IsGroundClipModel(int entityNum, int id) const
float GetMass(int id=-1) const
const idVec3 & GetLinearVelocity(int id=0) const
const idVec3 & GetGravityNormal(void) const
void Rotate(const idRotation &rotation, int id=-1)
const idBounds & GetAbsBounds(int id=-1) const
void AddGroundContacts(const idClipModel *clipModel)
void ClipRotation(trace_t &results, const idRotation &rotation, const idClipModel *model) const
void SetLinearVelocity(const idVec3 &newLinearVelocity, int id=0)
void SetPushed(int deltaTime)
idList< contactInfo_t > contacts
bool IsGroundEntity(int entityNum) const
void AddContactEntitiesForContacts(void)
int GetRestStartTime(void) const
int GetContents(int id=-1) const
int GetLinearEndTime(void) const
void SetClipMask(int mask, int id=-1)
void Restore(idRestoreGame *savefile)
void SetAngularVelocity(const idVec3 &newAngularVelocity, int id=0)
int GetClipMask(int id=-1) const
const idVec3 & GetOrigin(int id=0) const
const idVec3 & GetPushedLinearVelocity(const int id=0) const
void SetContents(int contents, int id=-1)
int ClipContents(const idClipModel *model) const
bool IsPushable(void) const
bool HasGroundContacts(void) const
bool Evaluate(int timeStepMSec, int endTimeMSec)
void SetMaster(idEntity *master, const bool orientated=true)
void ActivateContactEntities(void)
void SetGravity(const idVec3 &newGravity)
void ReadFromSnapshot(const idBitMsgDelta &msg)
const idVec3 & GetAngularVelocity(int id=0) const
idList< contactEntity_t > contactEntities
const idVec3 & GetPushedAngularVelocity(const int id=0) const
const trace_t * GetBlockingInfo(void) const
void Translate(const idVec3 &translation, int id=-1)
bool IsAtRest(void) const