osgTerrain::TerrainTile Class Reference

Inheritance diagram for osgTerrain::TerrainTile:

osg::Group osg::Node osg::Object osg::Referenced

List of all members.

Public Member Functions

 TerrainTile ()
 TerrainTile (const TerrainTile &, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
 META_Node (osgTerrain, TerrainTile)
virtual void traverse (osg::NodeVisitor &nv)
void init ()
void setTerrain (Terrain *ts)
Terrain * getTerrain ()
const Terrain * getTerrain () const
void setTileID (const TileID &tileID)
const TileID & getTileID () const
void setTerrainTechnique (TerrainTechnique *TerrainTechnique)
TerrainTechnique * getTerrainTechnique ()
const TerrainTechnique * getTerrainTechnique () const
void setLocator (Locator *locator)
Locator * getLocator ()
const Locator * getLocator () const
void setElevationLayer (Layer *layer)
Layer * getElevationLayer ()
const Layer * getElevationLayer () const
void setColorLayer (unsigned int i, Layer *layer)
Layer * getColorLayer (unsigned int i)
const Layer * getColorLayer (unsigned int i) const
unsigned int getNumColorLayers () const
void setRequiresNormals (bool flag)
bool getRequiresNormals () const
void setTreatBoundariesToValidDataAsDefaultValue (bool flag)
bool getTreatBoundariesToValidDataAsDefaultValue () const
virtual osg::BoundingSphere computeBound () const

Protected Types

typedef std::vector
< osg::ref_ptr< Layer > > 
Layers

Protected Member Functions

virtual ~TerrainTile ()

Protected Attributes

Terrain * _terrain
bool _hasBeenTraversal
TileID _tileID
osg::ref_ptr< TerrainTechnique > _terrainTechnique
osg::ref_ptr< Locator > _locator
osg::ref_ptr< Layer > _elevationLayer
Layers _colorLayers
bool _requiresNormals
bool _treatBoundariesToValidDataAsDefaultValue

Friends

class Terrain


Detailed Description

Terrain provides a framework for loosely coupling height field data with height rendering algorithms. This allows TerrainTechnique's to be plugged in at runtime.

Member Typedef Documentation

typedef std::vector< osg::ref_ptr<Layer> > osgTerrain::TerrainTile::Layers [protected]


Constructor & Destructor Documentation

osgTerrain::TerrainTile::TerrainTile (  ) 

osgTerrain::TerrainTile::TerrainTile ( const TerrainTile &  ,
const osg::CopyOp &  copyop = osg::CopyOp::SHALLOW_COPY 
)

Copy constructor using CopyOp to manage deep vs shallow copy.

virtual osgTerrain::TerrainTile::~TerrainTile (  )  [protected, virtual]


Member Function Documentation

osgTerrain::TerrainTile::META_Node ( osgTerrain  ,
TerrainTile   
)

virtual void osgTerrain::TerrainTile::traverse ( osg::NodeVisitor &   )  [virtual]

Traverse downwards : calls children's accept method with NodeVisitor.

Reimplemented from osg::Group.

void osgTerrain::TerrainTile::init (  ) 

Call init on any attached TerrainTechnique.

void osgTerrain::TerrainTile::setTerrain ( Terrain *  ts  ) 

Set the Terrain that this Terrain tile is a member of.

Terrain* osgTerrain::TerrainTile::getTerrain (  )  [inline]

Get the Terrain that this Terrain tile is a member of.

const Terrain* osgTerrain::TerrainTile::getTerrain (  )  const [inline]

Get the const Terrain that this Terrain tile is a member of.

void osgTerrain::TerrainTile::setTileID ( const TileID &  tileID  ) 

Set the TileID (layer, x,y) of the TerrainTile. The TileID is used so it can be located by its neighbours via the enclosing Terrain node that manages a map of TileID to TerraiTiles.

const TileID& osgTerrain::TerrainTile::getTileID (  )  const [inline]

Get the TileID (layer, x,y) of the TerrainTile.

void osgTerrain::TerrainTile::setTerrainTechnique ( TerrainTechnique *  TerrainTechnique  ) 

TerrainTechnique* osgTerrain::TerrainTile::getTerrainTechnique (  )  [inline]

const TerrainTechnique* osgTerrain::TerrainTile::getTerrainTechnique (  )  const [inline]

Get the const TerrainTechnique

void osgTerrain::TerrainTile::setLocator ( Locator *  locator  )  [inline]

Set the coordinate frame locator of the terrain node. The locator takes non-dimensional s,t coordinates into the X,Y,Z world coords and back.

Locator* osgTerrain::TerrainTile::getLocator (  )  [inline]

Get the coordinate frame locator of the terrain node.

const Locator* osgTerrain::TerrainTile::getLocator (  )  const [inline]

Get the coordinate frame locator of the terrain node.

void osgTerrain::TerrainTile::setElevationLayer ( Layer *  layer  ) 

Set the layer to use to define the elevations of the terrain.

Layer* osgTerrain::TerrainTile::getElevationLayer (  )  [inline]

Get the layer to use to define the elevations of the terrain.

const Layer* osgTerrain::TerrainTile::getElevationLayer (  )  const [inline]

Get the const layer to use to define the elevations of the terrain.

void osgTerrain::TerrainTile::setColorLayer ( unsigned int  i,
Layer *  layer 
)

Set a color layer with specified layer number.

Layer* osgTerrain::TerrainTile::getColorLayer ( unsigned int  i  )  [inline]

Get color layer with specified layer number.

const Layer* osgTerrain::TerrainTile::getColorLayer ( unsigned int  i  )  const [inline]

Set const color layer with specified layer number.

unsigned int osgTerrain::TerrainTile::getNumColorLayers (  )  const [inline]

Get the number of colour layers.

void osgTerrain::TerrainTile::setRequiresNormals ( bool  flag  )  [inline]

Set hint to whether the TerrainTechnique should create per vertex normals for lighting purposes.

bool osgTerrain::TerrainTile::getRequiresNormals (  )  const [inline]

Get whether the TerrainTechnique should create per vertex normals for lighting purposes.

void osgTerrain::TerrainTile::setTreatBoundariesToValidDataAsDefaultValue ( bool  flag  )  [inline]

Set the hint to whether the TerrainTechnique should treat the invalid Layer entries that at are neigbours to valid entries with the default value.

bool osgTerrain::TerrainTile::getTreatBoundariesToValidDataAsDefaultValue (  )  const [inline]

Get whether the TeatBoundariesToValidDataAsDefaultValue hint.

virtual osg::BoundingSphere osgTerrain::TerrainTile::computeBound (  )  const [virtual]

Compute the bounding volume of the terrain by computing the union of the bounding volumes of all layers.

Reimplemented from osg::Group.


Friends And Related Function Documentation

friend class Terrain [friend]


Member Data Documentation


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

Generated on Wed Nov 17 16:52:53 2010 for openscenegraph by  doxygen 1.5.6