- Timestamp:
- Aug 30, 2016 5:51:12 PM (8 years ago)
- Location:
- geovis/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
geovis/trunk/Renderer.cpp
r6508 r6509 1566 1566 } else { 1567 1567 TRACE("Elevation layer not found: %s", name); 1568 } 1569 } 1570 1571 void Renderer::addTerrainMaskLayer(const char *name, 1572 osgEarth::MaskSourceOptions& opts, 1573 unsigned int minLOD) 1574 { 1575 if (!_map.valid()) { 1576 ERROR("No map"); 1577 return; 1578 } 1579 TRACE("layer: %s", name); 1580 osgEarth::MaskLayerOptions layerOpts(name, opts); 1581 layerOpts.minLevel() = minLOD; 1582 osgEarth::MaskLayer *layer = new osgEarth::MaskLayer(layerOpts); 1583 _map->addTerrainMaskLayer(layer); 1584 _needsRedraw = true; 1585 } 1586 1587 void Renderer::removeTerrainMaskLayer(const char *name) 1588 { 1589 if (!_map.valid()) { 1590 ERROR("No map"); 1591 return; 1592 } 1593 osgEarth::MaskLayer *layer = getTerrainMaskLayerByName(name); 1594 if (layer != NULL) { 1595 _map->removeTerrainMaskLayer(layer); 1596 _needsRedraw = true; 1597 } else { 1598 TRACE("Terrain mask layer not found: %s", name); 1568 1599 } 1569 1600 } -
geovis/trunk/Renderer.h
r6488 r6509 32 32 #include <osgEarth/ElevationLayer> 33 33 #include <osgEarth/ModelLayer> 34 #include <osgEarth/MaskLayer> 34 35 #include <osgEarth/TileSource> 35 36 #include <osgEarth/ModelSource> … … 329 330 330 331 void setElevationLayerVisibility(const char *name, bool state); 332 333 // Terrain mask layers 334 335 int getNumTerrainMaskLayers() const 336 { 337 if (!_map.valid()) return 0; 338 339 osgEarth::MaskLayerVector layers; 340 _map->getTerrainMaskLayers(layers); 341 return (int)layers.size(); 342 } 343 344 void getTerrainMaskLayerNames(std::vector<std::string>& names) const 345 { 346 if (_map.valid()) { 347 osgEarth::MaskLayerVector layerVector; 348 _map->getTerrainMaskLayers(layerVector); 349 osgEarth::MaskLayerVector::const_iterator itr; 350 for (itr = layerVector.begin(); itr != layerVector.end(); ++itr) { 351 //osgEarth::UID uid = (*itr)->getUID(); 352 names.push_back((*itr)->getName()); 353 } 354 } 355 } 356 357 osgEarth::MaskLayer *getTerrainMaskLayerByName(const std::string& name) 358 { 359 if (!_map.valid()) 360 return NULL; 361 362 osgEarth::MaskLayerVector layerVector; 363 _map->getTerrainMaskLayers(layerVector); 364 osgEarth::MaskLayerVector::iterator itr; 365 for (itr = layerVector.begin(); itr != layerVector.end(); ++itr) { 366 if ((*itr)->getName() == name) { 367 return (*itr).get(); 368 } 369 } 370 return NULL; 371 } 372 373 void addTerrainMaskLayer(const char *name, 374 osgEarth::MaskSourceOptions& opts, 375 unsigned int minLOD = 0); 376 377 void removeTerrainMaskLayer(const char *name); 331 378 332 379 // Model layers
Note: See TracChangeset
for help on using the changeset viewer.