# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NL3D::CLandscapeUser Class Reference

ULandscape Implementation. More...

#include <landscape_user.h>

Inheritance diagram for NL3D::CLandscapeUser

Inheritance graph
[legend]
Collaboration diagram for NL3D::CLandscapeUser:

Collaboration graph
[legend]
List of all members.

Public Methods

 CLandscapeUser (CScene *scene)
virtual ~CLandscapeUser ()
virtual void setZonePath (const std::string &zonePath)
 Set the zonePath from where zones are loaded. More...

virtual void loadBankFiles (const std::string &tileBankFile, const std::string &farBankFile)
 Load the tile banks: the ".bank" and the ".farbank". More...

virtual void loadAllZonesAround (const CVector &pos, float radius)
 Load all Zones around a position. This is a blocking call. More...

virtual void refreshZonesAround (const CVector &pos, float radius)
 Delete old zones, or load new zones, around a position. new Zones are loaded async. More...

virtual void setupStaticLight (const CRGBA &diffuse, const CRGBA &ambiant, float multiply)
 Setup the light color use for static illumination. More...

virtual void setThreshold (float thre)
 Set threshold for subdivsion quality. The lower is threshold, the more the landscape is subdivided. Default: 0.001. More...

virtual float getThreshold () const
 Get threshold. More...

virtual void setTileNear (float tileNear)
 Set tile near distance. Default 50.f. maximized to length of Far alpha transition). More...

virtual float getTileNear () const
 Get tile near distance. More...

virtual void setTileMaxSubdivision (uint tileDiv)
 Set Maximum Tile subdivision. Valid values must be in [0..4] (assert). Default is 0 (for now :) ). More...

virtual uint getTileMaxSubdivision ()
 Get Maximum Tile subdivision. More...

virtual std::string getZoneName (const CVector &pos)
 Return the name of the zone around a particular position (in NL3D basis!). More...

virtual CVector getHeightFieldDeltaZ (float x, float y) const
 return the HeightField DeltaZ for the 2D position. (0,0,dZ) is returned. More...

virtual void setHeightField (const CHeightMap &hf)
 set the HeightField data. More...


Private Attributes

CScene_Scene
CLandscapeModel_Landscape
CZoneManager _ZoneManager

Detailed Description

ULandscape Implementation.

Author(s):
Lionel Berenguier , Nevrax France
Date:
2001

Definition at line 47 of file landscape_user.h.


Constructor & Destructor Documentation

NL3D::CLandscapeUser::CLandscapeUser ( CScene * scene ) [inline]
 

Definition at line 61 of file landscape_user.h.

NL3D::CLandscapeUser::~CLandscapeUser ( ) [inline, virtual]
 

Definition at line 69 of file landscape_user.h.


Member Function Documentation

CVector NL3D::CLandscapeUser::getHeightFieldDeltaZ ( float x,
float y ) const [virtual]
 

return the HeightField DeltaZ for the 2D position. (0,0,dZ) is returned.

Reimplemented from NL3D::ULandscape.

Definition at line 182 of file landscape_user.cpp.

float NL3D::CLandscapeUser::getThreshold ( ) const [virtual]
 

Get threshold.

Reimplemented from NL3D::ULandscape.

Definition at line 148 of file landscape_user.cpp.

uint NL3D::CLandscapeUser::getTileMaxSubdivision ( ) [virtual]
 

Get Maximum Tile subdivision.

Reimplemented from NL3D::ULandscape.

Definition at line 168 of file landscape_user.cpp.

float NL3D::CLandscapeUser::getTileNear ( ) const [virtual]
 

Get tile near distance.

Reimplemented from NL3D::ULandscape.

Definition at line 158 of file landscape_user.cpp.

std::string NL3D::CLandscapeUser::getZoneName ( const CVector & pos ) [virtual]
 

Return the name of the zone around a particular position (in NL3D basis!).

Reimplemented from NL3D::ULandscape.

Definition at line 175 of file landscape_user.cpp.

void NL3D::CLandscapeUser::loadAllZonesAround ( const CVector & pos,
float radius ) [virtual]
 

Load all Zones around a position. This is a blocking call.

Reimplemented from NL3D::ULandscape.

Definition at line 80 of file landscape_user.cpp.

void NL3D::CLandscapeUser::loadBankFiles ( const std::string & tileBankFile,
const std::string & farBankFile ) [virtual]
 

Load the tile banks: the ".bank" and the ".farbank".

Reimplemented from NL3D::ULandscape.

Definition at line 41 of file landscape_user.cpp.

void NL3D::CLandscapeUser::refreshZonesAround ( const CVector & pos,
float radius ) [virtual]
 

Delete old zones, or load new zones, around a position. new Zones are loaded async.

Reimplemented from NL3D::ULandscape.

Definition at line 103 of file landscape_user.cpp.

void NL3D::CLandscapeUser::setHeightField ( const CHeightMap & hf ) [virtual]
 

set the HeightField data.

NB: take lot of place in memory. only one is possible. You should setup this heightfield around the zones which will be loaded. It is applied only when a zone is loaded, so you should setup it 2km around the user, each time you move too far from a previous place (eg 160m from last setup).

Reimplemented from NL3D::ULandscape.

Definition at line 188 of file landscape_user.cpp.

void NL3D::CLandscapeUser::setThreshold ( float thre ) [virtual]
 

Set threshold for subdivsion quality. The lower is threshold, the more the landscape is subdivided. Default: 0.001.

Reimplemented from NL3D::ULandscape.

Definition at line 143 of file landscape_user.cpp.

void NL3D::CLandscapeUser::setTileMaxSubdivision ( uint tileDiv ) [virtual]
 

Set Maximum Tile subdivision. Valid values must be in [0..4] (assert). Default is 0 (for now :) ).

Reimplemented from NL3D::ULandscape.

Definition at line 163 of file landscape_user.cpp.

void NL3D::CLandscapeUser::setTileNear ( float tileNear ) [virtual]
 

Set tile near distance. Default 50.f. maximized to length of Far alpha transition).

Reimplemented from NL3D::ULandscape.

Definition at line 153 of file landscape_user.cpp.

void NL3D::CLandscapeUser::setZonePath ( const std::string & zonePath ) [virtual]
 

Set the zonePath from where zones are loaded.

Reimplemented from NL3D::ULandscape.

Definition at line 36 of file landscape_user.cpp.

void NL3D::CLandscapeUser::setupStaticLight ( const CRGBA & diffuse,
const CRGBA & ambiant,
float multiply ) [virtual]
 

Setup the light color use for static illumination.

NB: This setup will be visible only for new texture far/near computed (when player move or see dynamic lighting).

Parameters:
diffuse   is the color of the diffuse componante of the lighting.
ambiant   is the color of the ambiante componante of the lighting.
multiply   is the multiply factor. Final color is (diffuse*multiply*shading+ambiant*(1.0-shading))

Reimplemented from NL3D::ULandscape.

Definition at line 135 of file landscape_user.cpp.


Member Data Documentation

CLandscapeModel * NL3D::CLandscapeUser::_Landscape [private]
 

Definition at line 53 of file landscape_user.h.

CScene * NL3D::CLandscapeUser::_Scene [private]
 

Definition at line 51 of file landscape_user.h.

CZoneManager NL3D::CLandscapeUser::_ZoneManager [private]
 

Definition at line 55 of file landscape_user.h.


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