Change Terrain so that it subclassed from CoordinateSystemNode.

Implemented new update scheme of GeometryTechnique to avoid potential threading issues.

Added Terrain support to .ive.
This commit is contained in:
Robert Osfield
2010-04-03 16:21:34 +00:00
parent 656efbf03f
commit c6c26d5d44
18 changed files with 165 additions and 43 deletions

View File

@@ -34,7 +34,7 @@ class OSGTERRAIN_EXPORT GeometryTechnique : public TerrainTechnique
META_Object(osgTerrain, GeometryTechnique);
virtual void init();
virtual void init(int dirtyMask, bool assumeMultiThreaded);
virtual Locator* computeMasterLocator();

View File

@@ -14,7 +14,6 @@
#ifndef OSGTerrain
#define OSGTerrain 1
#include <osg/Group>
#include <osg/CoordinateSystemNode>
#include <osgTerrain/TerrainTile>
@@ -23,7 +22,7 @@ namespace osgTerrain {
/** Terrain provides a framework for loosely coupling height field data with height rendering algorithms.
* This allows TerrainTechniques to be plugged in at runtime.*/
class OSGTERRAIN_EXPORT Terrain : public osg::Group
class OSGTERRAIN_EXPORT Terrain : public osg::CoordinateSystemNode
{
public:

View File

@@ -63,7 +63,7 @@ class OSGTERRAIN_EXPORT TerrainTechnique : public osg::Object, public osg::Obser
TerrainTile* getTerrainTile() { return _terrainTile; }
const TerrainTile* getTerrainTile() const { return _terrainTile; }
virtual void init();
virtual void init(int dirtyMask, bool assumeMultiThreaded);
virtual void update(osgUtil::UpdateVisitor* nv);

View File

@@ -78,8 +78,7 @@ class OSGTERRAIN_EXPORT TerrainTile : public osg::Group
virtual void traverse(osg::NodeVisitor& nv);
/** Call init on any attached TerrainTechnique.*/
void init();
void init(int dirtyMask, bool assumeMultiThreaded);
/** Set the Terrain that this Terrain tile is a member of.*/
void setTerrain(Terrain* ts);