Rearranged the traversal and initialization of TerrainTechnique

This commit is contained in:
Robert Osfield
2007-03-27 16:01:01 +00:00
parent e76e4e82db
commit 4688d5ae8e
6 changed files with 69 additions and 34 deletions

View File

@@ -30,16 +30,15 @@ class OSGTERRAIN_EXPORT GeometryTechnique : public TerrainTechnique
/** Copy constructor using CopyOp to manage deep vs shallow copy.*/
GeometryTechnique(const GeometryTechnique&,const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY);
virtual void initialize();
virtual void init();
virtual void update(osgUtil::UpdateVisitor* nv);
virtual void cull(osgUtil::CullVisitor* nv);
virtual void cleanSceneGraph() {}
virtual void cleanSceneGraph();
/** Dirty so that cached data structurese are updated.*/
virtual void dirty() { _dirty = true; }
virtual void dirty();
protected:
@@ -47,7 +46,6 @@ class OSGTERRAIN_EXPORT GeometryTechnique : public TerrainTechnique
osg::ref_ptr<osg::Geode> _geode;
osg::ref_ptr<osg::Geometry> _geometry;
bool _dirty;
};

View File

@@ -39,7 +39,7 @@ class OSGTERRAIN_EXPORT TerrainTechnique : public osg::Object
TerrainNode* getTerrainNode() { return _terrainNode; }
const TerrainNode* getTerrainNode() const { return _terrainNode; }
virtual void initialize();
virtual void init();
virtual void update(osgUtil::UpdateVisitor* nv);
@@ -48,6 +48,9 @@ class OSGTERRAIN_EXPORT TerrainTechnique : public osg::Object
/** Clean scene graph from any terrain technique specific nodes.*/
virtual void cleanSceneGraph();
/** Traverse the terain subgraph.*/
virtual void traverse(osg::NodeVisitor& nv);
/** Dirty so that cached data structurese are updated.*/
virtual void dirty();
@@ -57,7 +60,8 @@ class OSGTERRAIN_EXPORT TerrainTechnique : public osg::Object
friend class osgTerrain::TerrainNode;
TerrainNode* _terrainNode;
TerrainNode* _terrainNode;
bool _dirty;
};