|
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) |
|
virtual | ~idCollisionModelManager (void) |
|
|
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_t * | PointNode (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_t * | TryMergePolygons (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) |
|
idFixedWinding * | WindingOutsideBrushes (idFixedWinding *w, const idPlane &plane, int contents, int patch, cm_node_t *headNode) |
|
cm_model_t * | AllocModel (void) |
|
cm_node_t * | AllocNode (cm_model_t *model, int blockSize) |
|
cm_polygonRef_t * | AllocPolygonReference (cm_model_t *model, int blockSize) |
|
cm_brushRef_t * | AllocBrushReference (cm_model_t *model, int blockSize) |
|
cm_polygon_t * | AllocPolygon (cm_model_t *model, int numEdges) |
|
cm_brush_t * | AllocBrush (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_t * | R_CreateAxialBSPTree (cm_model_t *model, cm_node_t *node, const idBounds &bounds) |
|
cm_node_t * | CreateAxialBSPTree (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_t * | CollisionModelForMapEntity (const idMapEntity *mapEnt) |
|
cm_model_t * | LoadRenderModel (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_t * | ParseNodes (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) |
|