ForceField Class Reference

#include <forceField.h>

List of all members.

Public Member Functions

 ForceField ()
 ~ForceField ()
bool prepForRendering ()
void render (const ColorF &color, const F32 fadeLevel)
const Box3FgetBoundingBox () const
bool castRay (const Point3F &, const Point3F &, RayInfo *)
bool buildPolyList (AbstractPolyList *, SphereF &)
bool read (Stream &stream)
bool write (Stream &stream) const

Static Public Member Functions

static U16 getPlaneIndex (U16 index)
static bool planeIsFlipped (U16 index)

Protected Member Functions

bool castRay_r (const U16, const Point3F &, const Point3F &, RayInfo *)
void buildPolyList_r (const U16, Vector< U16 > &, AbstractPolyList *, SphereF &)
void collisionFanFromSurface (const Surface &, U32 *fan, U32 *numIndices) const

Protected Attributes

StringTableEntry mName
ColorF mColor
Vector< StringTableEntrymTriggers
Box3F mBoundingBox
SphereF mBoundingSphere
Vector< PlaneFmPlanes
Vector< Point3FmPoints
Vector< IBSPNodemBSPNodes
Vector< IBSPLeafSolidmBSPSolidLeaves
Vector< U32mSolidLeafSurfaces
bool mPreppedForRender
Vector< U32mWindings
Vector< SurfacemSurfaces

Private Member Functions

bool isBSPLeafIndex (U16 index) const
bool isBSPSolidLeaf (U16 index) const
bool isBSPEmptyLeaf (U16 index) const
U16 getBSPSolidLeafIndex (U16 index) const
bool writePlaneVector (Stream &) const
bool readPlaneVector (Stream &)
const PlaneFgetPlane (U16 index) const
bool areEqualPlanes (U16, U16) const

Static Private Attributes

static const U32 smFileVersion

Friends

class EditGeometry
class InteriorInstance

Classes

struct  IBSPLeafSolid
struct  IBSPNode
struct  Surface


Constructor & Destructor Documentation

ForceField::ForceField (  ) 

ForceField::~ForceField (  ) 


Member Function Documentation

bool ForceField::prepForRendering (  ) 

void ForceField::render ( const ColorF color,
const F32  fadeLevel 
)

const Box3F & ForceField::getBoundingBox (  )  const [inline]

bool ForceField::castRay ( const Point3F ,
const Point3F ,
RayInfo  
)

bool ForceField::buildPolyList ( AbstractPolyList ,
SphereF  
)

bool ForceField::read ( Stream stream  ) 

bool ForceField::write ( Stream stream  )  const

U16 ForceField::getPlaneIndex ( U16  index  )  [inline, static]

bool ForceField::planeIsFlipped ( U16  index  )  [inline, static]

bool ForceField::isBSPLeafIndex ( U16  index  )  const [inline, private]

bool ForceField::isBSPSolidLeaf ( U16  index  )  const [inline, private]

bool ForceField::isBSPEmptyLeaf ( U16  index  )  const [inline, private]

U16 ForceField::getBSPSolidLeafIndex ( U16  index  )  const [inline, private]

bool ForceField::writePlaneVector ( Stream  )  const [private]

bool ForceField::readPlaneVector ( Stream  )  [private]

const PlaneF & ForceField::getPlane ( U16  index  )  const [inline, private]

bool ForceField::areEqualPlanes ( U16  ,
U16   
) const [inline, private]

bool ForceField::castRay_r ( const   U16,
const Point3F ,
const Point3F ,
RayInfo  
) [protected]

void ForceField::buildPolyList_r ( const   U16,
Vector< U16 > &  ,
AbstractPolyList ,
SphereF  
) [protected]

void ForceField::collisionFanFromSurface ( const Surface ,
U32 fan,
U32 numIndices 
) const [protected]


Friends And Related Function Documentation

friend class EditGeometry [friend]

friend class InteriorInstance [friend]


Member Data Documentation

const U32 ForceField::smFileVersion [static, private]