Hello, I am curious to know if anyone have experience with how to make osgWidget work together with a CompositeViewer, before I try and examine the implementation in depth. I have not found anything on the forum, except for a statement saying that "it's definitely supported" (from the author I believe). I have a CompositeViewer with two views (osgViewer::View objects). They are drawing into two separate windows. I am creating an osgWidget::WindowManager, to which I provide one of my views. I then create a simple box widget, which renders in the correct position. When I resize the window, everything adjusts as expected. However, when I resize the other (non-related) window corresponding to view number 2, the widget in the first view's window scales and gets partly invisible. Is there anything that easily can be done to avoid this relation?
Regards, Linus I post the example code for clarity: const unsigned int MASK_3D = 0x0F000000; osgViewer::CompositeViewer* viewer = new osgViewer::CompositeViewer; // view one osgViewer::View* view1 = new osgViewer::View; view1->setName("View one"); viewer->addView(view1); osg::Node* model1 = osgDB::readNodeFile("spaceship.osg"); model1->setNodeMask(MASK_3D); view1->setUpViewInWindow(100, 100, 600, 400, 1); view1->setCameraManipulator(new osgGA::TrackballManipulator); // view two osgViewer::View* view2 = new osgViewer::View; view2->setName("View two"); viewer->addView(view2); osg::Node* model2 = osgDB::readNodeFile("avatar.osg"); model2->setNodeMask(MASK_3D); view2->setUpViewInWindow(100, 100, 600, 400, 0); view2->setCameraManipulator(new osgGA::TrackballManipulator); osgWidget::WindowManager* wm = new osgWidget::WindowManager( view1, 600.0f, 400.0f, MASK_3D); osg::Camera* cameraHUD = wm->createParentOrthoCamera(); view1->addEventHandler(new osgWidget::MouseHandler(wm)); view1->addEventHandler(new osgWidget::ResizeHandler(wm, cameraHUD)); view1->addEventHandler(new osgWidget::CameraSwitchHandler(wm, cameraHUD)); view1->addEventHandler(new osgWidget::KeyboardHandler(wm)); osgWidget::Window* box1 = createBox("HBOX", osgWidget::Box::HORIZONTAL); box1->getBackground()->setColor(1.0f, 0.0f, 0.0f, 0.8f); box1->attachMoveCallback(); wm->addChild(box1); osg::Group* group1 = new osg::Group; group1->addChild(cameraHUD); group1->addChild(model1); osg::Group* group2 = new osg::Group; group2->addChild(model2); view1->setSceneData(group1); view2->setSceneData(group2); return viewer->run(); _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org