Pyrogenesis  trunk
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
CTerrain Class Reference

#include <Terrain.h>

Collaboration diagram for CTerrain:
Collaboration graph
[legend]

Public Member Functions

 CTerrain ()
 
 ~CTerrain ()
 
bool Initialize (ssize_t patchesPerSide, const u16 *ptr)
 
ssize_t GetVerticesPerSide () const
 
ssize_t GetTilesPerSide () const
 
ssize_t GetPatchesPerSide () const
 
float GetMinX () const
 
float GetMinZ () const
 
float GetMaxX () const
 
float GetMaxZ () const
 
bool IsOnMap (float x, float z) const
 
CStr8 GetMovementClass (ssize_t i, ssize_t j) const
 
float GetVertexGroundLevel (ssize_t i, ssize_t j) const
 
fixed GetVertexGroundLevelFixed (ssize_t i, ssize_t j) const
 
float GetExactGroundLevel (float x, float z) const
 
fixed GetExactGroundLevelFixed (fixed x, fixed z) const
 
float GetFilteredGroundLevel (float x, float z, float radius) const
 
fixed GetSlopeFixed (ssize_t i, ssize_t j) const
 
fixed GetExactSlopeFixed (fixed x, fixed z) const
 
bool GetTriangulationDir (ssize_t i, ssize_t j) const
 
void Resize (ssize_t size)
 
void SetHeightMap (u16 *heightmap)
 
u16GetHeightMap () const
 
CPatchGetPatch (ssize_t i, ssize_t j) const
 
CMiniPatchGetTile (ssize_t i, ssize_t j) const
 
void CalcPosition (ssize_t i, ssize_t j, CVector3D &pos) const
 
void CalcPositionFixed (ssize_t i, ssize_t j, CFixedVector3D &pos) const
 
void CalcNormal (ssize_t i, ssize_t j, CVector3D &normal) const
 
void CalcNormalFixed (ssize_t i, ssize_t j, CFixedVector3D &normal) const
 
CVector3D CalcExactNormal (float x, float z) const
 
void MakeDirty (ssize_t i0, ssize_t j0, ssize_t i1, ssize_t j1, int dirtyFlags)
 
void MakeDirty (int dirtyFlags)
 
CBoundingBoxAligned GetVertexesBound (ssize_t i0, ssize_t j0, ssize_t i1, ssize_t j1)
 Returns a 3D bounding box encompassing the given vertex range (inclusive) More...
 
SColor4ub GetBaseColor () const
 
void SetBaseColor (SColor4ub color)
 
const CHeightMipmapGetHeightMipmap () const
 

Static Public Member Functions

static void CalcFromPosition (const CVector3D &pos, ssize_t &i, ssize_t &j)
 
static void CalcFromPosition (float x, float z, ssize_t &i, ssize_t &j)
 

Private Member Functions

void ReleaseData ()
 
void InitialisePatches ()
 

Private Attributes

ssize_t m_MapSize
 
ssize_t m_MapSizePatches
 
CPatchm_Patches
 
u16m_Heightmap
 
SColor4ub m_BaseColor
 
CHeightMipmap m_HeightMipmap
 

Constructor & Destructor Documentation

CTerrain::CTerrain ( )
CTerrain::~CTerrain ( )

Member Function Documentation

CVector3D CTerrain::CalcExactNormal ( float  x,
float  z 
) const
static void CTerrain::CalcFromPosition ( const CVector3D pos,
ssize_t i,
ssize_t j 
)
inlinestatic
static void CTerrain::CalcFromPosition ( float  x,
float  z,
ssize_t i,
ssize_t j 
)
inlinestatic
void CTerrain::CalcNormal ( ssize_t  i,
ssize_t  j,
CVector3D normal 
) const
void CTerrain::CalcNormalFixed ( ssize_t  i,
ssize_t  j,
CFixedVector3D normal 
) const
void CTerrain::CalcPosition ( ssize_t  i,
ssize_t  j,
CVector3D pos 
) const
void CTerrain::CalcPositionFixed ( ssize_t  i,
ssize_t  j,
CFixedVector3D pos 
) const
SColor4ub CTerrain::GetBaseColor ( ) const
inline
float CTerrain::GetExactGroundLevel ( float  x,
float  z 
) const
fixed CTerrain::GetExactGroundLevelFixed ( fixed  x,
fixed  z 
) const
fixed CTerrain::GetExactSlopeFixed ( fixed  x,
fixed  z 
) const
float CTerrain::GetFilteredGroundLevel ( float  x,
float  z,
float  radius 
) const
u16* CTerrain::GetHeightMap ( ) const
inline
const CHeightMipmap& CTerrain::GetHeightMipmap ( ) const
inline
float CTerrain::GetMaxX ( ) const
inline
float CTerrain::GetMaxZ ( ) const
inline
float CTerrain::GetMinX ( ) const
inline
float CTerrain::GetMinZ ( ) const
inline
CStr8 CTerrain::GetMovementClass ( ssize_t  i,
ssize_t  j 
) const
CPatch * CTerrain::GetPatch ( ssize_t  i,
ssize_t  j 
) const
ssize_t CTerrain::GetPatchesPerSide ( ) const
inline
fixed CTerrain::GetSlopeFixed ( ssize_t  i,
ssize_t  j 
) const
CMiniPatch * CTerrain::GetTile ( ssize_t  i,
ssize_t  j 
) const
ssize_t CTerrain::GetTilesPerSide ( ) const
inline
bool CTerrain::GetTriangulationDir ( ssize_t  i,
ssize_t  j 
) const
CBoundingBoxAligned CTerrain::GetVertexesBound ( ssize_t  i0,
ssize_t  j0,
ssize_t  i1,
ssize_t  j1 
)

Returns a 3D bounding box encompassing the given vertex range (inclusive)

float CTerrain::GetVertexGroundLevel ( ssize_t  i,
ssize_t  j 
) const
fixed CTerrain::GetVertexGroundLevelFixed ( ssize_t  i,
ssize_t  j 
) const
ssize_t CTerrain::GetVerticesPerSide ( ) const
inline
void CTerrain::InitialisePatches ( )
private
bool CTerrain::Initialize ( ssize_t  patchesPerSide,
const u16 ptr 
)
bool CTerrain::IsOnMap ( float  x,
float  z 
) const
inline
void CTerrain::MakeDirty ( ssize_t  i0,
ssize_t  j0,
ssize_t  i1,
ssize_t  j1,
int  dirtyFlags 
)
void CTerrain::MakeDirty ( int  dirtyFlags)
void CTerrain::ReleaseData ( )
private
void CTerrain::Resize ( ssize_t  size)
void CTerrain::SetBaseColor ( SColor4ub  color)
inline
void CTerrain::SetHeightMap ( u16 heightmap)

Member Data Documentation

SColor4ub CTerrain::m_BaseColor
private
u16* CTerrain::m_Heightmap
private
CHeightMipmap CTerrain::m_HeightMipmap
private
ssize_t CTerrain::m_MapSize
private
ssize_t CTerrain::m_MapSizePatches
private
CPatch* CTerrain::m_Patches
private

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