openscenegraph
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends
osgTerrain::Terrain Class Reference
Inheritance diagram for osgTerrain::Terrain:
osg::CoordinateSystemNode osg::Group osg::Node osg::Object osg::Referenced

List of all members.

Public Member Functions

 Terrain ()
 Terrain (const Terrain &, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
 META_Node (osgTerrain, Terrain)
virtual void traverse (osg::NodeVisitor &nv)
virtual osgTerrain::TerrainasTerrain ()
virtual const osgTerrain::TerrainasTerrain () const
void setSampleRatio (float ratio)
float getSampleRatio () const
void setVerticalScale (float scale)
float getVerticalScale () const
void setEqualizeBoundaries (bool equalizeBoundaries)
bool getEqualizeBoundaries () const
void setBlendingPolicy (TerrainTile::BlendingPolicy policy)
TerrainTile::BlendingPolicy getBlendingPolicy () const
TerrainTilegetTile (const TileID &tileID)
const TerrainTilegetTile (const TileID &tileID) const
void setTerrainTechniquePrototype (TerrainTechnique *technique)
TerrainTechniquegetTerrainTechniquePrototype ()
const TerrainTechniquegetTerrainTechniquePrototype () const
void updateTerrainTileOnNextFrame (TerrainTile *terrainTile)

Protected Types

typedef std::map< TileID,
TerrainTile * > 
TerrainTileMap
typedef std::set< TerrainTile * > TerrainTileSet

Protected Member Functions

virtual ~Terrain ()
void dirtyRegisteredTiles (int dirtyMask=TerrainTile::ALL_DIRTY)
void registerTerrainTile (TerrainTile *tile)
void unregisterTerrainTile (TerrainTile *tile)

Protected Attributes

float _sampleRatio
float _verticalScale
TerrainTile::BlendingPolicy _blendingPolicy
bool _equalizeBoundaries
OpenThreads::Mutex _mutex
TerrainTileSet _terrainTileSet
TerrainTileMap _terrainTileMap
TerrainTileSet _updateTerrainTileSet
osg::ref_ptr< TerrainTechnique_terrainTechnique

Friends

class TerrainTile

Detailed Description

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


Member Typedef Documentation

typedef std::map< TileID, TerrainTile* > osgTerrain::Terrain::TerrainTileMap [protected]
typedef std::set< TerrainTile* > osgTerrain::Terrain::TerrainTileSet [protected]

Constructor & Destructor Documentation

Copy constructor using CopyOp to manage deep vs shallow copy.

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

Member Function Documentation

virtual osgTerrain::Terrain* osgTerrain::Terrain::asTerrain ( ) [inline, virtual]

Convert 'this' into a Transform pointer if Node is a Terrain, otherwise return 0. Equivalent to dynamic_cast<Terrrain*>(this).

Reimplemented from osg::Node.

virtual const osgTerrain::Terrain* osgTerrain::Terrain::asTerrain ( ) const [inline, virtual]

convert 'const this' into a const Terrain pointer if Node is a Terrain, otherwise return 0. Equivalent to dynamic_cast<const Terrain*>(this).

Reimplemented from osg::Node.

Get the default policy to use when deciding whether to enable/disable blending and use of transparent bin.

If true the boundaries between adjacent tiles will be equalized.

float osgTerrain::Terrain::getSampleRatio ( ) const [inline]

Get the sample ratio hint.

Get the TerrainTechnique prototype

Get the const TerrainTechnique protype

Get the TerrainTile for a given TileID.

const TerrainTile* osgTerrain::Terrain::getTile ( const TileID tileID) const

Get the const TerrainTile for a given TileID.

float osgTerrain::Terrain::getVerticalScale ( ) const [inline]

Get the vertical scale hint.

osgTerrain::Terrain::META_Node ( osgTerrain  ,
Terrain   
)

Set the default policy to use when deciding whether to enable/disable blending and use of transparent bin. Note, the Terrain::BlendingPolicy value only sets the value for the TerrainTiles it encloses for the TerrainTile's that have their policy set to INHERIT. INHERIT is the default BlendingPolicy for both Terrain and TerrainTile, and if both are left to INERHIT then the policy used is ENABLE_BLENDING_WHEN_ALPHA_PRESENT.

void osgTerrain::Terrain::setEqualizeBoundaries ( bool  equalizeBoundaries)

If set to true the boundaries between adjacent tiles should be equalized. Note, it is only possible to equalizae boundaries when the TerrainTile's contain properly assigned TileID's, databases built with VirtualPlanetBuilder-0.9.11 and older do not set the TileID, so databases must be built with later versions of VirtualPlanetBuilder to take advantage of boundary equalization.

void osgTerrain::Terrain::setSampleRatio ( float  ratio)

Set the sample ratio hint that TerrainTile should use when building geometry. Defaults to 1.0, which means use all original sample points.

Set the TerrainTechnique prototype from which TerrainTiles can clone the techniques from.

Set the vertical scale hint.

virtual void osgTerrain::Terrain::traverse ( osg::NodeVisitor ) [virtual]

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

Reimplemented from osg::Group.

Tell the Terrain node to call the terrainTile's TerrainTechnique on the next update traversal.


Friends And Related Function Documentation

friend class TerrainTile [friend]

Member Data Documentation


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