- canvas::WindowPtr window =
- boost::static_pointer_cast<canvas::Window>(element);
-
- size_t layer_index = std::max(0, window->getProps()->getIntValue("layer", 1));
- osg::Group *layer = 0;
-
- if( layer_index < _transform->getNumChildren() )
- {
- layer = _transform->getChild(layer_index)->asGroup();
- assert(layer);
- }
- else
- {
- while( _transform->getNumChildren() <= layer_index )
- {
- layer = new osg::Group;
- _transform->addChild(layer);
- }
- }
- window->getGroup()->setUserData(new WindowUserData(window));
- layer->addChild(window->getGroup());