void dirtyModelLayers() { ModelLayerVector modelLayers; s_activeMap->getLayers(modelLayers); for(unsigned i=0; i<modelLayers.size(); ++i) { ModelSource* ms = modelLayers.at(i)->getModelSource(); if ( ms ) { ms->dirty(); } else { OE_NOTICE << modelLayers.at(i)->getName() << " has no model source.\n"; } } }
void updateControlPanel() { // erase all child controls and just rebuild them b/c we're lazy. //Rebuild all the image layers s_activeBox->clearControls(); int row = 0; LabelControl* activeLabel = new LabelControl( "Map Layers", 20, osg::Vec4f(1,1,0,1) ); s_activeBox->setControl( 1, row++, activeLabel ); // the active map layers: LayerVector layers; s_activeMap->getLayers(layers); for (int i = layers.size()-1; i >= 0; --i) { Layer* layer = layers[i].get(); addLayerItem(s_activeBox, i, layers.size(), layer, true); if (layer->getStatus().isError()) { OE_WARN << layer->getName() << " : " << layer->getStatus().toString() << "\n"; } } // inactive layers: s_inactiveBox->clearControls(); if (!_inactive.empty()) { s_inactiveBox->setControl(0, row++, new LabelControl("Removed:", 18, osg::Vec4f(1,1,0,1))); for (InactiveLayers::const_iterator i = _inactive.begin(); i != _inactive.end(); ++i) { createInactiveLayerItem(s_inactiveBox, row++, i->first, i->second); } } s_inactiveBox->setVisible(!_inactive.empty()); }