29 #ifndef __COLLISIONMODELMANAGER_H__
30 #define __COLLISIONMODELMANAGER_H__
83 #define CM_CLIP_EPSILON 0.25f // always stay this distance away from any model
84 #define CM_BOX_EPSILON 1.0f // should always be larger than clip epsilon
85 #define CM_MAX_TRACE_DIST 4096.0f // maximum distance a trace model may be traced, point traces are unlimited
94 virtual void FreeMap(
void ) = 0;
137 const idVec3 &viewOrigin,
const float radius ) = 0;
virtual void FreeMap(void)=0
virtual bool TrmFromModel(const char *modelName, idTraceModel &trm)=0
virtual bool GetModelContents(cmHandle_t model, int &contents) const =0
virtual void LoadMap(const idMapFile *mapFile)=0
virtual void ListModels(void)=0
virtual void Translation(trace_t *results, const idVec3 &start, const idVec3 &end, const idTraceModel *trm, const idMat3 &trmAxis, int contentMask, cmHandle_t model, const idVec3 &modelOrigin, const idMat3 &modelAxis)=0
GLint GLint GLsizei GLsizei GLsizei depth
virtual const char * GetModelName(cmHandle_t model) const =0
virtual int Contents(const idVec3 &start, const idTraceModel *trm, const idMat3 &trmAxis, int contentMask, cmHandle_t model, const idVec3 &modelOrigin, const idMat3 &modelAxis)=0
virtual int Contacts(contactInfo_t *contacts, const int maxContacts, const idVec3 &start, const idVec6 &dir, const float depth, const idTraceModel *trm, const idMat3 &trmAxis, int contentMask, cmHandle_t model, const idVec3 &modelOrigin, const idMat3 &modelAxis)=0
virtual void DrawModel(cmHandle_t model, const idVec3 &modelOrigin, const idMat3 &modelAxis, const idVec3 &viewOrigin, const float radius)=0
virtual bool GetModelVertex(cmHandle_t model, int vertexNum, idVec3 &vertex) const =0
virtual cmHandle_t LoadModel(const char *modelName, const bool precache)=0
virtual bool GetModelPolygon(cmHandle_t model, int polygonNum, idFixedWinding &winding) const =0
virtual void Rotation(trace_t *results, const idVec3 &start, const idRotation &rotation, const idTraceModel *trm, const idMat3 &trmAxis, int contentMask, cmHandle_t model, const idVec3 &modelOrigin, const idMat3 &modelAxis)=0
virtual bool GetModelEdge(cmHandle_t model, int edgeNum, idVec3 &start, idVec3 &end) const =0
virtual void DebugOutput(const idVec3 &origin)=0
virtual bool WriteCollisionModelForMapEntity(const idMapEntity *mapEnt, const char *filename, const bool testTraceModel=true)=0
virtual ~idCollisionModelManager(void)
virtual void ModelInfo(cmHandle_t model)=0
virtual cmHandle_t SetupTrmModel(const idTraceModel &trm, const idMaterial *material)=0
virtual bool GetModelBounds(cmHandle_t model, idBounds &bounds) const =0
idCollisionModelManager * collisionModelManager