C# Class idTech4.Collision.idCollisionModelManager

Trace model vs. polygonal model collision detection.

Short translations are the least expensive. Retrieving contact points is about as cheap as a short translation. Position tests are more expensive and rotations are most expensive.

There is no position test at the start of a translation or rotation. In other words if a translation with start != end or a rotation with angle != 0 starts in solid, this goes unnoticed and the collision result is undefined.

A translation with start == end or a rotation with angle == 0 performs a position test and fills in the trace_t structure accordingly.

显示文件 Open project: iainmckay/idtech4.net

Public Methods

Method Description
FindModel ( string name ) : CollisionModel
LoadMap ( idMapFile mapFile ) : void
LoadModel ( string model, bool precache ) : CollisionModel
idCollisionModelManager ( ) : System

Private Methods

Method Description
BuildModels ( idMapFile mapFile ) : void
Clear ( ) : void
ContentsFromString ( string str ) : ContentFlags
FilterBrushIntoTree ( CollisionModel model, CollisionModelNode node, CollisionModelBrush b ) : void
FilterPolygonIntoTree ( CollisionModel model, CollisionModelNode node, CollisionModelPolygon p ) : void
GetNodeBounds ( CollisionModelNode node ) : idBounds
GetNodeBounds_R ( idBounds &bounds, CollisionModelNode node ) : void
GetNodeContents ( CollisionModelNode node ) : ContentFlags
InsideAllChildren ( CollisionModelNode node, idBounds bounds ) : bool
LoadCollisionModelFile ( string name, ulong mapFileCRC ) : bool
ParseBrushes ( idLexer lexer, CollisionModel model ) : void
ParseCollisionModel ( idLexer lexer ) : bool
ParseEdges ( idLexer lexer, CollisionModel model ) : void
ParseNodes ( idLexer lexer, CollisionModel model, CollisionModelNode parent ) : CollisionModelNode
ParsePolygons ( idLexer lexer, CollisionModel model ) : void
ParseVertices ( idLexer lexer, CollisionModel model ) : void
SetupTraceModelStructure ( ) : void

Method Details

FindModel() public method

public FindModel ( string name ) : CollisionModel
name string
return CollisionModel

LoadMap() public method

public LoadMap ( idMapFile mapFile ) : void
mapFile idTech4.Text.idMapFile
return void

LoadModel() public method

public LoadModel ( string model, bool precache ) : CollisionModel
model string
precache bool
return CollisionModel

idCollisionModelManager() public method

public idCollisionModelManager ( ) : System
return System