Added asView() method to GUIActionAdapter to help out with .NET wrappers. Updated wrappers

This commit is contained in:
Robert Osfield 2007-10-04 11:20:18 +00:00
parent 146c140be1
commit b62716d679
4 changed files with 25 additions and 2 deletions

View File

@ -15,6 +15,7 @@
#define OSGGA_GUIACTIONADAPTER 1
#include <osgGA/Export>
#include <osg/View>
namespace osgGA{
@ -56,6 +57,10 @@ class GUIActionAdapter
public:
virtual ~GUIActionAdapter() {}
/** Provide a mechanism for getting the osg::View assocaited with this GUIActionAdapter.
* One would use this to case view to osgViewer::View(er) if supported by the subclass.*/
virtual osg::View* asView() { return 0; }
/**
requestRedraw() requests a single redraw.
*/

View File

@ -41,6 +41,13 @@ class OSGVIEWER_EXPORT View : public osg::View, public osgGA::GUIActionAdapter
META_Object(osgViewer,View);
/** Provide a mechanism for getting the osg::View assocaited from the GUIActionAdapter.
* One would use this to case view to osgViewer::View(er) if supported by the subclass.*/
virtual osg::View* asView() { return this; }
/** Provide a mechanism for getting the viewer object from this osgViewer::View.
* In the case of a osgViewer::Viewer the ViewerBase will effectively point to this object as Viewer subclasses from View.
* In the case of a osgViewer::CompsoiteViewer the ViewerBase will point to the CompositeViewer that owns this View. */
ViewerBase* getViewerBase() { return _viewerBase.get(); }
/** Take all the settings, Camera and Slaves from the passed in view, leaving it empty. */

View File

@ -10,6 +10,7 @@
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/View>
#include <osgGA/GUIActionAdapter>
// Must undefine IN and OUT macros defined in Windows headers
@ -25,6 +26,11 @@ BEGIN_ABSTRACT_OBJECT_REFLECTOR(osgGA::GUIActionAdapter)
I_Constructor0(____GUIActionAdapter,
"",
"");
I_Method0(osg::View *, asView,
Properties::VIRTUAL,
__osg_View_P1__asView,
"Provide a mechanism for getting the osg::View assocaited with this GUIActionAdapter. ",
"One would use this to case view to osgViewer::View(er) if supported by the subclass. ");
I_Method0(void, requestRedraw,
Properties::PURE_VIRTUAL,
__void__requestRedraw,

View File

@ -75,11 +75,16 @@ BEGIN_OBJECT_REFLECTOR(osgViewer::View)
__C5_char_P1__className,
"return the name of the object's class type. ",
"Must be defined by derived classes. ");
I_Method0(osg::View *, asView,
Properties::VIRTUAL,
__osg_View_P1__asView,
"Provide a mechanism for getting the osg::View assocaited from the GUIActionAdapter. ",
"One would use this to case view to osgViewer::View(er) if supported by the subclass. ");
I_Method0(osgViewer::ViewerBase *, getViewerBase,
Properties::NON_VIRTUAL,
__ViewerBase_P1__getViewerBase,
"",
"");
"Provide a mechanism for getting the viewer object from this osgViewer::View. ",
"In the case of a osgViewer::Viewer the ViewerBase will effectively point to this object as Viewer subclasses from View. In the case of a osgViewer::CompsoiteViewer the ViewerBase will point to the CompositeViewer that owns this View. ");
I_Method1(void, take, IN, osg::View &, rhs,
Properties::VIRTUAL,
__void__take__osg_View_R1,