diff --git a/src/osgWrappers/osgUtil/IntersectionVisitor.cpp b/src/osgWrappers/osgUtil/IntersectionVisitor.cpp new file mode 100644 index 000000000..58797ae53 --- /dev/null +++ b/src/osgWrappers/osgUtil/IntersectionVisitor.cpp @@ -0,0 +1,482 @@ +// *************************************************************************** +// +// Generated automatically by genwrapper. +// Please DO NOT EDIT this file! +// +// *************************************************************************** + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// Must undefine IN and OUT macros defined in Windows headers +#ifdef IN +#undef IN +#endif +#ifdef OUT +#undef OUT +#endif + +BEGIN_OBJECT_REFLECTOR(osgUtil::IntersectionVisitor) + I_BaseType(osg::NodeVisitor); + I_ConstructorWithDefaults2(IN, osgUtil::Intersector *, intersector, 0, IN, osgUtil::IntersectionVisitor::ReadCallback *, readCallback, 0, + ____IntersectionVisitor__Intersector_P1__ReadCallback_P1, + "", + ""); + I_Method0(void, reset, + __void__reset, + "Method to call to reset visitor. ", + "Useful if your visitor accumulates state during a traversal, and you plan to reuse the visitor. To flush that state for the next traversal: call reset() prior to each traversal. "); + I_Method1(void, setIntersector, IN, osgUtil::Intersector *, intersector, + __void__setIntersector__Intersector_P1, + "Set the intersector that will be used to intersect with the scene, and to store any hits that occur. ", + ""); + I_Method0(osgUtil::Intersector *, getIntersector, + __Intersector_P1__getIntersector, + "Get the intersector that will be used to intersect with the scene, and to store any hits that occur. ", + ""); + I_Method0(const osgUtil::Intersector *, getIntersector, + __C5_Intersector_P1__getIntersector, + "Get the const intersector that will be used to intersect with the scene, and to store any hits that occur. ", + ""); + I_Method1(void, setReadCallback, IN, osgUtil::IntersectionVisitor::ReadCallback *, rc, + __void__setReadCallback__ReadCallback_P1, + "Set the read callback. ", + ""); + I_Method0(osgUtil::IntersectionVisitor::ReadCallback *, getReadCallback, + __ReadCallback_P1__getReadCallback, + "Get the read callback. ", + ""); + I_Method0(const osgUtil::IntersectionVisitor::ReadCallback *, getReadCallback, + __C5_ReadCallback_P1__getReadCallback, + "Get the const read callback. ", + ""); + I_Method1(void, pushWindowMatrix, IN, osg::RefMatrix *, matrix, + __void__pushWindowMatrix__osg_RefMatrix_P1, + "", + ""); + I_Method1(void, pushWindowMatrix, IN, osg::Viewport *, viewport, + __void__pushWindowMatrix__osg_Viewport_P1, + "", + ""); + I_Method0(void, popWindowMatrix, + __void__popWindowMatrix, + "", + ""); + I_Method0(osg::RefMatrix *, getWindowMatrix, + __osg_RefMatrix_P1__getWindowMatrix, + "", + ""); + I_Method1(void, pushProjectionMatrix, IN, osg::RefMatrix *, matrix, + __void__pushProjectionMatrix__osg_RefMatrix_P1, + "", + ""); + I_Method0(void, popProjectionMatrix, + __void__popProjectionMatrix, + "", + ""); + I_Method0(osg::RefMatrix *, getProjectionMatrix, + __osg_RefMatrix_P1__getProjectionMatrix, + "", + ""); + I_Method1(void, pushViewMatrix, IN, osg::RefMatrix *, matrix, + __void__pushViewMatrix__osg_RefMatrix_P1, + "", + ""); + I_Method0(void, popViewMatrix, + __void__popViewMatrix, + "", + ""); + I_Method0(osg::RefMatrix *, getViewMatrix, + __osg_RefMatrix_P1__getViewMatrix, + "", + ""); + I_Method1(void, pushModelMatrix, IN, osg::RefMatrix *, matrix, + __void__pushModelMatrix__osg_RefMatrix_P1, + "", + ""); + I_Method0(void, popModelMatrix, + __void__popModelMatrix, + "", + ""); + I_Method0(osg::RefMatrix *, getModelMatrix, + __osg_RefMatrix_P1__getModelMatrix, + "", + ""); + I_Method1(void, apply, IN, osg::Node &, node, + __void__apply__osg_Node_R1, + "", + ""); + I_Method1(void, apply, IN, osg::Geode &, geode, + __void__apply__osg_Geode_R1, + "", + ""); + I_Method1(void, apply, IN, osg::Billboard &, geode, + __void__apply__osg_Billboard_R1, + "", + ""); + I_Method1(void, apply, IN, osg::Group &, group, + __void__apply__osg_Group_R1, + "", + ""); + I_Method1(void, apply, IN, osg::LOD &, lod, + __void__apply__osg_LOD_R1, + "", + ""); + I_Method1(void, apply, IN, osg::PagedLOD &, lod, + __void__apply__osg_PagedLOD_R1, + "", + ""); + I_Method1(void, apply, IN, osg::Transform &, transform, + __void__apply__osg_Transform_R1, + "", + ""); + I_Method1(void, apply, IN, osg::Projection &, projection, + __void__apply__osg_Projection_R1, + "", + ""); + I_Method1(void, apply, IN, osg::CameraNode &, camera, + __void__apply__osg_CameraNode_R1, + "", + ""); + I_SimpleProperty(osgUtil::Intersector *, Intersector, + __Intersector_P1__getIntersector, + __void__setIntersector__Intersector_P1); + I_SimpleProperty(osg::RefMatrix *, ModelMatrix, + __osg_RefMatrix_P1__getModelMatrix, + 0); + I_SimpleProperty(osg::RefMatrix *, ProjectionMatrix, + __osg_RefMatrix_P1__getProjectionMatrix, + 0); + I_SimpleProperty(osgUtil::IntersectionVisitor::ReadCallback *, ReadCallback, + __ReadCallback_P1__getReadCallback, + __void__setReadCallback__ReadCallback_P1); + I_SimpleProperty(osg::RefMatrix *, ViewMatrix, + __osg_RefMatrix_P1__getViewMatrix, + 0); + I_SimpleProperty(osg::RefMatrix *, WindowMatrix, + __osg_RefMatrix_P1__getWindowMatrix, + 0); +END_REFLECTOR + +BEGIN_ABSTRACT_OBJECT_REFLECTOR(osgUtil::IntersectionVisitor::ReadCallback) + I_BaseType(osg::Referenced); + I_Constructor0(____ReadCallback, + "", + ""); + I_Method1(osg::Node *, readNodeFile, IN, const std::string &, filename, + __osg_Node_P1__readNodeFile__C5_std_string_R1, + "", + ""); +END_REFLECTOR + +BEGIN_ENUM_REFLECTOR(osgUtil::Intersector::CoordinateFrame) + I_EnumLabel(osgUtil::Intersector::WINDOW); + I_EnumLabel(osgUtil::Intersector::PROJECTION); + I_EnumLabel(osgUtil::Intersector::VIEW); + I_EnumLabel(osgUtil::Intersector::MODEL); +END_REFLECTOR + +BEGIN_ABSTRACT_OBJECT_REFLECTOR(osgUtil::Intersector) + I_BaseType(osg::Referenced); + I_ConstructorWithDefaults1(IN, osgUtil::Intersector::CoordinateFrame, cf, osgUtil::Intersector::MODEL, + ____Intersector__CoordinateFrame, + "", + ""); + I_Method1(void, setCoordinateFrame, IN, osgUtil::Intersector::CoordinateFrame, cf, + __void__setCoordinateFrame__CoordinateFrame, + "", + ""); + I_Method0(osgUtil::Intersector::CoordinateFrame, getCoordinateFrame, + __CoordinateFrame__getCoordinateFrame, + "", + ""); + I_Method1(osgUtil::Intersector *, clone, IN, osgUtil::IntersectionVisitor &, iv, + __Intersector_P1__clone__osgUtil_IntersectionVisitor_R1, + "", + ""); + I_Method1(bool, enter, IN, const osg::Node &, node, + __bool__enter__C5_osg_Node_R1, + "", + ""); + I_Method0(void, leave, + __void__leave, + "", + ""); + I_Method2(void, intersect, IN, osgUtil::IntersectionVisitor &, iv, IN, osg::Drawable *, drawable, + __void__intersect__osgUtil_IntersectionVisitor_R1__osg_Drawable_P1, + "", + ""); + I_Method0(void, reset, + __void__reset, + "", + ""); + I_Method0(bool, containsIntersections, + __bool__containsIntersections, + "", + ""); + I_Method0(bool, disabled, + __bool__disabled, + "", + ""); + I_Method0(void, incrementDisabledCount, + __void__incrementDisabledCount, + "", + ""); + I_Method0(void, decrementDisabledCount, + __void__decrementDisabledCount, + "", + ""); + I_SimpleProperty(osgUtil::Intersector::CoordinateFrame, CoordinateFrame, + __CoordinateFrame__getCoordinateFrame, + __void__setCoordinateFrame__CoordinateFrame); +END_REFLECTOR + +TYPE_NAME_ALIAS(std::vector< osg::ref_ptr< osgUtil::Intersector > >, osgUtil::IntersectorGroup::Intersectors); + +BEGIN_OBJECT_REFLECTOR(osgUtil::IntersectorGroup) + I_BaseType(osgUtil::Intersector); + I_Constructor0(____IntersectorGroup, + "", + ""); + I_Method1(void, addIntersector, IN, osgUtil::Intersector *, intersector, + __void__addIntersector__Intersector_P1, + "Add an Intersector. ", + ""); + I_Method0(osgUtil::IntersectorGroup::Intersectors &, getIntersectors, + __Intersectors_R1__getIntersectors, + "Get the list of intersector. ", + ""); + I_Method0(void, clear, + __void__clear, + "Clear the list of intersectors. ", + ""); + I_Method1(osgUtil::Intersector *, clone, IN, osgUtil::IntersectionVisitor &, iv, + __Intersector_P1__clone__osgUtil_IntersectionVisitor_R1, + "", + ""); + I_Method1(bool, enter, IN, const osg::Node &, node, + __bool__enter__C5_osg_Node_R1, + "", + ""); + I_Method0(void, leave, + __void__leave, + "", + ""); + I_Method2(void, intersect, IN, osgUtil::IntersectionVisitor &, iv, IN, osg::Drawable *, drawable, + __void__intersect__osgUtil_IntersectionVisitor_R1__osg_Drawable_P1, + "", + ""); + I_Method0(void, reset, + __void__reset, + "", + ""); + I_Method0(bool, containsIntersections, + __bool__containsIntersections, + "", + ""); + I_SimpleProperty(osgUtil::IntersectorGroup::Intersectors &, Intersectors, + __Intersectors_R1__getIntersectors, + 0); +END_REFLECTOR + +TYPE_NAME_ALIAS(std::multiset< osgUtil::LineSegmentIntersector::Intersection >, osgUtil::LineSegmentIntersector::Intersections); + +BEGIN_OBJECT_REFLECTOR(osgUtil::LineSegmentIntersector) + I_BaseType(osgUtil::Intersector); + I_Constructor2(IN, const osg::Vec3d &, start, IN, const osg::Vec3d &, end, + ____LineSegmentIntersector__C5_osg_Vec3d_R1__C5_osg_Vec3d_R1, + "Construct a LineSegmentIntersector the runs between the secified start and end points in MODEL coordinates. ", + ""); + I_Constructor3(IN, osgUtil::Intersector::CoordinateFrame, cf, IN, const osg::Vec3d &, start, IN, const osg::Vec3d &, end, + ____LineSegmentIntersector__CoordinateFrame__C5_osg_Vec3d_R1__C5_osg_Vec3d_R1, + "Construct a LineSegmentIntersector the runs between the secified start and end points in the specified coordinate frame. ", + ""); + I_Constructor3(IN, osgUtil::Intersector::CoordinateFrame, cf, IN, double, x, IN, double, y, + ____LineSegmentIntersector__CoordinateFrame__double__double, + "Convinience constructor for supporting picking in WINDOW, or PROJECTION coorindates In WINDOW coordinates creates a start value of (x,y,0) and end value of (x,y,1). ", + "In PROJECTION coordinates (clip space cube) creates a start value of (x,y,1) and end value of (x,y,-1). In VIEW and MODEL coordinates creates a start value of (x,y,0) and end value of (x,y,1). "); + I_Method1(void, insertIntersection, IN, const osgUtil::LineSegmentIntersector::Intersection &, intersection, + __void__insertIntersection__C5_Intersection_R1, + "", + ""); + I_Method0(osgUtil::LineSegmentIntersector::Intersections &, getIntersections, + __Intersections_R1__getIntersections, + "", + ""); + I_Method0(osgUtil::LineSegmentIntersector::Intersection, getFirstIntersection, + __Intersection__getFirstIntersection, + "", + ""); + I_Method1(osgUtil::Intersector *, clone, IN, osgUtil::IntersectionVisitor &, iv, + __Intersector_P1__clone__osgUtil_IntersectionVisitor_R1, + "", + ""); + I_Method1(bool, enter, IN, const osg::Node &, node, + __bool__enter__C5_osg_Node_R1, + "", + ""); + I_Method0(void, leave, + __void__leave, + "", + ""); + I_Method2(void, intersect, IN, osgUtil::IntersectionVisitor &, iv, IN, osg::Drawable *, drawable, + __void__intersect__osgUtil_IntersectionVisitor_R1__osg_Drawable_P1, + "", + ""); + I_Method0(void, reset, + __void__reset, + "", + ""); + I_Method0(bool, containsIntersections, + __bool__containsIntersections, + "", + ""); + I_SimpleProperty(osgUtil::LineSegmentIntersector::Intersection, FirstIntersection, + __Intersection__getFirstIntersection, + 0); + I_SimpleProperty(osgUtil::LineSegmentIntersector::Intersections &, Intersections, + __Intersections_R1__getIntersections, + 0); +END_REFLECTOR + +TYPE_NAME_ALIAS(std::vector< unsigned int >, osgUtil::LineSegmentIntersector::Intersection::IndexList); + +BEGIN_VALUE_REFLECTOR(osgUtil::LineSegmentIntersector::Intersection) + I_Constructor0(____Intersection, + "", + ""); + I_PublicMemberProperty(double, ratio); + I_PublicMemberProperty(osg::NodePath, nodePath); + I_PublicMemberProperty(osg::ref_ptr< osg::Drawable >, drawable); + I_PublicMemberProperty(osg::ref_ptr< osg::RefMatrix >, matrix); + I_PublicMemberProperty(osg::Vec3d, localIntersectionPoint); + I_PublicMemberProperty(osg::Vec3, localIntersectionNormal); + I_PublicMemberProperty(osgUtil::LineSegmentIntersector::Intersection::IndexList, indexList); + I_PublicMemberProperty(unsigned int, primitiveIndex); +END_REFLECTOR + +TYPE_NAME_ALIAS(std::set< osgUtil::PolytopeIntersector::Intersection >, osgUtil::PolytopeIntersector::Intersections); + +BEGIN_OBJECT_REFLECTOR(osgUtil::PolytopeIntersector) + I_BaseType(osgUtil::Intersector); + I_Constructor1(IN, const osg::Polytope &, polytope, + ____PolytopeIntersector__C5_osg_Polytope_R1, + "Construct a PolytopeIntersector using speified polytope in MODEL coordinates. ", + ""); + I_Constructor2(IN, osgUtil::Intersector::CoordinateFrame, cf, IN, const osg::Polytope &, polytope, + ____PolytopeIntersector__CoordinateFrame__C5_osg_Polytope_R1, + "Construct a PolytopeIntersector using speified polytope in specified coordinate frame. ", + ""); + I_Constructor5(IN, osgUtil::Intersector::CoordinateFrame, cf, IN, double, xMin, IN, double, yMin, IN, double, xMax, IN, double, yMax, + ____PolytopeIntersector__CoordinateFrame__double__double__double__double, + "Convinience constructor for supporting picking in WINDOW, or PROJECTION coorindates In WINDOW coordinates (clip space cube) creates a five sided polytope box that has a front face at 0.0 and sides around box xMin, yMin, xMax, yMax. ", + "In PROJECTION coordinates (clip space cube) creates a five sided polytope box that has a front face at -1 and sides around box xMin, yMin, xMax, yMax. In VIEW and MODEL coordinates (clip space cube) creates a five sided polytope box that has a front face at 0.0 and sides around box xMin, yMin, xMax, yMax. "); + I_Method1(void, insertIntersection, IN, const osgUtil::PolytopeIntersector::Intersection &, intersection, + __void__insertIntersection__C5_Intersection_R1, + "", + ""); + I_Method0(osgUtil::PolytopeIntersector::Intersections &, getIntersections, + __Intersections_R1__getIntersections, + "", + ""); + I_Method0(osgUtil::PolytopeIntersector::Intersection, getFirstIntersection, + __Intersection__getFirstIntersection, + "", + ""); + I_Method1(osgUtil::Intersector *, clone, IN, osgUtil::IntersectionVisitor &, iv, + __Intersector_P1__clone__osgUtil_IntersectionVisitor_R1, + "", + ""); + I_Method1(bool, enter, IN, const osg::Node &, node, + __bool__enter__C5_osg_Node_R1, + "", + ""); + I_Method0(void, leave, + __void__leave, + "", + ""); + I_Method2(void, intersect, IN, osgUtil::IntersectionVisitor &, iv, IN, osg::Drawable *, drawable, + __void__intersect__osgUtil_IntersectionVisitor_R1__osg_Drawable_P1, + "", + ""); + I_Method0(void, reset, + __void__reset, + "", + ""); + I_Method0(bool, containsIntersections, + __bool__containsIntersections, + "", + ""); + I_SimpleProperty(osgUtil::PolytopeIntersector::Intersection, FirstIntersection, + __Intersection__getFirstIntersection, + 0); + I_SimpleProperty(osgUtil::PolytopeIntersector::Intersections &, Intersections, + __Intersections_R1__getIntersections, + 0); +END_REFLECTOR + +BEGIN_VALUE_REFLECTOR(osgUtil::PolytopeIntersector::Intersection) + I_Constructor0(____Intersection, + "", + ""); + I_PublicMemberProperty(osg::NodePath, nodePath); + I_PublicMemberProperty(osg::ref_ptr< osg::Drawable >, drawable); +END_REFLECTOR + +BEGIN_VALUE_REFLECTOR(osg::ref_ptr< osgUtil::Intersector >) + I_Constructor0(____ref_ptr, + "", + ""); + I_Constructor1(IN, osgUtil::Intersector *, ptr, + ____ref_ptr__T_P1, + "", + ""); + I_Constructor1(IN, const osg::ref_ptr< osgUtil::Intersector > &, rp, + ____ref_ptr__C5_ref_ptr_R1, + "", + ""); + I_Method0(osgUtil::Intersector *, get, + __T_P1__get, + "", + ""); + I_Method0(bool, valid, + __bool__valid, + "", + ""); + I_Method0(osgUtil::Intersector *, release, + __T_P1__release, + "", + ""); + I_Method1(void, swap, IN, osg::ref_ptr< osgUtil::Intersector > &, rp, + __void__swap__ref_ptr_R1, + "", + ""); + I_SimpleProperty(osgUtil::Intersector *, , + __T_P1__get, + 0); +END_REFLECTOR + +STD_SET_REFLECTOR(std::multiset< osgUtil::LineSegmentIntersector::Intersection >); + +STD_SET_REFLECTOR(std::set< osgUtil::PolytopeIntersector::Intersection >); + +STD_VECTOR_REFLECTOR(std::vector< osg::ref_ptr< osgUtil::Intersector > >); +