Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
CTerrain Class Reference

#include <Terrain.h>

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
 
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 GetBaseColour () const
 
void SetBaseColour (SColor4ub colour)
 
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_BaseColour
 
CHeightMipmap m_HeightMipmap
 

Detailed Description

Definition at line 51 of file Terrain.h.

Constructor & Destructor Documentation

CTerrain::CTerrain ( )

Definition at line 42 of file Terrain.cpp.

CTerrain::~CTerrain ( )

Definition at line 50 of file Terrain.cpp.

Member Function Documentation

CVector3D CTerrain::CalcExactNormal ( float  x,
float  z 
) const

Definition at line 235 of file Terrain.cpp.

static void CTerrain::CalcFromPosition ( const CVector3D pos,
ssize_t i,
ssize_t j 
)
inlinestatic

Definition at line 116 of file Terrain.h.

static void CTerrain::CalcFromPosition ( float  x,
float  z,
ssize_t i,
ssize_t j 
)
inlinestatic

Definition at line 122 of file Terrain.h.

void CTerrain::CalcNormal ( ssize_t  i,
ssize_t  j,
CVector3D normal 
) const

Definition at line 144 of file Terrain.cpp.

void CTerrain::CalcNormalFixed ( ssize_t  i,
ssize_t  j,
CFixedVector3D normal 
) const

Definition at line 191 of file Terrain.cpp.

void CTerrain::CalcPosition ( ssize_t  i,
ssize_t  j,
CVector3D pos 
) const

Definition at line 118 of file Terrain.cpp.

void CTerrain::CalcPositionFixed ( ssize_t  i,
ssize_t  j,
CFixedVector3D pos 
) const

Definition at line 130 of file Terrain.cpp.

SColor4ub CTerrain::GetBaseColour ( ) const
inline

Definition at line 152 of file Terrain.h.

float CTerrain::GetExactGroundLevel ( float  x,
float  z 
) const

Definition at line 353 of file Terrain.cpp.

fixed CTerrain::GetExactGroundLevelFixed ( fixed  x,
fixed  z 
) const

Definition at line 398 of file Terrain.cpp.

float CTerrain::GetFilteredGroundLevel ( float  x,
float  z,
float  radius 
) const

Definition at line 342 of file Terrain.cpp.

u16* CTerrain::GetHeightMap ( ) const
inline

Definition at line 103 of file Terrain.h.

const CHeightMipmap& CTerrain::GetHeightMipmap ( ) const
inline

Definition at line 156 of file Terrain.h.

float CTerrain::GetMaxX ( ) const
inline

Definition at line 73 of file Terrain.h.

float CTerrain::GetMaxZ ( ) const
inline

Definition at line 74 of file Terrain.h.

float CTerrain::GetMinX ( ) const
inline

Definition at line 71 of file Terrain.h.

float CTerrain::GetMinZ ( ) const
inline

Definition at line 72 of file Terrain.h.

CStr8 CTerrain::GetMovementClass ( ssize_t  i,
ssize_t  j 
) const

Definition at line 105 of file Terrain.cpp.

CPatch * CTerrain::GetPatch ( ssize_t  i,
ssize_t  j 
) const

Definition at line 283 of file Terrain.cpp.

ssize_t CTerrain::GetPatchesPerSide ( ) const
inline

Definition at line 69 of file Terrain.h.

fixed CTerrain::GetSlopeFixed ( ssize_t  i,
ssize_t  j 
) const

Definition at line 323 of file Terrain.cpp.

CMiniPatch * CTerrain::GetTile ( ssize_t  i,
ssize_t  j 
) const

Definition at line 298 of file Terrain.cpp.

ssize_t CTerrain::GetTilesPerSide ( ) const
inline

Definition at line 67 of file Terrain.h.

bool CTerrain::GetTriangulationDir ( ssize_t  i,
ssize_t  j 
) const

Definition at line 427 of file Terrain.cpp.

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)

Definition at line 645 of file Terrain.cpp.

float CTerrain::GetVertexGroundLevel ( ssize_t  i,
ssize_t  j 
) const

Definition at line 308 of file Terrain.cpp.

fixed CTerrain::GetVertexGroundLevelFixed ( ssize_t  i,
ssize_t  j 
) const

Definition at line 315 of file Terrain.cpp.

ssize_t CTerrain::GetVerticesPerSide ( ) const
inline

Definition at line 65 of file Terrain.h.

void CTerrain::InitialisePatches ( )
private

Definition at line 560 of file Terrain.cpp.

bool CTerrain::Initialize ( ssize_t  patchesPerSide,
const u16 ptr 
)

Definition at line 70 of file Terrain.cpp.

bool CTerrain::IsOnMap ( float  x,
float  z 
) const
inline

Definition at line 76 of file Terrain.h.

void CTerrain::MakeDirty ( ssize_t  i0,
ssize_t  j0,
ssize_t  i1,
ssize_t  j1,
int  dirtyFlags 
)

Definition at line 598 of file Terrain.cpp.

void CTerrain::MakeDirty ( int  dirtyFlags)

Definition at line 628 of file Terrain.cpp.

void CTerrain::ReleaseData ( )
private

Definition at line 58 of file Terrain.cpp.

void CTerrain::Resize ( ssize_t  size)

Definition at line 448 of file Terrain.cpp.

void CTerrain::SetBaseColour ( SColor4ub  colour)
inline

Definition at line 154 of file Terrain.h.

void CTerrain::SetHeightMap ( u16 heightmap)

Definition at line 575 of file Terrain.cpp.

Member Data Documentation

SColor4ub CTerrain::m_BaseColour
private

Definition at line 173 of file Terrain.h.

u16* CTerrain::m_Heightmap
private

Definition at line 171 of file Terrain.h.

CHeightMipmap CTerrain::m_HeightMipmap
private

Definition at line 175 of file Terrain.h.

ssize_t CTerrain::m_MapSize
private

Definition at line 165 of file Terrain.h.

ssize_t CTerrain::m_MapSizePatches
private

Definition at line 167 of file Terrain.h.

CPatch* CTerrain::m_Patches
private

Definition at line 169 of file Terrain.h.


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