torque Torque Game Engine Documentation
TGE Version 1.5.2

ShadowVolumeBSP Class Reference

#include <shadowVolumeBSP.h>


Detailed Description

Used to calculate shadows.


Public Member Functions

 ShadowVolumeBSP ()
 ~ShadowVolumeBSP ()
void insertPoly (SVNode **, SVPoly *)
void insertPolyFront (SVNode **, SVPoly *)
void insertPolyBack (SVNode **, SVPoly *)
void splitPoly (SVPoly *, const PlaneF &, SVPoly **, SVPoly **)
void insertShadowVolume (SVNode **, U32)
void addUniqueVolume (SurfaceInfo *, U32)
SVNode::Side whichSide (SVPoly *, const PlaneF &) const
bool testPoint (SVNode *, const Point3F &)
bool testPoly (SVNode *, SVPoly *)
void addToPolyList (SVPoly **, SVPoly *) const
void clipPoly (SVNode *, SVPoly **, SVPoly *)
void clipToSelf (SVNode *, SVPoly **, SVPoly *)
F32 getPolySurfaceArea (SVPoly *) const
F32 getClippedSurfaceArea (SVNode *, SVPoly *)
void movePolyList (SVPoly **, SVPoly *) const
F32 getLitSurfaceArea (SVPoly *, SurfaceInfo *)
SVNodecreateNode ()
void recycleNode (SVNode *)
SVPolycreatePoly ()
void recyclePoly (SVPoly *)
U32 insertPlane (const PlaneF &)
const PlaneFgetPlane (U32) const
SVNodegetShadowVolume (U32)
void removeLastInterior ()
Access functions
void insertPoly (SVPoly *poly)
bool testPoint (Point3F &pnt)
bool testPoly (SVPoly *poly)
F32 getClippedSurfaceArea (SVPoly *poly)
Helpers
void buildPolyVolume (SVPoly *, LightInfo *)
SVPolycopyPoly (SVPoly *)

Data Fields

Vector< SurfaceInfo * > mSurfaces
Chunker< SVNodemNodeChunker
Chunker< SVPolymPolyChunker
SVNodemSVRoot
Vector< SVNode * > mShadowVolumes
Vector< PlaneFmPlanes
SVNodemNodeStore
SVPolymPolyStore
Vector< SVNode * > mParentNodes
SVNodemFirstInteriorNode

Data Structures

struct  SurfaceInfo
struct  SVNode
struct  SVPoly


Constructor & Destructor Documentation

ShadowVolumeBSP::ShadowVolumeBSP (  ) 

ShadowVolumeBSP::~ShadowVolumeBSP (  ) 


Member Function Documentation

void ShadowVolumeBSP::insertPoly ( SVNode **  ,
SVPoly  
)

void ShadowVolumeBSP::insertPolyFront ( SVNode **  ,
SVPoly  
)

void ShadowVolumeBSP::insertPolyBack ( SVNode **  ,
SVPoly  
)

void ShadowVolumeBSP::splitPoly ( SVPoly ,
const PlaneF ,
SVPoly **  ,
SVPoly **   
)

void ShadowVolumeBSP::insertShadowVolume ( SVNode **  ,
U32   
)

void ShadowVolumeBSP::addUniqueVolume ( SurfaceInfo ,
U32   
)

SVNode::Side ShadowVolumeBSP::whichSide ( SVPoly ,
const PlaneF  
) const

bool ShadowVolumeBSP::testPoint ( SVNode ,
const Point3F  
)

bool ShadowVolumeBSP::testPoly ( SVNode ,
SVPoly  
)

void ShadowVolumeBSP::addToPolyList ( SVPoly **  ,
SVPoly  
) const

void ShadowVolumeBSP::clipPoly ( SVNode ,
SVPoly **  ,
SVPoly  
)

void ShadowVolumeBSP::clipToSelf ( SVNode ,
SVPoly **  ,
SVPoly  
)

F32 ShadowVolumeBSP::getPolySurfaceArea ( SVPoly  )  const

F32 ShadowVolumeBSP::getClippedSurfaceArea ( SVNode ,
SVPoly  
)

void ShadowVolumeBSP::movePolyList ( SVPoly **  ,
SVPoly  
) const

F32 ShadowVolumeBSP::getLitSurfaceArea ( SVPoly ,
SurfaceInfo  
)

SVNode* ShadowVolumeBSP::createNode (  ) 

void ShadowVolumeBSP::recycleNode ( SVNode  ) 

SVPoly* ShadowVolumeBSP::createPoly (  ) 

void ShadowVolumeBSP::recyclePoly ( SVPoly  ) 

U32 ShadowVolumeBSP::insertPlane ( const PlaneF  ) 

const PlaneF& ShadowVolumeBSP::getPlane ( U32   )  const

SVNode* ShadowVolumeBSP::getShadowVolume ( U32   ) 

void ShadowVolumeBSP::removeLastInterior (  ) 

void ShadowVolumeBSP::insertPoly ( SVPoly poly  )  [inline]

bool ShadowVolumeBSP::testPoint ( Point3F pnt  )  [inline]

bool ShadowVolumeBSP::testPoly ( SVPoly poly  )  [inline]

F32 ShadowVolumeBSP::getClippedSurfaceArea ( SVPoly poly  )  [inline]

void ShadowVolumeBSP::buildPolyVolume ( SVPoly ,
LightInfo  
)

SVPoly* ShadowVolumeBSP::copyPoly ( SVPoly  ) 


Field Documentation




All Rights Reserved GarageGames.com, Inc. 1999-2005
Auto-magically Generated with Doxygen