- Timestamp:
- Aug 30, 2016 10:04:22 PM (8 years ago)
- Location:
- geovis/trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
geovis/trunk/Renderer.cpp
r6509 r6511 2555 2555 } 2556 2556 TRACE("Image layer %s srs: %s extent: %g %g %g %g", 2557 name, ext.getSRS() ? ext.getSRS()->getName().c_str() : "nil",2558 ext.xMin(), ext.yMin(), ext.xMax(), ext.yMax());2557 name, ext.getSRS() ? ext.getSRS()->getName().c_str() : "nil", 2558 ext.xMin(), ext.yMin(), ext.xMax(), ext.yMax()); 2559 2559 return true; 2560 2560 } … … 2580 2580 } 2581 2581 TRACE("Elevation Layer %s srs: %s extent: %g %g %g %g", 2582 name, ext.getSRS() ? ext.getSRS()->getName().c_str() : "nil",2583 ext.xMin(), ext.yMin(), ext.xMax(), ext.yMax());2582 name, ext.getSRS() ? ext.getSRS()->getName().c_str() : "nil", 2583 ext.xMin(), ext.yMin(), ext.xMax(), ext.yMax()); 2584 2584 return true; 2585 2585 } 2586 2586 } else { 2587 2587 TRACE("Elevation layer not found: %s", name); 2588 } 2589 return false; 2590 } 2591 2592 bool Renderer::getTerrainMaskLayerExtent(const char *name, osgEarth::GeoExtent &ext) 2593 { 2594 if (!_map.valid()) { 2595 ERROR("No map"); 2596 return false; 2597 } 2598 osgEarth::MaskLayer *layer = getTerrainMaskLayerByName(name); 2599 if (layer != NULL) { 2600 const osgEarth::SpatialReference *srs = getMapSRS(); 2601 osgEarth::GeoExtent newExt(srs); 2602 osg::Vec3dArray *polypts = layer->getOrCreateMaskBoundary(1.0f, srs, NULL); 2603 if (polypts) { 2604 for (size_t i = 0; i < polypts->size(); i++) { 2605 osg::Vec3d pt = (*polypts)[i]; 2606 newExt.expandToInclude(pt); 2607 } 2608 } 2609 if (!newExt.isValid()) { 2610 ERROR("Couldn't find extent of layer %s", name); 2611 return false; 2612 } 2613 ext = newExt; 2614 TRACE("Mask Layer %s srs: %s extent: %g %g %g %g", 2615 name, ext.getSRS() ? ext.getSRS()->getName().c_str() : "nil", 2616 ext.xMin(), ext.yMin(), ext.xMax(), ext.yMax()); 2617 return true; 2618 } else { 2619 TRACE("Terrain mask layer not found: %s", name); 2588 2620 } 2589 2621 return false; … … 2612 2644 } 2613 2645 TRACE("Model Layer %s srs: %s extent: %g %g %g %g", 2614 name, ext.getSRS() ? ext.getSRS()->getName().c_str() : "nil",2615 ext.xMin(), ext.yMin(), ext.xMax(), ext.yMax());2646 name, ext.getSRS() ? ext.getSRS()->getName().c_str() : "nil", 2647 ext.xMin(), ext.yMin(), ext.xMax(), ext.yMax()); 2616 2648 return true; 2617 2649 } -
geovis/trunk/Renderer.h
r6509 r6511 251 251 } 252 252 253 void getImageLayerNames(std::vector<std::string>& names) 253 void getImageLayerNames(std::vector<std::string>& names) const 254 254 { 255 255 if (_map.valid()) { … … 299 299 } 300 300 301 void getElevationLayerNames(std::vector<std::string>& names) 301 void getElevationLayerNames(std::vector<std::string>& names) const 302 302 { 303 303 if (_map.valid()) { … … 377 377 void removeTerrainMaskLayer(const char *name); 378 378 379 bool getTerrainMaskLayerExtent(const char *name, osgEarth::GeoExtent &ext); 380 379 381 // Model layers 380 382 … … 384 386 } 385 387 386 void getModelLayerNames(std::vector<std::string>& names) 388 void getModelLayerNames(std::vector<std::string>& names) const 387 389 { 388 390 if (_map.valid()) { -
geovis/trunk/RendererCmd.cpp
r6510 r6511 606 606 return TCL_OK; 607 607 } else if (g_renderer->getElevationLayerExtent(name, ext)) { 608 g_renderer->setViewpointFromExtent(ext, duration); 609 return TCL_OK; 610 } else if (g_renderer->getTerrainMaskLayerExtent(name, ext)) { 608 611 g_renderer->setViewpointFromExtent(ext, duration); 609 612 return TCL_OK;
Note: See TracChangeset
for help on using the changeset viewer.