Hi!<br><br>         I'm using the latest version of OSG (2.2) and yeah, the view is defined as a global variable. <br><br>         These are the global variables I have defined.<br><br>osg::BoundingBox* bb;<br>osgViewer::CompositeViewer viewer;
<br>osgViewer::View* topView;<br>osg::ref_ptr<osg::GraphicsContext> gc;<br>osg::ref_ptr<osg::GraphicsContext::Traits> traits;<br>         <br>         topView is the view I want to remove. It is added to viewer.
<br><br>                           thanks!<br><br>Bye<br>Sashidhar<br><br><div><span class="gmail_quote">On 10/19/07, <b class="gmail_sendername">Robert Osfield</b> <<a href="mailto:robert.osfield@gmail.com">robert.osfield@gmail.com
</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi Sashidhar,<br><br>Which version of the OSG are you using?  I did some work in the 
2.1.x<br>series to help make adding/removing views a bit more robust.<br><br>You call of viewer.frame() is something that you should drop as the<br>event handler you've written will be called from within frame, so you
<br>are in effect creating a loop that if one is not really careful will<br>result in problems such as an infinite loop.  The call itself should<br>be required as you are already within a frame.<br><br>Do you have any global references to the View that you are removing?
<br><br>Robert.<br><br>On 10/19/07, Sashidhar Guntury <<a href="mailto:sashidhar.moony@gmail.com">sashidhar.moony@gmail.com</a>> wrote:<br>> Hi!<br>><br>>           I'm using the composite viewer, to make a program wherein there
<br>> are two views of the entire scene. The main view is spread across the screen<br>> while the other view lies in a corner. I want the the smaller view to<br>> disappear when I click on it (left click.)  My handle function is --
<br>><br>>  bool handle(const osgGA::GUIEventAdapter& ea,osgGA::GUIActionAdapter& aa)<br>>     {<br>>         osgViewer::View* view =<br>> dynamic_cast<osgViewer::View*>(&aa);<br>>         if (!view) return false;
<br>><br>>         if (ea.getEventType() ==<br>> osgGA::GUIEventAdapter::RELEASE){<br>>                     viewer.removeView(topView);<br>>                     viewer.frame();<br>>                     cout << "Killed the map!!" << endl;
<br>>         }<br>>         return false;<br>>     }<br>><br>>                                        But when I click on<br>> the smaller view, it prints "Killed the map", but the view still remains
<br>> there. Why does it happen that way? Isn't viewer.frame() supposed to display<br>> a completely new, updated frame?<br>><br>>                                 thanks<br>><br>> Bye<br>> Sashidhar
<br>><br>> _______________________________________________<br>> osg-users mailing list<br>> <a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.openscenegraph.org</a><br>> <a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org">
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a><br>><br>><br>_______________________________________________<br>osg-users mailing list<br><a href="mailto:osg-users@lists.openscenegraph.org">
osg-users@lists.openscenegraph.org</a><br><a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a><br></blockquote></div>
<br>