Added Camera::g/setIntialDrawCallback and g/setFinalDrawCallback(), and added

screen snapshot example code to osghud.
This commit is contained in:
Robert Osfield
2008-02-29 15:25:57 +00:00
parent ca513efc1d
commit aa43b3c8a6
9 changed files with 247 additions and 21 deletions

View File

@@ -24,6 +24,7 @@
#include <osg/NodeVisitor>
#include <osg/Object>
#include <osg/OperationThread>
#include <osg/RenderInfo>
#include <osg/State>
#include <osg/Stats>
#include <osg/Texture>
@@ -507,10 +508,25 @@ BEGIN_OBJECT_REFLECTOR(osg::Camera)
__C5_osg_Object_P1__getRenderingCache,
"Get the const Rendering cache that is used for cached objects associated with rendering of subgraphs. ",
"");
I_Method1(void, setIntialDrawCallback, IN, osg::Camera::DrawCallback *, cb,
Properties::NON_VIRTUAL,
__void__setIntialDrawCallback__DrawCallback_P1,
"Set the initial draw callback for custom operations to be done before the drawing of the camera's subgraph and pre render stages. ",
"");
I_Method0(osg::Camera::DrawCallback *, getInitialDrawCallback,
Properties::NON_VIRTUAL,
__DrawCallback_P1__getInitialDrawCallback,
"Get the initial draw callback. ",
"");
I_Method0(const osg::Camera::DrawCallback *, getUnitialDrawCallback,
Properties::NON_VIRTUAL,
__C5_DrawCallback_P1__getUnitialDrawCallback,
"Get the const initial draw callback. ",
"");
I_Method1(void, setPreDrawCallback, IN, osg::Camera::DrawCallback *, cb,
Properties::NON_VIRTUAL,
__void__setPreDrawCallback__DrawCallback_P1,
"Set the pre draw callback for custom operations to be done before the drawing of the camera's subgraph has been completed. ",
"Set the pre draw callback for custom operations to be done before the drawing of the camera's subgraph but after any pre render stages have been completed. ",
"");
I_Method0(osg::Camera::DrawCallback *, getPreDrawCallback,
Properties::NON_VIRTUAL,
@@ -525,7 +541,7 @@ BEGIN_OBJECT_REFLECTOR(osg::Camera)
I_Method1(void, setPostDrawCallback, IN, osg::Camera::DrawCallback *, cb,
Properties::NON_VIRTUAL,
__void__setPostDrawCallback__DrawCallback_P1,
"Set the post draw callback for custom operations to be done after the drawing of the camera's subgraph has been completed. ",
"Set the post draw callback for custom operations to be done after the drawing of the camera's subgraph but before the any post render stages have been completed. ",
"");
I_Method0(osg::Camera::DrawCallback *, getPostDrawCallback,
Properties::NON_VIRTUAL,
@@ -537,6 +553,21 @@ BEGIN_OBJECT_REFLECTOR(osg::Camera)
__C5_DrawCallback_P1__getPostDrawCallback,
"Get the const post draw callback. ",
"");
I_Method1(void, setFinalDrawCallback, IN, osg::Camera::DrawCallback *, cb,
Properties::NON_VIRTUAL,
__void__setFinalDrawCallback__DrawCallback_P1,
"Set the final draw callback for custom operations to be done after the drawing of the camera's subgraph and all of the post render stages has been completed. ",
"");
I_Method0(osg::Camera::DrawCallback *, getFinalDrawCallback,
Properties::NON_VIRTUAL,
__DrawCallback_P1__getFinalDrawCallback,
"Get the final draw callback. ",
"");
I_Method0(const osg::Camera::DrawCallback *, getFinalDrawCallback,
Properties::NON_VIRTUAL,
__C5_DrawCallback_P1__getFinalDrawCallback,
"Get the const final draw callback. ",
"");
I_Method0(OpenThreads::Mutex *, getDataChangeMutex,
Properties::NON_VIRTUAL,
__OpenThreads_Mutex_P1__getDataChangeMutex,
@@ -589,9 +620,18 @@ BEGIN_OBJECT_REFLECTOR(osg::Camera)
I_SimpleProperty(GLenum, DrawBuffer,
__GLenum__getDrawBuffer,
__void__setDrawBuffer__GLenum);
I_SimpleProperty(osg::Camera::DrawCallback *, FinalDrawCallback,
__DrawCallback_P1__getFinalDrawCallback,
__void__setFinalDrawCallback__DrawCallback_P1);
I_SimpleProperty(osg::GraphicsContext *, GraphicsContext,
__GraphicsContext_P1__getGraphicsContext,
__void__setGraphicsContext__GraphicsContext_P1);
I_SimpleProperty(osg::Camera::DrawCallback *, InitialDrawCallback,
__DrawCallback_P1__getInitialDrawCallback,
0);
I_SimpleProperty(osg::Camera::DrawCallback *, IntialDrawCallback,
0,
__void__setIntialDrawCallback__DrawCallback_P1);
I_SimpleProperty(osg::Matrixd, InverseViewMatrix,
__Matrixd__getInverseViewMatrix,
0);
@@ -634,6 +674,9 @@ BEGIN_OBJECT_REFLECTOR(osg::Camera)
I_SimpleProperty(osg::Camera::TransformOrder, TransformOrder,
__TransformOrder__getTransformOrder,
__void__setTransformOrder__TransformOrder);
I_SimpleProperty(const osg::Camera::DrawCallback *, UnitialDrawCallback,
__C5_DrawCallback_P1__getUnitialDrawCallback,
0);
I_SimpleProperty(osg::View *, View,
__View_P1__getView,
__void__setView__View_P1);

View File

@@ -332,8 +332,8 @@ BEGIN_VALUE_REFLECTOR(osg::Matrixd)
I_Method0(osg::Quat, getRotate,
Properties::NON_VIRTUAL,
__Quat__getRotate,
"",
"");
"Get the matrix rotation as a Quat. ",
"Note that this function assumes a non-scaled matrix and will return incorrect results for scaled matrixces. Consider decompose() instead. ");
I_Method3(void, setTrans, IN, osg::Matrixd::value_type, tx, IN, osg::Matrixd::value_type, ty, IN, osg::Matrixd::value_type, tz,
Properties::NON_VIRTUAL,
__void__setTrans__value_type__value_type__value_type,

View File

@@ -332,8 +332,8 @@ BEGIN_VALUE_REFLECTOR(osg::Matrixf)
I_Method0(osg::Quat, getRotate,
Properties::NON_VIRTUAL,
__Quat__getRotate,
"",
"");
"Get the matrix rotation as a Quat. ",
"Note that this function assumes a non-scaled matrix and will return incorrect results for scaled matrixces. Consider decompose() instead. ");
I_Method3(void, setTrans, IN, osg::Matrixf::value_type, tx, IN, osg::Matrixf::value_type, ty, IN, osg::Matrixf::value_type, tz,
Properties::NON_VIRTUAL,
__void__setTrans__value_type__value_type__value_type,

View File

@@ -105,6 +105,50 @@ BEGIN_OBJECT_REFLECTOR(osgViewer::HelpHandler)
__void__setKeyEventTogglesOnScreenHelp__int);
END_REFLECTOR
BEGIN_OBJECT_REFLECTOR(osgViewer::LODScaleHandler)
I_DeclaringFile("osgViewer/ViewerEventHandlers");
I_BaseType(osgGA::GUIEventHandler);
I_Constructor0(____LODScaleHandler,
"",
"");
I_Method1(void, setKeyEventIncreaseLODScale, IN, int, key,
Properties::NON_VIRTUAL,
__void__setKeyEventIncreaseLODScale__int,
"",
"");
I_Method0(int, getKeyEventIncreaseLODScale,
Properties::NON_VIRTUAL,
__int__getKeyEventIncreaseLODScale,
"",
"");
I_Method1(void, setKeyEventDecreaseLODScale, IN, int, key,
Properties::NON_VIRTUAL,
__void__setKeyEventDecreaseLODScale__int,
"",
"");
I_Method0(int, getKeyEventDecreaseLODScale,
Properties::NON_VIRTUAL,
__int__getKeyEventDecreaseLODScale,
"",
"");
I_Method2(bool, handle, IN, const osgGA::GUIEventAdapter &, ea, IN, osgGA::GUIActionAdapter &, aa,
Properties::VIRTUAL,
__bool__handle__C5_osgGA_GUIEventAdapter_R1__osgGA_GUIActionAdapter_R1,
"Deprecated, Handle events, return true if handled, false otherwise. ",
"");
I_Method1(void, getUsage, IN, osg::ApplicationUsage &, usage,
Properties::VIRTUAL,
__void__getUsage__osg_ApplicationUsage_R1,
"Get the keyboard and mouse usage of this manipulator. ",
"");
I_SimpleProperty(int, KeyEventDecreaseLODScale,
__int__getKeyEventDecreaseLODScale,
__void__setKeyEventDecreaseLODScale__int);
I_SimpleProperty(int, KeyEventIncreaseLODScale,
__int__getKeyEventIncreaseLODScale,
__void__setKeyEventIncreaseLODScale__int);
END_REFLECTOR
BEGIN_OBJECT_REFLECTOR(osgViewer::RecordCameraPathHandler)
I_DeclaringFile("osgViewer/ViewerEventHandlers");
I_BaseType(osgGA::GUIEventHandler);