doom3-gpl
Doom 3 GPL source release
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
idCollisionModelManagerLocal Class Reference

#include <CollisionModel_local.h>

Inheritance diagram for idCollisionModelManagerLocal:
idCollisionModelManager

Public Member Functions

void LoadMap (const idMapFile *mapFile)
 
void FreeMap (void)
 
cmHandle_t LoadModel (const char *modelName, const bool precache)
 
cmHandle_t SetupTrmModel (const idTraceModel &trm, const idMaterial *material)
 
bool TrmFromModel (const char *modelName, idTraceModel &trm)
 
const char * GetModelName (cmHandle_t model) const
 
bool GetModelBounds (cmHandle_t model, idBounds &bounds) const
 
bool GetModelContents (cmHandle_t model, int &contents) const
 
bool GetModelVertex (cmHandle_t model, int vertexNum, idVec3 &vertex) const
 
bool GetModelEdge (cmHandle_t model, int edgeNum, idVec3 &start, idVec3 &end) const
 
bool GetModelPolygon (cmHandle_t model, int polygonNum, idFixedWinding &winding) const
 
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)
 
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)
 
int Contents (const idVec3 &start, const idTraceModel *trm, const idMat3 &trmAxis, int contentMask, cmHandle_t model, const idVec3 &modelOrigin, const idMat3 &modelAxis)
 
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)
 
void DebugOutput (const idVec3 &origin)
 
void DrawModel (cmHandle_t model, const idVec3 &origin, const idMat3 &axis, const idVec3 &viewOrigin, const float radius)
 
void ModelInfo (cmHandle_t model)
 
void ListModels (void)
 
bool WriteCollisionModelForMapEntity (const idMapEntity *mapEnt, const char *filename, const bool testTraceModel=true)
 
- Public Member Functions inherited from idCollisionModelManager
virtual ~idCollisionModelManager (void)
 

Private Member Functions

int TranslateEdgeThroughEdge (idVec3 &cross, idPluecker &l1, idPluecker &l2, float *fraction)
 
void TranslateTrmEdgeThroughPolygon (cm_traceWork_t *tw, cm_polygon_t *poly, cm_trmEdge_t *trmEdge)
 
void TranslateTrmVertexThroughPolygon (cm_traceWork_t *tw, cm_polygon_t *poly, cm_trmVertex_t *v, int bitNum)
 
void TranslatePointThroughPolygon (cm_traceWork_t *tw, cm_polygon_t *poly, cm_trmVertex_t *v)
 
void TranslateVertexThroughTrmPolygon (cm_traceWork_t *tw, cm_trmPolygon_t *trmpoly, cm_polygon_t *poly, cm_vertex_t *v, idVec3 &endp, idPluecker &pl)
 
bool TranslateTrmThroughPolygon (cm_traceWork_t *tw, cm_polygon_t *p)
 
void SetupTranslationHeartPlanes (cm_traceWork_t *tw)
 
void SetupTrm (cm_traceWork_t *tw, const idTraceModel *trm)
 
int CollisionBetweenEdgeBounds (cm_traceWork_t *tw, const idVec3 &va, const idVec3 &vb, const idVec3 &vc, const idVec3 &vd, float tanHalfAngle, idVec3 &collisionPoint, idVec3 &collisionNormal)
 
int RotateEdgeThroughEdge (cm_traceWork_t *tw, const idPluecker &pl1, const idVec3 &vc, const idVec3 &vd, const float minTan, float &tanHalfAngle)
 
int EdgeFurthestFromEdge (cm_traceWork_t *tw, const idPluecker &pl1, const idVec3 &vc, const idVec3 &vd, float &tanHalfAngle, float &dir)
 
void RotateTrmEdgeThroughPolygon (cm_traceWork_t *tw, cm_polygon_t *poly, cm_trmEdge_t *trmEdge)
 
int RotatePointThroughPlane (const cm_traceWork_t *tw, const idVec3 &point, const idPlane &plane, const float angle, const float minTan, float &tanHalfAngle)
 
int PointFurthestFromPlane (const cm_traceWork_t *tw, const idVec3 &point, const idPlane &plane, const float angle, float &tanHalfAngle, float &dir)
 
int RotatePointThroughEpsilonPlane (const cm_traceWork_t *tw, const idVec3 &point, const idVec3 &endPoint, const idPlane &plane, const float angle, const idVec3 &origin, float &tanHalfAngle, idVec3 &collisionPoint, idVec3 &endDir)
 
void RotateTrmVertexThroughPolygon (cm_traceWork_t *tw, cm_polygon_t *poly, cm_trmVertex_t *v, int vertexNum)
 
void RotateVertexThroughTrmPolygon (cm_traceWork_t *tw, cm_trmPolygon_t *trmpoly, cm_polygon_t *poly, cm_vertex_t *v, idVec3 &rotationOrigin)
 
bool RotateTrmThroughPolygon (cm_traceWork_t *tw, cm_polygon_t *p)
 
void BoundsForRotation (const idVec3 &origin, const idVec3 &axis, const idVec3 &start, const idVec3 &end, idBounds &bounds)
 
void Rotation180 (trace_t *results, const idVec3 &rorg, const idVec3 &axis, const float startAngle, const float endAngle, const idVec3 &start, const idTraceModel *trm, const idMat3 &trmAxis, int contentMask, cmHandle_t model, const idVec3 &origin, const idMat3 &modelAxis)
 
bool TestTrmVertsInBrush (cm_traceWork_t *tw, cm_brush_t *b)
 
bool TestTrmInPolygon (cm_traceWork_t *tw, cm_polygon_t *p)
 
cm_node_tPointNode (const idVec3 &p, cm_model_t *model)
 
int PointContents (const idVec3 p, cmHandle_t model)
 
int TransformedPointContents (const idVec3 &p, cmHandle_t model, const idVec3 &origin, const idMat3 &modelAxis)
 
int ContentsTrm (trace_t *results, const idVec3 &start, const idTraceModel *trm, const idMat3 &trmAxis, int contentMask, cmHandle_t model, const idVec3 &modelOrigin, const idMat3 &modelAxis)
 
void TraceTrmThroughNode (cm_traceWork_t *tw, cm_node_t *node)
 
void TraceThroughAxialBSPTree_r (cm_traceWork_t *tw, cm_node_t *node, float p1f, float p2f, idVec3 &p1, idVec3 &p2)
 
void TraceThroughModel (cm_traceWork_t *tw)
 
void RecurseProcBSP_r (trace_t *results, int parentNodeNum, int nodeNum, float p1f, float p2f, const idVec3 &p1, const idVec3 &p2)
 
void Clear (void)
 
void FreeTrmModelStructure (void)
 
void RemovePolygonReferences_r (cm_node_t *node, cm_polygon_t *p)
 
void RemoveBrushReferences_r (cm_node_t *node, cm_brush_t *b)
 
void FreeNode (cm_node_t *node)
 
void FreePolygonReference (cm_polygonRef_t *pref)
 
void FreeBrushReference (cm_brushRef_t *bref)
 
void FreePolygon (cm_model_t *model, cm_polygon_t *poly)
 
void FreeBrush (cm_model_t *model, cm_brush_t *brush)
 
void FreeTree_r (cm_model_t *model, cm_node_t *headNode, cm_node_t *node)
 
void FreeModel (cm_model_t *model)
 
void ReplacePolygons (cm_model_t *model, cm_node_t *node, cm_polygon_t *p1, cm_polygon_t *p2, cm_polygon_t *newp)
 
cm_polygon_tTryMergePolygons (cm_model_t *model, cm_polygon_t *p1, cm_polygon_t *p2)
 
bool MergePolygonWithTreePolygons (cm_model_t *model, cm_node_t *node, cm_polygon_t *polygon)
 
void MergeTreePolygons (cm_model_t *model, cm_node_t *node)
 
bool PointInsidePolygon (cm_model_t *model, cm_polygon_t *p, idVec3 &v)
 
void FindInternalEdgesOnPolygon (cm_model_t *model, cm_polygon_t *p1, cm_polygon_t *p2)
 
void FindInternalPolygonEdges (cm_model_t *model, cm_node_t *node, cm_polygon_t *polygon)
 
void FindInternalEdges (cm_model_t *model, cm_node_t *node)
 
void FindContainedEdges (cm_model_t *model, cm_polygon_t *p)
 
void ParseProcNodes (idLexer *src)
 
void LoadProcBSP (const char *name)
 
int R_ChoppedAwayByProcBSP (int nodeNum, idFixedWinding *w, const idVec3 &normal, const idVec3 &origin, const float radius)
 
int ChoppedAwayByProcBSP (const idFixedWinding &w, const idPlane &plane, int contents)
 
void ChopWindingListWithBrush (cm_windingList_t *list, cm_brush_t *b)
 
void R_ChopWindingListWithTreeBrushes (cm_windingList_t *list, cm_node_t *node)
 
idFixedWindingWindingOutsideBrushes (idFixedWinding *w, const idPlane &plane, int contents, int patch, cm_node_t *headNode)
 
cm_model_tAllocModel (void)
 
cm_node_tAllocNode (cm_model_t *model, int blockSize)
 
cm_polygonRef_tAllocPolygonReference (cm_model_t *model, int blockSize)
 
cm_brushRef_tAllocBrushReference (cm_model_t *model, int blockSize)
 
cm_polygon_tAllocPolygon (cm_model_t *model, int numEdges)
 
cm_brush_tAllocBrush (cm_model_t *model, int numPlanes)
 
void AddPolygonToNode (cm_model_t *model, cm_node_t *node, cm_polygon_t *p)
 
void AddBrushToNode (cm_model_t *model, cm_node_t *node, cm_brush_t *b)
 
void SetupTrmModelStructure (void)
 
void R_FilterPolygonIntoTree (cm_model_t *model, cm_node_t *node, cm_polygonRef_t *pref, cm_polygon_t *p)
 
void R_FilterBrushIntoTree (cm_model_t *model, cm_node_t *node, cm_brushRef_t *pref, cm_brush_t *b)
 
cm_node_tR_CreateAxialBSPTree (cm_model_t *model, cm_node_t *node, const idBounds &bounds)
 
cm_node_tCreateAxialBSPTree (cm_model_t *model, cm_node_t *node)
 
void SetupHash (void)
 
void ShutdownHash (void)
 
void ClearHash (idBounds &bounds)
 
int HashVec (const idVec3 &vec)
 
int GetVertex (cm_model_t *model, const idVec3 &v, int *vertexNum)
 
int GetEdge (cm_model_t *model, const idVec3 &v1, const idVec3 &v2, int *edgeNum, int v1num)
 
void CreatePolygon (cm_model_t *model, idFixedWinding *w, const idPlane &plane, const idMaterial *material, int primitiveNum)
 
void PolygonFromWinding (cm_model_t *model, idFixedWinding *w, const idPlane &plane, const idMaterial *material, int primitiveNum)
 
void CalculateEdgeNormals (cm_model_t *model, cm_node_t *node)
 
void CreatePatchPolygons (cm_model_t *model, idSurface_Patch &mesh, const idMaterial *material, int primitiveNum)
 
void ConvertPatch (cm_model_t *model, const idMapPatch *patch, int primitiveNum)
 
void ConvertBrushSides (cm_model_t *model, const idMapBrush *mapBrush, int primitiveNum)
 
void ConvertBrush (cm_model_t *model, const idMapBrush *mapBrush, int primitiveNum)
 
void PrintModelInfo (const cm_model_t *model)
 
void AccumulateModelInfo (cm_model_t *model)
 
void RemapEdges (cm_node_t *node, int *edgeRemap)
 
void OptimizeArrays (cm_model_t *model)
 
void FinishModel (cm_model_t *model)
 
void BuildModels (const idMapFile *mapFile)
 
cmHandle_t FindModel (const char *name)
 
cm_model_tCollisionModelForMapEntity (const idMapEntity *mapEnt)
 
cm_model_tLoadRenderModel (const char *fileName)
 
bool TrmFromModel_r (idTraceModel &trm, cm_node_t *node)
 
bool TrmFromModel (const cm_model_t *model, idTraceModel &trm)
 
void WriteNodes (idFile *fp, cm_node_t *node)
 
int CountPolygonMemory (cm_node_t *node) const
 
void WritePolygons (idFile *fp, cm_node_t *node)
 
int CountBrushMemory (cm_node_t *node) const
 
void WriteBrushes (idFile *fp, cm_node_t *node)
 
void WriteCollisionModel (idFile *fp, cm_model_t *model)
 
void WriteCollisionModelsToFile (const char *filename, int firstModel, int lastModel, unsigned int mapFileCRC)
 
cm_node_tParseNodes (idLexer *src, cm_model_t *model, cm_node_t *parent)
 
void ParseVertices (idLexer *src, cm_model_t *model)
 
void ParseEdges (idLexer *src, cm_model_t *model)
 
void ParsePolygons (idLexer *src, cm_model_t *model)
 
void ParseBrushes (idLexer *src, cm_model_t *model)
 
bool ParseCollisionModel (idLexer *src)
 
bool LoadCollisionModelFile (const char *name, unsigned int mapFileCRC)
 
int ContentsFromString (const char *string) const
 
const char * StringFromContents (const int contents) const
 
void DrawEdge (cm_model_t *model, int edgeNum, const idVec3 &origin, const idMat3 &axis)
 
void DrawPolygon (cm_model_t *model, cm_polygon_t *p, const idVec3 &origin, const idMat3 &axis, const idVec3 &viewOrigin)
 
void DrawNodePolygons (cm_model_t *model, cm_node_t *node, const idVec3 &origin, const idMat3 &axis, const idVec3 &viewOrigin, const float radius)
 

Private Attributes

idStr mapName
 
ID_TIME_T mapFileTime
 
int loaded
 
int checkCount
 
int maxModels
 
int numModels
 
cm_model_t ** models
 
cm_polygonRef_ttrmPolygons [MAX_TRACEMODEL_POLYS]
 
cm_brushRef_ttrmBrushes [1]
 
const idMaterialtrmMaterial
 
int numProcNodes
 
cm_procNode_tprocNodes
 
bool getContacts
 
contactInfo_tcontacts
 
int maxContacts
 
int numContacts
 

Detailed Description

Definition at line 293 of file CollisionModel_local.h.

Member Function Documentation

void idCollisionModelManagerLocal::AccumulateModelInfo ( cm_model_t model)
private

Definition at line 3217 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::AddBrushToNode ( cm_model_t model,
cm_node_t node,
cm_brush_t b 
)
private

Definition at line 718 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::AddPolygonToNode ( cm_model_t model,
cm_node_t node,
cm_polygon_t p 
)
private

Definition at line 703 of file CollisionModel_load.cpp.

cm_brush_t * idCollisionModelManagerLocal::AllocBrush ( cm_model_t model,
int  numPlanes 
)
private

Definition at line 681 of file CollisionModel_load.cpp.

cm_brushRef_t * idCollisionModelManagerLocal::AllocBrushReference ( cm_model_t model,
int  blockSize 
)
private

Definition at line 630 of file CollisionModel_load.cpp.

cm_model_t * idCollisionModelManagerLocal::AllocModel ( void  )
private

Definition at line 538 of file CollisionModel_load.cpp.

cm_node_t * idCollisionModelManagerLocal::AllocNode ( cm_model_t model,
int  blockSize 
)
private

Definition at line 571 of file CollisionModel_load.cpp.

cm_polygon_t * idCollisionModelManagerLocal::AllocPolygon ( cm_model_t model,
int  numEdges 
)
private

Definition at line 659 of file CollisionModel_load.cpp.

cm_polygonRef_t * idCollisionModelManagerLocal::AllocPolygonReference ( cm_model_t model,
int  blockSize 
)
private

Definition at line 601 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::BoundsForRotation ( const idVec3 origin,
const idVec3 axis,
const idVec3 start,
const idVec3 end,
idBounds bounds 
)
private

Definition at line 1212 of file CollisionModel_rotate.cpp.

void idCollisionModelManagerLocal::BuildModels ( const idMapFile mapFile)
private

Definition at line 3286 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::CalculateEdgeNormals ( cm_model_t model,
cm_node_t node 
)
private

Definition at line 470 of file CollisionModel_load.cpp.

int idCollisionModelManagerLocal::ChoppedAwayByProcBSP ( const idFixedWinding w,
const idPlane plane,
int  contents 
)
private

Definition at line 939 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::ChopWindingListWithBrush ( cm_windingList_t list,
cm_brush_t b 
)
private

Definition at line 970 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::Clear ( void  )
private

Definition at line 178 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::ClearHash ( idBounds bounds)
private

Definition at line 2223 of file CollisionModel_load.cpp.

int idCollisionModelManagerLocal::CollisionBetweenEdgeBounds ( cm_traceWork_t tw,
const idVec3 va,
const idVec3 vb,
const idVec3 vc,
const idVec3 vd,
float  tanHalfAngle,
idVec3 collisionPoint,
idVec3 collisionNormal 
)
private

Definition at line 123 of file CollisionModel_rotate.cpp.

cm_model_t * idCollisionModelManagerLocal::CollisionModelForMapEntity ( const idMapEntity mapEnt)
private

Definition at line 3080 of file CollisionModel_load.cpp.

int idCollisionModelManagerLocal::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 
)
virtual

Implements idCollisionModelManager.

Definition at line 55 of file CollisionModel_contacts.cpp.

int idCollisionModelManagerLocal::Contents ( const idVec3 start,
const idTraceModel trm,
const idMat3 trmAxis,
int  contentMask,
cmHandle_t  model,
const idVec3 modelOrigin,
const idMat3 modelAxis 
)
virtual

Implements idCollisionModelManager.

Definition at line 626 of file CollisionModel_contents.cpp.

int idCollisionModelManagerLocal::ContentsFromString ( const char *  string) const
private

Definition at line 104 of file CollisionModel_debug.cpp.

int idCollisionModelManagerLocal::ContentsTrm ( trace_t results,
const idVec3 start,
const idTraceModel trm,
const idMat3 trmAxis,
int  contentMask,
cmHandle_t  model,
const idVec3 modelOrigin,
const idMat3 modelAxis 
)
private

Definition at line 478 of file CollisionModel_contents.cpp.

void idCollisionModelManagerLocal::ConvertBrush ( cm_model_t model,
const idMapBrush mapBrush,
int  primitiveNum 
)
private

Definition at line 2684 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::ConvertBrushSides ( cm_model_t model,
const idMapBrush mapBrush,
int  primitiveNum 
)
private

Definition at line 2644 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::ConvertPatch ( cm_model_t model,
const idMapPatch patch,
int  primitiveNum 
)
private

Definition at line 2614 of file CollisionModel_load.cpp.

int idCollisionModelManagerLocal::CountBrushMemory ( cm_node_t node) const
private

Definition at line 135 of file CollisionModel_files.cpp.

int idCollisionModelManagerLocal::CountPolygonMemory ( cm_node_t node) const
private

Definition at line 77 of file CollisionModel_files.cpp.

cm_node_t * idCollisionModelManagerLocal::CreateAxialBSPTree ( cm_model_t model,
cm_node_t node 
)
private

Definition at line 2148 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::CreatePatchPolygons ( cm_model_t model,
idSurface_Patch mesh,
const idMaterial material,
int  primitiveNum 
)
private

Definition at line 2519 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::CreatePolygon ( cm_model_t model,
idFixedWinding w,
const idPlane plane,
const idMaterial material,
int  primitiveNum 
)
private

Definition at line 2416 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::DebugOutput ( const idVec3 origin)
virtual

Implements idCollisionModelManager.

Definition at line 367 of file CollisionModel_debug.cpp.

void idCollisionModelManagerLocal::DrawEdge ( cm_model_t model,
int  edgeNum,
const idVec3 origin,
const idMat3 axis 
)
private

Definition at line 152 of file CollisionModel_debug.cpp.

void idCollisionModelManagerLocal::DrawModel ( cmHandle_t  model,
const idVec3 origin,
const idMat3 axis,
const idVec3 viewOrigin,
const float  radius 
)
virtual

Implements idCollisionModelManager.

Definition at line 311 of file CollisionModel_debug.cpp.

void idCollisionModelManagerLocal::DrawNodePolygons ( cm_model_t model,
cm_node_t node,
const idVec3 origin,
const idMat3 axis,
const idVec3 viewOrigin,
const float  radius 
)
private

Definition at line 258 of file CollisionModel_debug.cpp.

void idCollisionModelManagerLocal::DrawPolygon ( cm_model_t model,
cm_polygon_t p,
const idVec3 origin,
const idMat3 axis,
const idVec3 viewOrigin 
)
private

Definition at line 200 of file CollisionModel_debug.cpp.

int idCollisionModelManagerLocal::EdgeFurthestFromEdge ( cm_traceWork_t tw,
const idPluecker pl1,
const idVec3 vc,
const idVec3 vd,
float tanHalfAngle,
float dir 
)
private

Definition at line 359 of file CollisionModel_rotate.cpp.

void idCollisionModelManagerLocal::FindContainedEdges ( cm_model_t model,
cm_polygon_t p 
)
private

Definition at line 1770 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::FindInternalEdges ( cm_model_t model,
cm_node_t node 
)
private

Definition at line 1795 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::FindInternalEdgesOnPolygon ( cm_model_t model,
cm_polygon_t p1,
cm_polygon_t p2 
)
private

Definition at line 1622 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::FindInternalPolygonEdges ( cm_model_t model,
cm_node_t node,
cm_polygon_t polygon 
)
private

Definition at line 1724 of file CollisionModel_load.cpp.

cmHandle_t idCollisionModelManagerLocal::FindModel ( const char *  name)
private

Definition at line 3176 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::FinishModel ( cm_model_t model)
private

Definition at line 2932 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::FreeBrush ( cm_model_t model,
cm_brush_t brush 
)
private

Definition at line 310 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::FreeBrushReference ( cm_brushRef_t bref)
private

Definition at line 287 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::FreeMap ( void  )
virtual

Implements idCollisionModelManager.

Definition at line 407 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::FreeModel ( cm_model_t model)
private

Definition at line 366 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::FreeNode ( cm_node_t node)
private

Definition at line 267 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::FreePolygon ( cm_model_t model,
cm_polygon_t poly 
)
private

Definition at line 297 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::FreePolygonReference ( cm_polygonRef_t pref)
private

Definition at line 277 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::FreeTree_r ( cm_model_t model,
cm_node_t headNode,
cm_node_t node 
)
private

Definition at line 323 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::FreeTrmModelStructure ( void  )
private

Definition at line 436 of file CollisionModel_load.cpp.

int idCollisionModelManagerLocal::GetEdge ( cm_model_t model,
const idVec3 v1,
const idVec3 v2,
int edgeNum,
int  v1num 
)
private

Definition at line 2328 of file CollisionModel_load.cpp.

bool idCollisionModelManagerLocal::GetModelBounds ( cmHandle_t  model,
idBounds bounds 
) const
virtual

Implements idCollisionModelManager.

Definition at line 3403 of file CollisionModel_load.cpp.

bool idCollisionModelManagerLocal::GetModelContents ( cmHandle_t  model,
int contents 
) const
virtual

Implements idCollisionModelManager.

Definition at line 3419 of file CollisionModel_load.cpp.

bool idCollisionModelManagerLocal::GetModelEdge ( cmHandle_t  model,
int  edgeNum,
idVec3 start,
idVec3 end 
) const
virtual

Implements idCollisionModelManager.

Definition at line 3456 of file CollisionModel_load.cpp.

const char * idCollisionModelManagerLocal::GetModelName ( cmHandle_t  model) const
virtual

Implements idCollisionModelManager.

Definition at line 3390 of file CollisionModel_load.cpp.

bool idCollisionModelManagerLocal::GetModelPolygon ( cmHandle_t  model,
int  polygonNum,
idFixedWinding winding 
) const
virtual

Implements idCollisionModelManager.

Definition at line 3479 of file CollisionModel_load.cpp.

bool idCollisionModelManagerLocal::GetModelVertex ( cmHandle_t  model,
int  vertexNum,
idVec3 vertex 
) const
virtual

Implements idCollisionModelManager.

Definition at line 3435 of file CollisionModel_load.cpp.

int idCollisionModelManagerLocal::GetVertex ( cm_model_t model,
const idVec3 v,
int vertexNum 
)
private

Definition at line 2276 of file CollisionModel_load.cpp.

ID_INLINE int idCollisionModelManagerLocal::HashVec ( const idVec3 vec)
private

Definition at line 2252 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::ListModels ( void  )
virtual

Implements idCollisionModelManager.

Definition at line 3270 of file CollisionModel_load.cpp.

bool idCollisionModelManagerLocal::LoadCollisionModelFile ( const char *  name,
unsigned int  mapFileCRC 
)
private

Definition at line 555 of file CollisionModel_files.cpp.

void idCollisionModelManagerLocal::LoadMap ( const idMapFile mapFile)
virtual

Implements idCollisionModelManager.

Definition at line 3341 of file CollisionModel_load.cpp.

cmHandle_t idCollisionModelManagerLocal::LoadModel ( const char *  modelName,
const bool  precache 
)
virtual

Implements idCollisionModelManager.

Definition at line 3503 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::LoadProcBSP ( const char *  name)
private

Definition at line 112 of file CollisionModel_load.cpp.

cm_model_t * idCollisionModelManagerLocal::LoadRenderModel ( const char *  fileName)
private

Definition at line 2967 of file CollisionModel_load.cpp.

bool idCollisionModelManagerLocal::MergePolygonWithTreePolygons ( cm_model_t model,
cm_node_t node,
cm_polygon_t polygon 
)
private

Definition at line 1478 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::MergeTreePolygons ( cm_model_t model,
cm_node_t node 
)
private

Definition at line 1538 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::ModelInfo ( cmHandle_t  model)
virtual

Implements idCollisionModelManager.

Definition at line 3245 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::OptimizeArrays ( cm_model_t model)
private

Definition at line 2864 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::ParseBrushes ( idLexer src,
cm_model_t model 
)
private

Definition at line 438 of file CollisionModel_files.cpp.

bool idCollisionModelManagerLocal::ParseCollisionModel ( idLexer src)
private

Definition at line 483 of file CollisionModel_files.cpp.

void idCollisionModelManagerLocal::ParseEdges ( idLexer src,
cm_model_t model 
)
private

Definition at line 343 of file CollisionModel_files.cpp.

cm_node_t * idCollisionModelManagerLocal::ParseNodes ( idLexer src,
cm_model_t model,
cm_node_t parent 
)
private

Definition at line 371 of file CollisionModel_files.cpp.

void idCollisionModelManagerLocal::ParsePolygons ( idLexer src,
cm_model_t model 
)
private

Definition at line 395 of file CollisionModel_files.cpp.

void idCollisionModelManagerLocal::ParseProcNodes ( idLexer src)
private

Definition at line 81 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::ParseVertices ( idLexer src,
cm_model_t model 
)
private

Definition at line 322 of file CollisionModel_files.cpp.

int idCollisionModelManagerLocal::PointContents ( const idVec3  p,
cmHandle_t  model 
)
private

Definition at line 418 of file CollisionModel_contents.cpp.

int idCollisionModelManagerLocal::PointFurthestFromPlane ( const cm_traceWork_t tw,
const idVec3 point,
const idPlane plane,
const float  angle,
float tanHalfAngle,
float dir 
)
private

Definition at line 730 of file CollisionModel_rotate.cpp.

bool idCollisionModelManagerLocal::PointInsidePolygon ( cm_model_t model,
cm_polygon_t p,
idVec3 v 
)
private

Definition at line 1596 of file CollisionModel_load.cpp.

cm_node_t * idCollisionModelManagerLocal::PointNode ( const idVec3 p,
cm_model_t model 
)
private

Definition at line 396 of file CollisionModel_contents.cpp.

void idCollisionModelManagerLocal::PolygonFromWinding ( cm_model_t model,
idFixedWinding w,
const idPlane plane,
const idMaterial material,
int  primitiveNum 
)
private

Definition at line 2478 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::PrintModelInfo ( const cm_model_t model)
private

Definition at line 3197 of file CollisionModel_load.cpp.

int idCollisionModelManagerLocal::R_ChoppedAwayByProcBSP ( int  nodeNum,
idFixedWinding w,
const idVec3 normal,
const idVec3 origin,
const float  radius 
)
private

Definition at line 881 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::R_ChopWindingListWithTreeBrushes ( cm_windingList_t list,
cm_node_t node 
)
private

Definition at line 1104 of file CollisionModel_load.cpp.

cm_node_t * idCollisionModelManagerLocal::R_CreateAxialBSPTree ( cm_model_t model,
cm_node_t node,
const idBounds bounds 
)
private

Definition at line 2027 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::R_FilterBrushIntoTree ( cm_model_t model,
cm_node_t node,
cm_brushRef_t pref,
cm_brush_t b 
)
private

Definition at line 1993 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::R_FilterPolygonIntoTree ( cm_model_t model,
cm_node_t node,
cm_polygonRef_t pref,
cm_polygon_t p 
)
private

Definition at line 1962 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::RecurseProcBSP_r ( trace_t results,
int  parentNodeNum,
int  nodeNum,
float  p1f,
float  p2f,
const idVec3 p1,
const idVec3 p2 
)
private
void idCollisionModelManagerLocal::RemapEdges ( cm_node_t node,
int edgeRemap 
)
private

Definition at line 2825 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::RemoveBrushReferences_r ( cm_node_t node,
cm_brush_t b 
)
private

Definition at line 235 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::RemovePolygonReferences_r ( cm_node_t node,
cm_polygon_t p 
)
private

Definition at line 202 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::ReplacePolygons ( cm_model_t model,
cm_node_t node,
cm_polygon_t p1,
cm_polygon_t p2,
cm_polygon_t newp 
)
private

Definition at line 1238 of file CollisionModel_load.cpp.

int idCollisionModelManagerLocal::RotateEdgeThroughEdge ( cm_traceWork_t tw,
const idPluecker pl1,
const idVec3 vc,
const idVec3 vd,
const float  minTan,
float tanHalfAngle 
)
private

Definition at line 189 of file CollisionModel_rotate.cpp.

int idCollisionModelManagerLocal::RotatePointThroughEpsilonPlane ( const cm_traceWork_t tw,
const idVec3 point,
const idVec3 endPoint,
const idPlane plane,
const float  angle,
const idVec3 origin,
float tanHalfAngle,
idVec3 collisionPoint,
idVec3 endDir 
)
private

Definition at line 834 of file CollisionModel_rotate.cpp.

int idCollisionModelManagerLocal::RotatePointThroughPlane ( const cm_traceWork_t tw,
const idVec3 point,
const idPlane plane,
const float  angle,
const float  minTan,
float tanHalfAngle 
)
private

Definition at line 625 of file CollisionModel_rotate.cpp.

void idCollisionModelManagerLocal::RotateTrmEdgeThroughPolygon ( cm_traceWork_t tw,
cm_polygon_t poly,
cm_trmEdge_t trmEdge 
)
private

Definition at line 478 of file CollisionModel_rotate.cpp.

bool idCollisionModelManagerLocal::RotateTrmThroughPolygon ( cm_traceWork_t tw,
cm_polygon_t p 
)
private

Definition at line 1054 of file CollisionModel_rotate.cpp.

void idCollisionModelManagerLocal::RotateTrmVertexThroughPolygon ( cm_traceWork_t tw,
cm_polygon_t poly,
cm_trmVertex_t v,
int  vertexNum 
)
private

Definition at line 924 of file CollisionModel_rotate.cpp.

void idCollisionModelManagerLocal::RotateVertexThroughTrmPolygon ( cm_traceWork_t tw,
cm_trmPolygon_t trmpoly,
cm_polygon_t poly,
cm_vertex_t v,
idVec3 rotationOrigin 
)
private

Definition at line 984 of file CollisionModel_rotate.cpp.

void idCollisionModelManagerLocal::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 
)
virtual

Implements idCollisionModelManager.

Definition at line 1617 of file CollisionModel_rotate.cpp.

void idCollisionModelManagerLocal::Rotation180 ( trace_t results,
const idVec3 rorg,
const idVec3 axis,
const float  startAngle,
const float  endAngle,
const idVec3 start,
const idTraceModel trm,
const idMat3 trmAxis,
int  contentMask,
cmHandle_t  model,
const idVec3 origin,
const idMat3 modelAxis 
)
private

Definition at line 1252 of file CollisionModel_rotate.cpp.

void idCollisionModelManagerLocal::SetupHash ( void  )
private

Definition at line 2181 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::SetupTranslationHeartPlanes ( cm_traceWork_t tw)
private

Definition at line 744 of file CollisionModel_translate.cpp.

void idCollisionModelManagerLocal::SetupTrm ( cm_traceWork_t tw,
const idTraceModel trm 
)
private

Definition at line 709 of file CollisionModel_translate.cpp.

cmHandle_t idCollisionModelManagerLocal::SetupTrmModel ( const idTraceModel trm,
const idMaterial material 
)
virtual

Implements idCollisionModelManager.

Definition at line 789 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::SetupTrmModelStructure ( void  )
private

Definition at line 733 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::ShutdownHash ( void  )
private

Definition at line 2205 of file CollisionModel_load.cpp.

const char * idCollisionModelManagerLocal::StringFromContents ( const int  contents) const
private

Definition at line 129 of file CollisionModel_debug.cpp.

bool idCollisionModelManagerLocal::TestTrmInPolygon ( cm_traceWork_t tw,
cm_polygon_t p 
)
private

Definition at line 156 of file CollisionModel_contents.cpp.

bool idCollisionModelManagerLocal::TestTrmVertsInBrush ( cm_traceWork_t tw,
cm_brush_t b 
)
private

Definition at line 57 of file CollisionModel_contents.cpp.

void idCollisionModelManagerLocal::TraceThroughAxialBSPTree_r ( cm_traceWork_t tw,
cm_node_t node,
float  p1f,
float  p2f,
idVec3 p1,
idVec3 p2 
)
private

Definition at line 107 of file CollisionModel_trace.cpp.

void idCollisionModelManagerLocal::TraceThroughModel ( cm_traceWork_t tw)
private

Definition at line 216 of file CollisionModel_trace.cpp.

void idCollisionModelManagerLocal::TraceTrmThroughNode ( cm_traceWork_t tw,
cm_node_t node 
)
private

Definition at line 55 of file CollisionModel_trace.cpp.

int idCollisionModelManagerLocal::TransformedPointContents ( const idVec3 p,
cmHandle_t  model,
const idVec3 origin,
const idMat3 modelAxis 
)
private

Definition at line 461 of file CollisionModel_contents.cpp.

ID_INLINE int idCollisionModelManagerLocal::TranslateEdgeThroughEdge ( idVec3 cross,
idPluecker l1,
idPluecker l2,
float fraction 
)
private

Definition at line 57 of file CollisionModel_translate.cpp.

void idCollisionModelManagerLocal::TranslatePointThroughPolygon ( cm_traceWork_t tw,
cm_polygon_t poly,
cm_trmVertex_t v 
)
private

Definition at line 439 of file CollisionModel_translate.cpp.

void idCollisionModelManagerLocal::TranslateTrmEdgeThroughPolygon ( cm_traceWork_t tw,
cm_polygon_t poly,
cm_trmEdge_t trmEdge 
)
private

Definition at line 233 of file CollisionModel_translate.cpp.

bool idCollisionModelManagerLocal::TranslateTrmThroughPolygon ( cm_traceWork_t tw,
cm_polygon_t p 
)
private

Definition at line 536 of file CollisionModel_translate.cpp.

void idCollisionModelManagerLocal::TranslateTrmVertexThroughPolygon ( cm_traceWork_t tw,
cm_polygon_t poly,
cm_trmVertex_t v,
int  bitNum 
)
private

Definition at line 396 of file CollisionModel_translate.cpp.

void idCollisionModelManagerLocal::TranslateVertexThroughTrmPolygon ( cm_traceWork_t tw,
cm_trmPolygon_t trmpoly,
cm_polygon_t poly,
cm_vertex_t v,
idVec3 endp,
idPluecker pl 
)
private

Definition at line 492 of file CollisionModel_translate.cpp.

void idCollisionModelManagerLocal::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 
)
virtual

Implements idCollisionModelManager.

Definition at line 766 of file CollisionModel_translate.cpp.

bool idCollisionModelManagerLocal::TrmFromModel ( const char *  modelName,
idTraceModel trm 
)
virtual

Implements idCollisionModelManager.

Definition at line 3683 of file CollisionModel_load.cpp.

bool idCollisionModelManagerLocal::TrmFromModel ( const cm_model_t model,
idTraceModel trm 
)
private

Definition at line 3593 of file CollisionModel_load.cpp.

bool idCollisionModelManagerLocal::TrmFromModel_r ( idTraceModel trm,
cm_node_t node 
)
private

Definition at line 3546 of file CollisionModel_load.cpp.

cm_polygon_t * idCollisionModelManagerLocal::TryMergePolygons ( cm_model_t model,
cm_polygon_t p1,
cm_polygon_t p2 
)
private

Definition at line 1298 of file CollisionModel_load.cpp.

idFixedWinding * idCollisionModelManagerLocal::WindingOutsideBrushes ( idFixedWinding w,
const idPlane plane,
int  contents,
int  patch,
cm_node_t headNode 
)
private

Definition at line 1174 of file CollisionModel_load.cpp.

void idCollisionModelManagerLocal::WriteBrushes ( idFile fp,
cm_node_t node 
)
private

Definition at line 162 of file CollisionModel_files.cpp.

void idCollisionModelManagerLocal::WriteCollisionModel ( idFile fp,
cm_model_t model 
)
private

Definition at line 191 of file CollisionModel_files.cpp.

bool idCollisionModelManagerLocal::WriteCollisionModelForMapEntity ( const idMapEntity mapEnt,
const char *  filename,
const bool  testTraceModel = true 
)
virtual

Implements idCollisionModelManager.

Definition at line 268 of file CollisionModel_files.cpp.

void idCollisionModelManagerLocal::WriteCollisionModelsToFile ( const char *  filename,
int  firstModel,
int  lastModel,
unsigned int  mapFileCRC 
)
private

Definition at line 234 of file CollisionModel_files.cpp.

void idCollisionModelManagerLocal::WriteNodes ( idFile fp,
cm_node_t node 
)
private

Definition at line 64 of file CollisionModel_files.cpp.

void idCollisionModelManagerLocal::WritePolygons ( idFile fp,
cm_node_t node 
)
private

Definition at line 104 of file CollisionModel_files.cpp.

Member Data Documentation

int idCollisionModelManagerLocal::checkCount
private

Definition at line 507 of file CollisionModel_local.h.

contactInfo_t* idCollisionModelManagerLocal::contacts
private

Definition at line 521 of file CollisionModel_local.h.

bool idCollisionModelManagerLocal::getContacts
private

Definition at line 520 of file CollisionModel_local.h.

int idCollisionModelManagerLocal::loaded
private

Definition at line 505 of file CollisionModel_local.h.

ID_TIME_T idCollisionModelManagerLocal::mapFileTime
private

Definition at line 504 of file CollisionModel_local.h.

idStr idCollisionModelManagerLocal::mapName
private

Definition at line 503 of file CollisionModel_local.h.

int idCollisionModelManagerLocal::maxContacts
private

Definition at line 522 of file CollisionModel_local.h.

int idCollisionModelManagerLocal::maxModels
private

Definition at line 509 of file CollisionModel_local.h.

cm_model_t** idCollisionModelManagerLocal::models
private

Definition at line 511 of file CollisionModel_local.h.

int idCollisionModelManagerLocal::numContacts
private

Definition at line 523 of file CollisionModel_local.h.

int idCollisionModelManagerLocal::numModels
private

Definition at line 510 of file CollisionModel_local.h.

int idCollisionModelManagerLocal::numProcNodes
private

Definition at line 517 of file CollisionModel_local.h.

cm_procNode_t* idCollisionModelManagerLocal::procNodes
private

Definition at line 518 of file CollisionModel_local.h.

cm_brushRef_t* idCollisionModelManagerLocal::trmBrushes[1]
private

Definition at line 514 of file CollisionModel_local.h.

const idMaterial* idCollisionModelManagerLocal::trmMaterial
private

Definition at line 515 of file CollisionModel_local.h.

cm_polygonRef_t* idCollisionModelManagerLocal::trmPolygons[MAX_TRACEMODEL_POLYS]
private

Definition at line 513 of file CollisionModel_local.h.


The documentation for this class was generated from the following files: