diff --git a/src/osgTerrain/TerrainNode.cpp b/src/osgTerrain/TerrainNode.cpp index f424d7b6d..8388a3244 100644 --- a/src/osgTerrain/TerrainNode.cpp +++ b/src/osgTerrain/TerrainNode.cpp @@ -61,6 +61,19 @@ void TerrainNode::traverse(osg::NodeVisitor& nv) Group::traverse(nv); } +void TerrainNode::setTerrainTechnique(osgTerrain::TerrainTechnique* terrainTechnique) +{ + if (_terrainTechnique == terrainTechnique) return; + + if (_terrainTechnique.valid()) _terrainTechnique->_terrainNode = 0; + + _terrainTechnique = terrainTechnique; + + if (_terrainTechnique.valid()) _terrainTechnique->_terrainNode = this; + +} + + void TerrainNode::setHeightLayer(osgTerrain::Layer* layer) { _heightLayer = layer;