Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

CTerrainManager Class Reference

#include <Terrain.h>

List of all members.

Public Member Functions

 CTerrainManager (void)
 ~CTerrainManager (void)
void SetCamera (SPosition pos, SPosition lookat, SVector orient)
void SetPosition (SPosition pos)
void AssignQgtArrayElement (int x, int z)
float GetMaxVisibility (void)
float GetMediumDetailRange (void)
float GetHighDetailRange (void)
void UpdateMaxVisibility (void)
void UpdateMediumDetailRange (void)
void UpdateHighDetailRange (void)
void Prepare (void)
void Draw (void)
void Log (const char *fmt,...)
void Print (FILE *f)

Public Attributes

int debugLevel
 Debug level for terrain manager.

Protected Attributes

ssgRoot * root
ssgTransform * top
int xLast
int zLast
std::set< CQuarterGlobeTile * > qFree
 Set of free QGT entities.
std::set< CQuarterGlobeTile * > qBusy
 Set of busy QGT entities.
float visibility
float vis_feet
float vis_check
float medium_detail
float high_detail

Private Attributes

CLogFilelog
 Optional activity log.


Detailed Description

Definition at line 1131 of file Terrain.h.


Constructor & Destructor Documentation

CTerrainManager::CTerrainManager void   ) 
 

Definition at line 42 of file TerrainManager.cpp.

References debugLevel, dtdb, GetIniVar(), log, root, smdb, ssdb, tedb, tmdb, top, ttdb, UpdateHighDetailRange(), UpdateMaxVisibility(), UpdateMediumDetailRange(), wmdb, xLast, and zLast.

CTerrainManager::~CTerrainManager void   ) 
 

Definition at line 101 of file TerrainManager.cpp.

References dtdb, log, Log(), qBusy, qFree, root, smdb, ssdb, tedb, tmdb, ttdb, and wmdb.


Member Function Documentation

void CTerrainManager::AssignQgtArrayElement int  x,
int  z
 

void CTerrainManager::Draw void   ) 
 

Todo:
Set fog colour to horizon colour in camera direction
Todo:
With multi-pass rendering, this is for low-detail layer. Medium- and high-detail layers use uncoloured, transparent fog and a relatively sharp transition near the appropriate range
Todo:
Multi-pass rendering for low, medium and high-detail textures

Definition at line 398 of file TerrainManager.cpp.

References E, CWorldObject::GetPosition(), CSituation::GetUserVehicle(), globals, root, SetPosition(), SGlobals::settings, SGlobals::sit, TerrainScale(), SGlobalSettings::terrainWireframe, and vis_feet.

Referenced by CSituation::Draw().

float CTerrainManager::GetHighDetailRange void   ) 
 

Definition at line 361 of file TerrainManager.cpp.

References high_detail.

Referenced by scenery_options_dlg_create().

float CTerrainManager::GetMaxVisibility void   ) 
 

Definition at line 345 of file TerrainManager.cpp.

References visibility.

Referenced by scenery_options_dlg_create().

float CTerrainManager::GetMediumDetailRange void   ) 
 

Definition at line 353 of file TerrainManager.cpp.

References medium_detail.

Referenced by scenery_options_dlg_create().

void CTerrainManager::Log const char *  fmt,
  ...
 

Definition at line 442 of file TerrainManager.cpp.

References log, and CLogFile::Write().

Referenced by CQuarterGlobeTile::Create(), and ~CTerrainManager().

void CTerrainManager::Prepare void   ) 
 

Definition at line 235 of file TerrainManager.cpp.

References CWorldObject::GetPosition(), CSituation::GetUserVehicle(), globals, qFree, SetPosition(), and SGlobals::sit.

Referenced by CSituation::Prepare().

void CTerrainManager::Print FILE *  f  ) 
 

Definition at line 452 of file TerrainManager.cpp.

References root.

Referenced by debug_dump_terrain_cb().

void CTerrainManager::SetCamera SPosition  pos,
SPosition  lookat,
SVector  orient
 

Todo:
Figure out reasonable near clipping plane

Definition at line 153 of file TerrainManager.cpp.

References PosToScaledFlatCartesianQgt(), TerrainScale(), vis_feet, SVector::x, SVector::y, and SVector::z.

Referenced by CSituation::Draw().

void CTerrainManager::SetPosition SPosition  pos  ) 
 

Definition at line 251 of file TerrainManager.cpp.

References CQuarterGlobeTile::AssignIndices(), CQuarterGlobeTile::Create(), DEBUGLOG, CQuarterGlobeTile::Destroy(), CQuarterGlobeTile::GetIndices(), gtfo, CQuarterGlobeTile::IsAssigned(), SPosition::lat, lat_lon_to_qgt(), SPosition::lon, qBusy, qFree, QGT_INDEX, TerrainScale(), top, CQuarterGlobeTile::UnassignIndices(), CQuarterGlobeTile::UpdatePosition(), xLast, and zLast.

Referenced by Draw(), CSituation::Draw(), and Prepare().

void CTerrainManager::UpdateHighDetailRange void   ) 
 

Definition at line 388 of file TerrainManager.cpp.

References GetIniFloat(), and high_detail.

Referenced by apply(), and CTerrainManager().

void CTerrainManager::UpdateMaxVisibility void   ) 
 

Definition at line 366 of file TerrainManager.cpp.

References FEET_PER_MILE, GetIniFloat(), vis_check, vis_feet, and visibility.

Referenced by apply(), and CTerrainManager().

void CTerrainManager::UpdateMediumDetailRange void   ) 
 

Definition at line 378 of file TerrainManager.cpp.

References GetIniFloat(), and medium_detail.

Referenced by apply(), and CTerrainManager().


Member Data Documentation

int CTerrainManager::debugLevel
 

Definition at line 1156 of file Terrain.h.

Referenced by CDefaultSuperTile::CDefaultSuperTile(), CQuarterGlobeTile::CQuarterGlobeTile(), CSlicedSuperTile::Create(), CQuarterGlobeTile::Create(), CDetailTile::CreateFanGeometry(), CDetailTile::CreateStripGeometry(), CTerrainManager(), and CQuarterGlobeTile::UnassignIndices().

float CTerrainManager::high_detail [protected]
 

Definition at line 1173 of file Terrain.h.

Referenced by GetHighDetailRange(), and UpdateHighDetailRange().

CLogFile* CTerrainManager::log [private]
 

Definition at line 1176 of file Terrain.h.

Referenced by CTerrainManager(), Log(), and ~CTerrainManager().

float CTerrainManager::medium_detail [protected]
 

Definition at line 1172 of file Terrain.h.

Referenced by GetMediumDetailRange(), and UpdateMediumDetailRange().

std::set<CQuarterGlobeTile*> CTerrainManager::qBusy [protected]
 

Definition at line 1166 of file Terrain.h.

Referenced by SetPosition(), and ~CTerrainManager().

std::set<CQuarterGlobeTile*> CTerrainManager::qFree [protected]
 

Definition at line 1165 of file Terrain.h.

Referenced by Prepare(), SetPosition(), and ~CTerrainManager().

ssgRoot* CTerrainManager::root [protected]
 

Definition at line 1159 of file Terrain.h.

Referenced by CTerrainManager(), Draw(), Print(), and ~CTerrainManager().

ssgTransform* CTerrainManager::top [protected]
 

Definition at line 1160 of file Terrain.h.

Referenced by CTerrainManager(), and SetPosition().

float CTerrainManager::vis_check [protected]
 

Definition at line 1171 of file Terrain.h.

Referenced by UpdateMaxVisibility().

float CTerrainManager::vis_feet [protected]
 

Definition at line 1170 of file Terrain.h.

Referenced by Draw(), SetCamera(), and UpdateMaxVisibility().

float CTerrainManager::visibility [protected]
 

Definition at line 1169 of file Terrain.h.

Referenced by GetMaxVisibility(), and UpdateMaxVisibility().

int CTerrainManager::xLast [protected]
 

Definition at line 1163 of file Terrain.h.

Referenced by CTerrainManager(), and SetPosition().

int CTerrainManager::zLast [protected]
 

Definition at line 1164 of file Terrain.h.

Referenced by CTerrainManager(), and SetPosition().


The documentation for this class was generated from the following files:
SourceForge.net Logo Documentation generated by doxygen