Maded TerrainTechnique::setTerrainTile(..), addNeighbour(..), removeNeighbour(..) and containsNeighbour(..) virtual and public to enable implementation of TerrainTechnique that act as a facade to actual TerrainTechnique implementations.

This commit is contained in:
Robert Osfield 2018-03-29 11:35:34 +01:00
parent 86b57d552f
commit 9526a3c35d

View File

@ -60,6 +60,7 @@ class OSGTERRAIN_EXPORT TerrainTechnique : public osg::Object, public osg::Obser
META_Object(osgTerrain, TerrainTechnique); META_Object(osgTerrain, TerrainTechnique);
virtual void setTerrainTile(TerrainTile* tile);
TerrainTile* getTerrainTile() { return _terrainTile; } TerrainTile* getTerrainTile() { return _terrainTile; }
const TerrainTile* getTerrainTile() const { return _terrainTile; } const TerrainTile* getTerrainTile() const { return _terrainTile; }
@ -80,17 +81,15 @@ class OSGTERRAIN_EXPORT TerrainTechnique : public osg::Object, public osg::Obser
* for all graphics contexts. */ * for all graphics contexts. */
virtual void releaseGLObjects(osg::State* = 0) const {} virtual void releaseGLObjects(osg::State* = 0) const {}
void addNeighbour(TerrainTile* tile) { _neighbours.addNeighbour(tile); } virtual void addNeighbour(TerrainTile* tile) { _neighbours.addNeighbour(tile); }
void removeNeighbour(TerrainTile* tile) { _neighbours.removeNeighbour(tile); } virtual void removeNeighbour(TerrainTile* tile) { _neighbours.removeNeighbour(tile); }
bool containsNeighbour(TerrainTile* tile) { return _neighbours.containsNeighbour(tile); } virtual bool containsNeighbour(TerrainTile* tile) { return _neighbours.containsNeighbour(tile); }
protected: protected:
virtual ~TerrainTechnique(); virtual ~TerrainTechnique();
void setTerrainTile(TerrainTile* tile);
void setDirty(bool dirty);
friend class osgTerrain::TerrainTile; friend class osgTerrain::TerrainTile;
TerrainTile* _terrainTile; TerrainTile* _terrainTile;