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

#include <Pvs.h>

Public Member Functions

 idPVS (void)
 
 ~idPVS (void)
 
void Init (void)
 
void Shutdown (void)
 
int GetPVSArea (const idVec3 &point) const
 
int GetPVSAreas (const idBounds &bounds, int *areas, int maxAreas) const
 
pvsHandle_t SetupCurrentPVS (const idVec3 &source, const pvsType_t type=PVS_NORMAL) const
 
pvsHandle_t SetupCurrentPVS (const idBounds &source, const pvsType_t type=PVS_NORMAL) const
 
pvsHandle_t SetupCurrentPVS (const int sourceArea, const pvsType_t type=PVS_NORMAL) const
 
pvsHandle_t SetupCurrentPVS (const int *sourceAreas, const int numSourceAreas, const pvsType_t type=PVS_NORMAL) const
 
pvsHandle_t MergeCurrentPVS (pvsHandle_t pvs1, pvsHandle_t pvs2) const
 
void FreeCurrentPVS (pvsHandle_t handle) const
 
bool InCurrentPVS (const pvsHandle_t handle, const idVec3 &target) const
 
bool InCurrentPVS (const pvsHandle_t handle, const idBounds &target) const
 
bool InCurrentPVS (const pvsHandle_t handle, const int targetArea) const
 
bool InCurrentPVS (const pvsHandle_t handle, const int *targetAreas, int numTargetAreas) const
 
void DrawPVS (const idVec3 &source, const pvsType_t type=PVS_NORMAL) const
 
void DrawPVS (const idBounds &source, const pvsType_t type=PVS_NORMAL) const
 
void DrawCurrentPVS (const pvsHandle_t handle, const idVec3 &source) const
 

Private Member Functions

int GetPortalCount (void) const
 
void CreatePVSData (void)
 
void DestroyPVSData (void)
 
void CopyPortalPVSToMightSee (void) const
 
void FloodFrontPortalPVS_r (struct pvsPortal_s *portal, int areaNum) const
 
void FrontPortalPVS (void) const
 
struct pvsStack_sFloodPassagePVS_r (struct pvsPortal_s *source, const struct pvsPortal_s *portal, struct pvsStack_s *prevStack) const
 
void PassagePVS (void) const
 
void AddPassageBoundaries (const idWinding &source, const idWinding &pass, bool flipClip, idPlane *bounds, int &numBounds, int maxBounds) const
 
void CreatePassages (void) const
 
void DestroyPassages (void) const
 
int AreaPVSFromPortalPVS (void) const
 
void GetConnectedAreas (int srcArea, bool *connectedAreas) const
 
pvsHandle_t AllocCurrentPVS (unsigned int h) const
 

Private Attributes

int numAreas
 
int numPortals
 
boolconnectedAreas
 
intareaQueue
 
byteareaPVS
 
pvsCurrent_t currentPVS [MAX_CURRENT_PVS]
 
int portalVisBytes
 
int portalVisLongs
 
int areaVisBytes
 
int areaVisLongs
 
struct pvsPortal_spvsPortals
 
struct pvsArea_spvsAreas
 

Detailed Description

Definition at line 63 of file Pvs.h.

Constructor & Destructor Documentation

idPVS::idPVS ( void  )

Definition at line 72 of file Pvs.cpp.

idPVS::~idPVS ( void  )

Definition at line 97 of file Pvs.cpp.

Member Function Documentation

void idPVS::AddPassageBoundaries ( const idWinding source,
const idWinding pass,
bool  flipClip,
idPlane bounds,
int numBounds,
int  maxBounds 
) const
private

Definition at line 451 of file Pvs.cpp.

pvsHandle_t idPVS::AllocCurrentPVS ( unsigned int  h) const
private

Definition at line 1103 of file Pvs.cpp.

int idPVS::AreaPVSFromPortalPVS ( void  ) const
private

Definition at line 731 of file Pvs.cpp.

void idPVS::CopyPortalPVSToMightSee ( void  ) const
private

Definition at line 716 of file Pvs.cpp.

void idPVS::CreatePassages ( void  ) const
private

Definition at line 571 of file Pvs.cpp.

void idPVS::CreatePVSData ( void  )
private

Definition at line 122 of file Pvs.cpp.

void idPVS::DestroyPassages ( void  ) const
private

Definition at line 694 of file Pvs.cpp.

void idPVS::DestroyPVSData ( void  )
private

Definition at line 180 of file Pvs.cpp.

void idPVS::DrawCurrentPVS ( const pvsHandle_t  handle,
const idVec3 source 
) const

Definition at line 1338 of file Pvs.cpp.

void idPVS::DrawPVS ( const idVec3 source,
const pvsType_t  type = PVS_NORMAL 
) const

Definition at line 1227 of file Pvs.cpp.

void idPVS::DrawPVS ( const idBounds source,
const pvsType_t  type = PVS_NORMAL 
) const

Definition at line 1280 of file Pvs.cpp.

void idPVS::FloodFrontPortalPVS_r ( struct pvsPortal_s portal,
int  areaNum 
) const
private

Definition at line 211 of file Pvs.cpp.

pvsStack_t * idPVS::FloodPassagePVS_r ( struct pvsPortal_s source,
const struct pvsPortal_s portal,
struct pvsStack_s prevStack 
) const
private

Definition at line 326 of file Pvs.cpp.

void idPVS::FreeCurrentPVS ( pvsHandle_t  handle) const

Definition at line 1127 of file Pvs.cpp.

void idPVS::FrontPortalPVS ( void  ) const
private

Definition at line 241 of file Pvs.cpp.

void idPVS::GetConnectedAreas ( int  srcArea,
bool connectedAreas 
) const
private

Definition at line 889 of file Pvs.cpp.

int idPVS::GetPortalCount ( void  ) const
private

Definition at line 106 of file Pvs.cpp.

int idPVS::GetPVSArea ( const idVec3 point) const

Definition at line 930 of file Pvs.cpp.

int idPVS::GetPVSAreas ( const idBounds bounds,
int areas,
int  maxAreas 
) const

Definition at line 939 of file Pvs.cpp.

bool idPVS::InCurrentPVS ( const pvsHandle_t  handle,
const idVec3 target 
) const

Definition at line 1139 of file Pvs.cpp.

bool idPVS::InCurrentPVS ( const pvsHandle_t  handle,
const idBounds target 
) const

Definition at line 1161 of file Pvs.cpp.

bool idPVS::InCurrentPVS ( const pvsHandle_t  handle,
const int  targetArea 
) const

Definition at line 1184 of file Pvs.cpp.

bool idPVS::InCurrentPVS ( const pvsHandle_t  handle,
const int targetAreas,
int  numTargetAreas 
) const

Definition at line 1203 of file Pvs.cpp.

void idPVS::Init ( void  )

Definition at line 796 of file Pvs.cpp.

pvsHandle_t idPVS::MergeCurrentPVS ( pvsHandle_t  pvs1,
pvsHandle_t  pvs2 
) const

Definition at line 1075 of file Pvs.cpp.

void idPVS::PassagePVS ( void  ) const
private

Definition at line 414 of file Pvs.cpp.

pvsHandle_t idPVS::SetupCurrentPVS ( const idVec3 source,
const pvsType_t  type = PVS_NORMAL 
) const

Definition at line 948 of file Pvs.cpp.

pvsHandle_t idPVS::SetupCurrentPVS ( const idBounds source,
const pvsType_t  type = PVS_NORMAL 
) const

Definition at line 961 of file Pvs.cpp.

pvsHandle_t idPVS::SetupCurrentPVS ( const int  sourceArea,
const pvsType_t  type = PVS_NORMAL 
) const

Definition at line 974 of file Pvs.cpp.

pvsHandle_t idPVS::SetupCurrentPVS ( const int sourceAreas,
const int  numSourceAreas,
const pvsType_t  type = PVS_NORMAL 
) const

Definition at line 1013 of file Pvs.cpp.

void idPVS::Shutdown ( void  )

Definition at line 861 of file Pvs.cpp.

Member Data Documentation

byte* idPVS::areaPVS
private

Definition at line 105 of file Pvs.h.

int* idPVS::areaQueue
private

Definition at line 104 of file Pvs.h.

int idPVS::areaVisBytes
private

Definition at line 111 of file Pvs.h.

int idPVS::areaVisLongs
private

Definition at line 112 of file Pvs.h.

bool* idPVS::connectedAreas
private

Definition at line 103 of file Pvs.h.

pvsCurrent_t idPVS::currentPVS[MAX_CURRENT_PVS]
mutableprivate

Definition at line 107 of file Pvs.h.

int idPVS::numAreas
private

Definition at line 101 of file Pvs.h.

int idPVS::numPortals
private

Definition at line 102 of file Pvs.h.

int idPVS::portalVisBytes
private

Definition at line 109 of file Pvs.h.

int idPVS::portalVisLongs
private

Definition at line 110 of file Pvs.h.

struct pvsArea_s* idPVS::pvsAreas
private

Definition at line 114 of file Pvs.h.

struct pvsPortal_s* idPVS::pvsPortals
private

Definition at line 113 of file Pvs.h.


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