HeightFieldCache::HeightFieldCache(const MPTerrainEngineOptions& options) :
    _cache   ( true, 128 ),
    _tileSize( options.tileSize().get() )
{
    _useParentAsReferenceHF = (options.elevationSmoothing() == true);
    _enabled = (::getenv("OSGEARTH_MEMORY_PROFILE") == 0L);
}
TileModelFactory::TileModelFactory(TileNodeRegistry*             liveTiles,
                                   const MPTerrainEngineOptions& terrainOptions,
                                   TerrainEngineRequirements*    terrainReqs) :
_liveTiles     ( liveTiles ),
_terrainOptions( terrainOptions ),
_terrainReqs   ( terrainReqs )
{
    _meshHFCache = new HeightFieldCache(liveTiles, terrainOptions);
    _meshHFCache->setTileSize( terrainOptions.tileSize().get() );

    _normalHFCache = new HeightFieldCache(liveTiles, terrainOptions);
    _normalHFCache->setTileSize( 257 );

    _debug = terrainOptions.debug() == true;
}