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

#include <TraceModel.h>

Public Member Functions

 idTraceModel (void)
 
 idTraceModel (const idBounds &boxBounds)
 
 idTraceModel (const idBounds &cylBounds, const int numSides)
 
 idTraceModel (const float length, const float width)
 
void SetupBox (const idBounds &boxBounds)
 
void SetupBox (const float size)
 
void SetupOctahedron (const idBounds &octBounds)
 
void SetupOctahedron (const float size)
 
void SetupDodecahedron (const idBounds &dodBounds)
 
void SetupDodecahedron (const float size)
 
void SetupCylinder (const idBounds &cylBounds, const int numSides)
 
void SetupCylinder (const float height, const float width, const int numSides)
 
void SetupCone (const idBounds &coneBounds, const int numSides)
 
void SetupCone (const float height, const float width, const int numSides)
 
void SetupBone (const float length, const float width)
 
void SetupPolygon (const idVec3 *v, const int count)
 
void SetupPolygon (const idWinding &w)
 
int GenerateEdgeNormals (void)
 
void Translate (const idVec3 &translation)
 
void Rotate (const idMat3 &rotation)
 
void Shrink (const float m)
 
bool Compare (const idTraceModel &trm) const
 
bool operator== (const idTraceModel &trm) const
 
bool operator!= (const idTraceModel &trm) const
 
float GetPolygonArea (int polyNum) const
 
int GetProjectionSilhouetteEdges (const idVec3 &projectionOrigin, int silEdges[MAX_TRACEMODEL_EDGES]) const
 
int GetParallelProjectionSilhouetteEdges (const idVec3 &projectionDir, int silEdges[MAX_TRACEMODEL_EDGES]) const
 
void GetMassProperties (const float density, float &mass, idVec3 &centerOfMass, idMat3 &inertiaTensor) const
 

Public Attributes

traceModel_t type
 
int numVerts
 
traceModelVert_t verts [MAX_TRACEMODEL_VERTS]
 
int numEdges
 
traceModelEdge_t edges [MAX_TRACEMODEL_EDGES+1]
 
int numPolys
 
traceModelPoly_t polys [MAX_TRACEMODEL_POLYS]
 
idVec3 offset
 
idBounds bounds
 
bool isConvex
 

Private Member Functions

void InitBox (void)
 
void InitOctahedron (void)
 
void InitDodecahedron (void)
 
void InitBone (void)
 
void ProjectionIntegrals (int polyNum, int a, int b, struct projectionIntegrals_s &integrals) const
 
void PolygonIntegrals (int polyNum, int a, int b, int c, struct polygonIntegrals_s &integrals) const
 
void VolumeIntegrals (struct volumeIntegrals_s &integrals) const
 
void VolumeFromPolygon (idTraceModel &trm, float thickness) const
 
int GetOrderedSilhouetteEdges (const int edgeIsSilEdge[MAX_TRACEMODEL_EDGES+1], int silEdges[MAX_TRACEMODEL_EDGES]) const
 

Detailed Description

Definition at line 83 of file TraceModel.h.

Constructor & Destructor Documentation

ID_INLINE idTraceModel::idTraceModel ( void  )

Definition at line 160 of file TraceModel.h.

ID_INLINE idTraceModel::idTraceModel ( const idBounds boxBounds)

Definition at line 166 of file TraceModel.h.

ID_INLINE idTraceModel::idTraceModel ( const idBounds cylBounds,
const int  numSides 
)

Definition at line 171 of file TraceModel.h.

ID_INLINE idTraceModel::idTraceModel ( const float  length,
const float  width 
)

Definition at line 175 of file TraceModel.h.

Member Function Documentation

bool idTraceModel::Compare ( const idTraceModel trm) const

Definition at line 1100 of file TraceModel.cpp.

int idTraceModel::GenerateEdgeNormals ( void  )

Definition at line 971 of file TraceModel.cpp.

void idTraceModel::GetMassProperties ( const float  density,
float mass,
idVec3 centerOfMass,
idMat3 inertiaTensor 
) const

Definition at line 1454 of file TraceModel.cpp.

int idTraceModel::GetOrderedSilhouetteEdges ( const int  edgeIsSilEdge[MAX_TRACEMODEL_EDGES+1],
int  silEdges[MAX_TRACEMODEL_EDGES] 
) const
private

Definition at line 1164 of file TraceModel.cpp.

int idTraceModel::GetParallelProjectionSilhouetteEdges ( const idVec3 projectionDir,
int  silEdges[MAX_TRACEMODEL_EDGES] 
) const

Definition at line 1235 of file TraceModel.cpp.

float idTraceModel::GetPolygonArea ( int  polyNum) const

Definition at line 1138 of file TraceModel.cpp.

int idTraceModel::GetProjectionSilhouetteEdges ( const idVec3 projectionOrigin,
int  silEdges[MAX_TRACEMODEL_EDGES] 
) const

Definition at line 1207 of file TraceModel.cpp.

void idTraceModel::InitBone ( void  )
private

Definition at line 808 of file TraceModel.cpp.

void idTraceModel::InitBox ( void  )
private

Definition at line 99 of file TraceModel.cpp.

void idTraceModel::InitDodecahedron ( void  )
private

Definition at line 413 of file TraceModel.cpp.

void idTraceModel::InitOctahedron ( void  )
private

Definition at line 239 of file TraceModel.cpp.

ID_INLINE bool idTraceModel::operator!= ( const idTraceModel trm) const

Definition at line 184 of file TraceModel.h.

ID_INLINE bool idTraceModel::operator== ( const idTraceModel trm) const

Definition at line 180 of file TraceModel.h.

void idTraceModel::PolygonIntegrals ( int  polyNum,
int  a,
int  b,
int  c,
struct polygonIntegrals_s integrals 
) const
private

Definition at line 1358 of file TraceModel.cpp.

void idTraceModel::ProjectionIntegrals ( int  polyNum,
int  a,
int  b,
struct projectionIntegrals_s integrals 
) const
private

Definition at line 1274 of file TraceModel.cpp.

void idTraceModel::Rotate ( const idMat3 rotation)

Definition at line 1036 of file TraceModel.cpp.

void idTraceModel::SetupBone ( const float  length,
const float  width 
)

Definition at line 761 of file TraceModel.cpp.

void idTraceModel::SetupBox ( const idBounds boxBounds)

Definition at line 40 of file TraceModel.cpp.

void idTraceModel::SetupBox ( const float  size)

Definition at line 82 of file TraceModel.cpp.

void idTraceModel::SetupCone ( const idBounds coneBounds,
const int  numSides 
)

Definition at line 659 of file TraceModel.cpp.

void idTraceModel::SetupCone ( const float  height,
const float  width,
const int  numSides 
)

Definition at line 744 of file TraceModel.cpp.

void idTraceModel::SetupCylinder ( const idBounds cylBounds,
const int  numSides 
)

Definition at line 546 of file TraceModel.cpp.

void idTraceModel::SetupCylinder ( const float  height,
const float  width,
const int  numSides 
)

Definition at line 643 of file TraceModel.cpp.

void idTraceModel::SetupDodecahedron ( const idBounds dodBounds)

Definition at line 310 of file TraceModel.cpp.

void idTraceModel::SetupDodecahedron ( const float  size)

Definition at line 396 of file TraceModel.cpp.

void idTraceModel::SetupOctahedron ( const idBounds octBounds)

Definition at line 171 of file TraceModel.cpp.

void idTraceModel::SetupOctahedron ( const float  size)

Definition at line 222 of file TraceModel.cpp.

void idTraceModel::SetupPolygon ( const idVec3 v,
const int  count 
)

Definition at line 866 of file TraceModel.cpp.

void idTraceModel::SetupPolygon ( const idWinding w)

Definition at line 919 of file TraceModel.cpp.

void idTraceModel::Shrink ( const float  m)

Definition at line 1064 of file TraceModel.cpp.

void idTraceModel::Translate ( const idVec3 translation)

Definition at line 1015 of file TraceModel.cpp.

void idTraceModel::VolumeFromPolygon ( idTraceModel trm,
float  thickness 
) const
private

Definition at line 935 of file TraceModel.cpp.

void idTraceModel::VolumeIntegrals ( struct volumeIntegrals_s integrals) const
private

Definition at line 1407 of file TraceModel.cpp.

Member Data Documentation

idBounds idTraceModel::bounds

Definition at line 94 of file TraceModel.h.

traceModelEdge_t idTraceModel::edges[MAX_TRACEMODEL_EDGES+1]

Definition at line 90 of file TraceModel.h.

bool idTraceModel::isConvex

Definition at line 95 of file TraceModel.h.

int idTraceModel::numEdges

Definition at line 89 of file TraceModel.h.

int idTraceModel::numPolys

Definition at line 91 of file TraceModel.h.

int idTraceModel::numVerts

Definition at line 87 of file TraceModel.h.

idVec3 idTraceModel::offset

Definition at line 93 of file TraceModel.h.

traceModelPoly_t idTraceModel::polys[MAX_TRACEMODEL_POLYS]

Definition at line 92 of file TraceModel.h.

traceModel_t idTraceModel::type

Definition at line 86 of file TraceModel.h.

traceModelVert_t idTraceModel::verts[MAX_TRACEMODEL_VERTS]

Definition at line 88 of file TraceModel.h.


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