| 1540 | | ImageData& imageData = imageSet._layerSetImageDataMap.begin()->second; |
|---|
| 1541 | | if (imageData._imageDestination.valid() && imageData._imageDestination->_image.valid()) |
|---|
| 1542 | | { |
|---|
| 1543 | | osg::Image* image = imageData._imageDestination->_image.get(); |
|---|
| 1544 | | |
|---|
| 1545 | | osgTerrain::ImageLayer* imageLayer = new osgTerrain::ImageLayer; |
|---|
| 1546 | | imageLayer->setImage(image); |
|---|
| 1547 | | imageLayer->setLocator(locator); |
|---|
| 1548 | | |
|---|
| 1549 | | terrainTile->setColorLayer(layerNum, imageLayer); |
|---|
| | 1540 | if (imageSet._layerSetImageDataMap.size()>1 || |
|---|
| | 1541 | !(imageSet._layerSetImageDataMap.begin()->first.empty())) |
|---|
| | 1542 | { |
|---|
| | 1543 | log(osg::NOTICE,"Have optional layers = %i",imageSet._layerSetImageDataMap.size()); |
|---|
| | 1544 | osgTerrain::SwitchLayer* switchLayer = new osgTerrain::SwitchLayer; |
|---|
| | 1545 | for(ImageSet::LayerSetImageDataMap::iterator litr = imageSet._layerSetImageDataMap.begin(); |
|---|
| | 1546 | litr != imageSet._layerSetImageDataMap.end(); |
|---|
| | 1547 | ++litr) |
|---|
| | 1548 | { |
|---|
| | 1549 | ImageData& imageData = litr->second; |
|---|
| | 1550 | if (imageData._imageDestination.valid() && imageData._imageDestination->_image.valid()) |
|---|
| | 1551 | { |
|---|
| | 1552 | osg::Image* image = imageData._imageDestination->_image.get(); |
|---|
| | 1553 | |
|---|
| | 1554 | osgTerrain::ImageLayer* imageLayer = new osgTerrain::ImageLayer; |
|---|
| | 1555 | imageLayer->setImage(image); |
|---|
| | 1556 | imageLayer->setSetName(litr->first); |
|---|
| | 1557 | imageLayer->setLocator(locator); |
|---|
| | 1558 | |
|---|
| | 1559 | switchLayer->addLayer(imageLayer); |
|---|
| | 1560 | |
|---|
| | 1561 | } |
|---|
| | 1562 | } |
|---|
| | 1563 | terrainTile->setColorLayer(layerNum, switchLayer); |
|---|
| | 1564 | } |
|---|
| | 1565 | else |
|---|
| | 1566 | { |
|---|
| | 1567 | ImageData& imageData = imageSet._layerSetImageDataMap.begin()->second; |
|---|
| | 1568 | if (imageData._imageDestination.valid() && imageData._imageDestination->_image.valid()) |
|---|
| | 1569 | { |
|---|
| | 1570 | osg::Image* image = imageData._imageDestination->_image.get(); |
|---|
| | 1571 | |
|---|
| | 1572 | osgTerrain::ImageLayer* imageLayer = new osgTerrain::ImageLayer; |
|---|
| | 1573 | imageLayer->setImage(image); |
|---|
| | 1574 | imageLayer->setLocator(locator); |
|---|
| | 1575 | |
|---|
| | 1576 | terrainTile->setColorLayer(layerNum, imageLayer); |
|---|
| | 1577 | } |
|---|