# 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::ULandscape Class Reference

Game Interface for manipulate Landscape. More...

#include <u_landscape.h>

Inheritance diagram for NL3D::ULandscape

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

Collaboration graph
[legend]
List of all members.

Public Methods

virtual void setZonePath (const std::string &zonePath) = 0
 Set the zonePath from where zones are loaded.

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

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

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

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

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

virtual float getThreshold () const = 0
 Get threshold.

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

virtual float getTileNear () const = 0
 Get tile near distance.

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

virtual uint getTileMaxSubdivision () = 0
 Get Maximum Tile subdivision.

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

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

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


Public Attributes

CMiniCol CollisionManager

Protected Methods

 ULandscape ()
 protected because created/deleted by UScene. More...

virtual ~ULandscape ()

Detailed Description

Game Interface for manipulate Landscape.

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

Definition at line 52 of file u_landscape.h.


Constructor & Destructor Documentation

NL3D::ULandscape::ULandscape ( ) [inline, protected]
 

protected because created/deleted by UScene.

Definition at line 59 of file u_landscape.h.

NL3D::ULandscape::~ULandscape ( ) [inline, protected, virtual]
 

Definition at line 60 of file u_landscape.h.


Member Function Documentation

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

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

Reimplemented in NL3D::CLandscapeUser.

float NL3D::ULandscape::getThreshold ( ) const [pure virtual]
 

Get threshold.

Reimplemented in NL3D::CLandscapeUser.

uint NL3D::ULandscape::getTileMaxSubdivision ( ) [pure virtual]
 

Get Maximum Tile subdivision.

Reimplemented in NL3D::CLandscapeUser.

float NL3D::ULandscape::getTileNear ( ) const [pure virtual]
 

Get tile near distance.

Reimplemented in NL3D::CLandscapeUser.

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

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

Reimplemented in NL3D::CLandscapeUser.

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

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

Reimplemented in NL3D::CLandscapeUser.

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

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

Reimplemented in NL3D::CLandscapeUser.

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

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

Reimplemented in NL3D::CLandscapeUser.

void NL3D::ULandscape::setHeightField ( const CHeightMap & hf ) [pure 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 in NL3D::CLandscapeUser.

void NL3D::ULandscape::setThreshold ( float thre ) [pure virtual]
 

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

Reimplemented in NL3D::CLandscapeUser.

void NL3D::ULandscape::setTileMaxSubdivision ( uint tileDiv ) [pure virtual]
 

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

Reimplemented in NL3D::CLandscapeUser.

void NL3D::ULandscape::setTileNear ( float tileNear ) [pure virtual]
 

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

Reimplemented in NL3D::CLandscapeUser.

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

Set the zonePath from where zones are loaded.

Reimplemented in NL3D::CLandscapeUser.

void NL3D::ULandscape::setupStaticLight ( const CRGBA & diffuse,
const CRGBA & ambiant,
float multiply ) [pure 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 in NL3D::CLandscapeUser.


Member Data Documentation

CMiniCol NL3D::ULandscape::CollisionManager
 

Definition at line 68 of file u_landscape.h.


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