diff --git a/src/osgWrappers/osg/Geode.cpp b/src/osgWrappers/osg/Geode.cpp index 9eac5b8ff..89da762eb 100644 --- a/src/osgWrappers/osg/Geode.cpp +++ b/src/osgWrappers/osg/Geode.cpp @@ -70,6 +70,16 @@ BEGIN_OBJECT_REFLECTOR(osg::Geode) __void__accept__osg_NodeVisitor_R1, "Visitor Pattern : calls the apply method of a NodeVisitor with this node's type. ", ""); + I_Method0(osg::Geode *, asGeode, + Properties::VIRTUAL, + __Geode_P1__asGeode, + "Convert 'this' into a Geode pointer if Node is a Geode, otherwise return 0. ", + "Equivalent to dynamic_cast(this). "); + I_Method0(const osg::Geode *, asGeode, + Properties::VIRTUAL, + __C5_Geode_P1__asGeode, + "convert 'const this' into a const Geode pointer if Node is a Geode, otherwise return 0. ", + "Equivalent to dynamic_cast(this). "); I_Method1(bool, addDrawable, IN, osg::Drawable *, drawable, Properties::VIRTUAL, __bool__addDrawable__Drawable_P1, diff --git a/src/osgWrappers/osg/Image.cpp b/src/osgWrappers/osg/Image.cpp index 15686194b..015dfa39f 100644 --- a/src/osgWrappers/osg/Image.cpp +++ b/src/osgWrappers/osg/Image.cpp @@ -380,16 +380,16 @@ BEGIN_OBJECT_REFLECTOR(osg::Image) __void__update__NodeVisitor_P1, "", ""); - I_Method3(void, sendPointerEvent, IN, int, x, IN, int, y, IN, int, buttonMask, + I_Method3(bool, sendPointerEvent, IN, int, x, IN, int, y, IN, int, buttonMask, Properties::VIRTUAL, - __void__sendPointerEvent__int__int__int, + __bool__sendPointerEvent__int__int__int, "method for sending pointer events to images that are acting as front ends to interactive surfaces such as a vnc or browser window. ", - ""); - I_Method2(void, sendKeyEvent, IN, int, key, IN, bool, keyDown, + "Return true if handled. "); + I_Method2(bool, sendKeyEvent, IN, int, key, IN, bool, keyDown, Properties::VIRTUAL, - __void__sendKeyEvent__int__bool, + __bool__sendKeyEvent__int__bool, "method for sending key events to images that are acting as front ends to interactive surfaces such as a vnc or browser window. ", - ""); + "Return true if handled. "); I_Method1(void, setFrameLastRendered, IN, const osg::FrameStamp *, frameStamp, Properties::VIRTUAL, __void__setFrameLastRendered__C5_osg_FrameStamp_P1, diff --git a/src/osgWrappers/osg/Node.cpp b/src/osgWrappers/osg/Node.cpp index 23a594cea..b0ab9cd9f 100644 --- a/src/osgWrappers/osg/Node.cpp +++ b/src/osgWrappers/osg/Node.cpp @@ -12,6 +12,7 @@ #include #include +#include #include #include #include @@ -19,6 +20,7 @@ #include #include #include +#include #include // Must undefine IN and OUT macros defined in Windows headers @@ -90,6 +92,26 @@ BEGIN_OBJECT_REFLECTOR(osg::Node) __C5_Transform_P1__asTransform, "convert 'const this' into a const Transform pointer if Node is a Transform, otherwise return 0. ", "Equivalent to dynamic_cast(this). "); + I_Method0(osg::Switch *, asSwitch, + Properties::VIRTUAL, + __Switch_P1__asSwitch, + "Convert 'this' into a Switch pointer if Node is a Switch, otherwise return 0. ", + "Equivalent to dynamic_cast(this). "); + I_Method0(const osg::Switch *, asSwitch, + Properties::VIRTUAL, + __C5_Switch_P1__asSwitch, + "convert 'const this' into a const Switch pointer if Node is a Switch, otherwise return 0. ", + "Equivalent to dynamic_cast(this). "); + I_Method0(osg::Geode *, asGeode, + Properties::VIRTUAL, + __Geode_P1__asGeode, + "Convert 'this' into a Geode pointer if Node is a Geode, otherwise return 0. ", + "Equivalent to dynamic_cast(this). "); + I_Method0(const osg::Geode *, asGeode, + Properties::VIRTUAL, + __C5_Geode_P1__asGeode, + "convert 'const this' into a const Geode pointer if Node is a Geode, otherwise return 0. ", + "Equivalent to dynamic_cast(this). "); I_Method1(void, accept, IN, osg::NodeVisitor &, nv, Properties::VIRTUAL, __void__accept__NodeVisitor_R1, @@ -155,6 +177,16 @@ BEGIN_OBJECT_REFLECTOR(osg::Node) __C5_NodeCallback_P1__getUpdateCallback, "Get const update node callback, called during update traversal. ", ""); + I_Method1(void, addUpdateCallback, IN, osg::NodeCallback *, nc, + Properties::NON_VIRTUAL, + __void__addUpdateCallback__NodeCallback_P1, + "Convenience method that sets the update callback of the node if it doesn't exist, or nest it into the existing one. ", + ""); + I_Method1(void, removeUpdateCallback, IN, osg::NodeCallback *, nc, + Properties::NON_VIRTUAL, + __void__removeUpdateCallback__NodeCallback_P1, + "Convenience method that removes a given callback from a node, even if that callback is nested. ", + "There is no error return in case the given callback is not found. "); I_Method0(unsigned int, getNumChildrenRequiringUpdateTraversal, Properties::NON_VIRTUAL, __unsigned_int__getNumChildrenRequiringUpdateTraversal, @@ -163,18 +195,28 @@ BEGIN_OBJECT_REFLECTOR(osg::Node) I_Method1(void, setEventCallback, IN, osg::NodeCallback *, nc, Properties::NON_VIRTUAL, __void__setEventCallback__NodeCallback_P1, - "Set update node callback, called during update traversal. ", + "Set event node callback, called during event traversal. ", ""); I_Method0(osg::NodeCallback *, getEventCallback, Properties::NON_VIRTUAL, __NodeCallback_P1__getEventCallback, - "Get update node callback, called during update traversal. ", + "Get event node callback, called during event traversal. ", ""); I_Method0(const osg::NodeCallback *, getEventCallback, Properties::NON_VIRTUAL, __C5_NodeCallback_P1__getEventCallback, - "Get const update node callback, called during update traversal. ", + "Get const event node callback, called during event traversal. ", ""); + I_Method1(void, addEventCallback, IN, osg::NodeCallback *, nc, + Properties::NON_VIRTUAL, + __void__addEventCallback__NodeCallback_P1, + "Convenience method that sets the event callback of the node if it doesn't exist, or nest it into the existing one. ", + ""); + I_Method1(void, removeEventCallback, IN, osg::NodeCallback *, nc, + Properties::NON_VIRTUAL, + __void__removeEventCallback__NodeCallback_P1, + "Convenience method that removes a given callback from a node, even if that callback is nested. ", + "There is no error return in case the given callback is not found. "); I_Method0(unsigned int, getNumChildrenRequiringEventTraversal, Properties::NON_VIRTUAL, __unsigned_int__getNumChildrenRequiringEventTraversal, @@ -195,6 +237,16 @@ BEGIN_OBJECT_REFLECTOR(osg::Node) __C5_NodeCallback_P1__getCullCallback, "Get const cull node callback, called during cull traversal. ", ""); + I_Method1(void, addCullCallback, IN, osg::NodeCallback *, nc, + Properties::NON_VIRTUAL, + __void__addCullCallback__NodeCallback_P1, + "Convenience method that sets the cull callback of the node if it doesn't exist, or nest it into the existing one. ", + ""); + I_Method1(void, removeCullCallback, IN, osg::NodeCallback *, nc, + Properties::NON_VIRTUAL, + __void__removeCullCallback__NodeCallback_P1, + "Convenience method that removes a given callback from a node, even if that callback is nested. ", + "There is no error return in case the given callback is not found. "); I_Method1(void, setCullingActive, IN, bool, active, Properties::NON_VIRTUAL, __void__setCullingActive__bool, diff --git a/src/osgWrappers/osg/Switch.cpp b/src/osgWrappers/osg/Switch.cpp index 015e94955..7af94c4e8 100644 --- a/src/osgWrappers/osg/Switch.cpp +++ b/src/osgWrappers/osg/Switch.cpp @@ -37,6 +37,16 @@ BEGIN_OBJECT_REFLECTOR(osg::Switch) ____Switch__C5_Switch_R1__C5_CopyOp_R1, "Copy constructor using CopyOp to manage deep vs shallow copy. ", ""); + I_Method0(osg::Switch *, asSwitch, + Properties::VIRTUAL, + __Switch_P1__asSwitch, + "Convert 'this' into a Switch pointer if Node is a Switch, otherwise return 0. ", + "Equivalent to dynamic_cast(this). "); + I_Method0(const osg::Switch *, asSwitch, + Properties::VIRTUAL, + __C5_Switch_P1__asSwitch, + "convert 'const this' into a const Switch pointer if Node is a Switch, otherwise return 0. ", + "Equivalent to dynamic_cast(this). "); I_Method0(osg::Object *, cloneType, Properties::VIRTUAL, __osg_Object_P1__cloneType, diff --git a/src/osgWrappers/osgViewer/View.cpp b/src/osgWrappers/osgViewer/View.cpp index 9f23e609f..fbe18975c 100644 --- a/src/osgWrappers/osgViewer/View.cpp +++ b/src/osgWrappers/osgViewer/View.cpp @@ -301,9 +301,9 @@ BEGIN_OBJECT_REFLECTOR(osgViewer::View) __bool__computeIntersections__float__float__osgUtil_LineSegmentIntersector_Intersections_R1__osg_Node_NodeMask, "Compute intersections between a ray through the specified master cameras window/eye coords and a specified node. ", "Note, when a master cameras has slaves and no viewport itself its coordinate frame will be in clip space i.e. -1,-1 to 1,1, while if its has a viewport the coordintates will be relative to its viewport dimensions. Mouse events handled by the view will automatically be attached into the master camera window/clip coords so can be passed directly on to the computeIntersections method. "); - I_MethodWithDefaults5(bool, computeIntersections, IN, float, x, , IN, float, y, , IN, osg::NodePath &, nodePath, , IN, osgUtil::LineSegmentIntersector::Intersections &, intersections, , IN, osg::Node::NodeMask, traversalMask, 0xffffffff, + I_MethodWithDefaults5(bool, computeIntersections, IN, float, x, , IN, float, y, , IN, const osg::NodePath &, nodePath, , IN, osgUtil::LineSegmentIntersector::Intersections &, intersections, , IN, osg::Node::NodeMask, traversalMask, 0xffffffff, Properties::NON_VIRTUAL, - __bool__computeIntersections__float__float__osg_NodePath_R1__osgUtil_LineSegmentIntersector_Intersections_R1__osg_Node_NodeMask, + __bool__computeIntersections__float__float__C5_osg_NodePath_R1__osgUtil_LineSegmentIntersector_Intersections_R1__osg_Node_NodeMask, "Compute intersections between a ray through the specified master cameras window/eye coords and a specified nodePath's subgraph. ", ""); I_Method0(void, requestRedraw, diff --git a/src/osgWrappers/osgWidget/Browser.cpp b/src/osgWrappers/osgWidget/Browser.cpp index 09cb97ad9..ca33fd669 100644 --- a/src/osgWrappers/osgWidget/Browser.cpp +++ b/src/osgWrappers/osgWidget/Browser.cpp @@ -11,6 +11,7 @@ #include #include +#include // Must undefine IN and OUT macros defined in Windows headers #ifdef IN @@ -20,6 +21,33 @@ #undef OUT #endif +BEGIN_OBJECT_REFLECTOR(osgWidget::Browser) + I_DeclaringFile("osgWidget/Browser"); + I_BaseType(osg::Geode); + I_Constructor0(____Browser, + "", + ""); + I_ConstructorWithDefaults2(IN, const std::string &, url, , IN, const osgWidget::GeometryHints &, hints, osgWidget::GeometryHints(), + ____Browser__C5_std_string_R1__C5_GeometryHints_R1, + "", + ""); + I_MethodWithDefaults2(bool, assign, IN, osgWidget::BrowserImage *, browserImage, , IN, const osgWidget::GeometryHints &, hints, osgWidget::GeometryHints(), + Properties::NON_VIRTUAL, + __bool__assign__BrowserImage_P1__C5_GeometryHints_R1, + "", + ""); + I_MethodWithDefaults2(bool, open, IN, const std::string &, url, , IN, const osgWidget::GeometryHints &, hints, osgWidget::GeometryHints(), + Properties::NON_VIRTUAL, + __bool__open__C5_std_string_R1__C5_GeometryHints_R1, + "", + ""); + I_Method1(void, navigateTo, IN, const std::string &, url, + Properties::NON_VIRTUAL, + __void__navigateTo__C5_std_string_R1, + "", + ""); +END_REFLECTOR + BEGIN_ABSTRACT_OBJECT_REFLECTOR(osgWidget::BrowserImage) I_DeclaringFile("osgWidget/Browser"); I_BaseType(osg::Image); @@ -51,11 +79,6 @@ BEGIN_OBJECT_REFLECTOR(osgWidget::BrowserManager) __C5_std_string_R1__getApplication, "", ""); - I_Method1(osgWidget::BrowserImage *, createBrowserImage, IN, const std::string &, url, - Properties::VIRTUAL, - __BrowserImage_P1__createBrowserImage__C5_std_string_R1, - "", - ""); I_Method3(osgWidget::BrowserImage *, createBrowserImage, IN, const std::string &, url, IN, int, width, IN, int, height, Properties::VIRTUAL, __BrowserImage_P1__createBrowserImage__C5_std_string_R1__int__int,