Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
CLosQuerier Class Reference

Object providing efficient abstracted access to the LOS state. More...

#include <Los.h>

Collaboration diagram for CLosQuerier:

Public Member Functions

bool IsVisible (ssize_t i, ssize_t j) const
 Returns whether the given vertex is visible (i.e. More...
 
bool IsExplored (ssize_t i, ssize_t j) const
 Returns whether the given vertex is explored (i.e. More...
 
bool IsVisible_UncheckedRange (ssize_t i, ssize_t j) const
 Returns whether the given vertex is visible (i.e. More...
 
bool IsExplored_UncheckedRange (ssize_t i, ssize_t j) const
 Returns whether the given vertex is explored (i.e. More...
 

Private Member Functions

 CLosQuerier (u32 playerMask, const Grid< u32 > &data, ssize_t verticesPerSide)
 
const CLosQuerieroperator= (const CLosQuerier &)
 

Private Attributes

u32 m_PlayerMask
 
const Grid< u32 > & m_Data
 
ssize_t m_VerticesPerSide
 

Friends

class CCmpRangeManager
 
class TestLOSTexture
 

Detailed Description

Object providing efficient abstracted access to the LOS state.

This depends on some implementation details of CCmpRangeManager.

This ignores the GetLosRevealAll flag - callers should check that explicitly.

Constructor & Destructor Documentation

◆ CLosQuerier()

CLosQuerier::CLosQuerier ( u32  playerMask,
const Grid< u32 > &  data,
ssize_t  verticesPerSide 
)
inlineprivate

Member Function Documentation

◆ IsExplored()

bool CLosQuerier::IsExplored ( ssize_t  i,
ssize_t  j 
) const
inline

Returns whether the given vertex is explored (i.e.

was (or still is) within a unit's LOS).

◆ IsExplored_UncheckedRange()

bool CLosQuerier::IsExplored_UncheckedRange ( ssize_t  i,
ssize_t  j 
) const
inline

Returns whether the given vertex is explored (i.e.

was (or still is) within a unit's LOS). i and j must be in the range [0, verticesPerSide), else behaviour is undefined.

◆ IsVisible()

bool CLosQuerier::IsVisible ( ssize_t  i,
ssize_t  j 
) const
inline

Returns whether the given vertex is visible (i.e.

is within a unit's LOS).

◆ IsVisible_UncheckedRange()

bool CLosQuerier::IsVisible_UncheckedRange ( ssize_t  i,
ssize_t  j 
) const
inline

Returns whether the given vertex is visible (i.e.

is within a unit's LOS). i and j must be in the range [0, verticesPerSide), else behaviour is undefined.

◆ operator=()

const CLosQuerier & CLosQuerier::operator= ( const CLosQuerier )
private

Friends And Related Function Documentation

◆ CCmpRangeManager

friend class CCmpRangeManager
friend

◆ TestLOSTexture

friend class TestLOSTexture
friend

Member Data Documentation

◆ m_Data

const Grid<u32>& CLosQuerier::m_Data
private

◆ m_PlayerMask

u32 CLosQuerier::m_PlayerMask
private

◆ m_VerticesPerSide

ssize_t CLosQuerier::m_VerticesPerSide
private

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