diff --git a/VisualStudio/osgWrappers/osg/wrapper_osg.dsp b/VisualStudio/osgWrappers/osg/wrapper_osg.dsp index 38f7541e6..046e82f7d 100644 --- a/VisualStudio/osgWrappers/osg/wrapper_osg.dsp +++ b/VisualStudio/osgWrappers/osg/wrapper_osg.dsp @@ -151,6 +151,10 @@ SOURCE=..\..\..\src\osgWrappers\osg\BufferObject.cpp SOURCE=..\..\..\src\osgWrappers\osg\Camera.cpp # End Source File +# Begin Source File +SOURCE=..\..\..\src\osgWrappers\osg\CameraNode.cpp +# End Source File + # Begin Source File SOURCE=..\..\..\src\osgWrappers\osg\CameraView.cpp # End Source File diff --git a/VisualStudio/osgWrappers/osgSim/wrapper_osgSim.dsp b/VisualStudio/osgWrappers/osgSim/wrapper_osgSim.dsp index 126d37e08..5ac77e12d 100644 --- a/VisualStudio/osgWrappers/osgSim/wrapper_osgSim.dsp +++ b/VisualStudio/osgWrappers/osgSim/wrapper_osgSim.dsp @@ -107,6 +107,10 @@ SOURCE=..\..\..\src\osgWrappers\osgSim\ColorRange.cpp SOURCE=..\..\..\src\osgWrappers\osgSim\DOFTransform.cpp # End Source File +# Begin Source File +SOURCE=..\..\..\src\osgWrappers\osgSim\ElevationSlice.cpp +# End Source File + # Begin Source File SOURCE=..\..\..\src\osgWrappers\osgSim\GeographicLocation.cpp # End Source File diff --git a/VisualStudio/osgWrappers/osgUtil/wrapper_osgUtil.dsp b/VisualStudio/osgWrappers/osgUtil/wrapper_osgUtil.dsp index 8226bf8c4..af38256d6 100644 --- a/VisualStudio/osgWrappers/osgUtil/wrapper_osgUtil.dsp +++ b/VisualStudio/osgWrappers/osgUtil/wrapper_osgUtil.dsp @@ -131,10 +131,22 @@ SOURCE=..\..\..\src\osgWrappers\osgUtil\IntersectVisitor.cpp SOURCE=..\..\..\src\osgWrappers\osgUtil\IntersectionVisitor.cpp # End Source File +# Begin Source File +SOURCE=..\..\..\src\osgWrappers\osgUtil\LineSegmentIntersector.cpp +# End Source File + # Begin Source File SOURCE=..\..\..\src\osgWrappers\osgUtil\Optimizer.cpp # End Source File +# Begin Source File +SOURCE=..\..\..\src\osgWrappers\osgUtil\PlaneIntersector.cpp +# End Source File + +# Begin Source File +SOURCE=..\..\..\src\osgWrappers\osgUtil\PolytopeIntersector.cpp +# End Source File + # Begin Source File SOURCE=..\..\..\src\osgWrappers\osgUtil\PositionalStateContainer.cpp # End Source File diff --git a/src/osgWrappers/osg/GNUmakefile b/src/osgWrappers/osg/GNUmakefile index 85d0096b4..ba74d2c91 100644 --- a/src/osgWrappers/osg/GNUmakefile +++ b/src/osgWrappers/osg/GNUmakefile @@ -16,6 +16,7 @@ CXXFILES =\ BoundingSphere.cpp\ BufferObject.cpp\ Camera.cpp\ + CameraNode.cpp\ CameraView.cpp\ ClampColor.cpp\ ClearNode.cpp\ diff --git a/src/osgWrappers/osg/Matrixd.cpp b/src/osgWrappers/osg/Matrixd.cpp index ec0919ec5..cac62dc2c 100644 --- a/src/osgWrappers/osg/Matrixd.cpp +++ b/src/osgWrappers/osg/Matrixd.cpp @@ -250,6 +250,14 @@ BEGIN_VALUE_REFLECTOR(osg::Matrixd) __Vec4d__postMult__C5_Vec4d_R1, "", ""); + I_Method1(void, set, IN, const osg::Quat &, q, + __void__set__C5_Quat_R1, + "", + ""); + I_Method1(void, get, IN, osg::Quat &, q, + __void__get__Quat_R1, + "", + ""); I_Method1(void, setRotate, IN, const osg::Quat &, q, __void__setRotate__C5_Quat_R1, "", diff --git a/src/osgWrappers/osg/Matrixf.cpp b/src/osgWrappers/osg/Matrixf.cpp index 6ee4b91d2..cedc59e74 100644 --- a/src/osgWrappers/osg/Matrixf.cpp +++ b/src/osgWrappers/osg/Matrixf.cpp @@ -250,6 +250,14 @@ BEGIN_VALUE_REFLECTOR(osg::Matrixf) __Vec4d__postMult__C5_Vec4d_R1, "", ""); + I_Method1(void, set, IN, const osg::Quat &, q, + __void__set__C5_Quat_R1, + "", + ""); + I_Method1(void, get, IN, osg::Quat &, q, + __void__get__Quat_R1, + "", + ""); I_Method1(void, setRotate, IN, const osg::Quat &, q, __void__setRotate__C5_Quat_R1, "", diff --git a/src/osgWrappers/osg/Plane.cpp b/src/osgWrappers/osg/Plane.cpp index d542c8394..15e34a197 100644 --- a/src/osgWrappers/osg/Plane.cpp +++ b/src/osgWrappers/osg/Plane.cpp @@ -15,7 +15,10 @@ #include #include #include -#include +#include +#include +#include +#include // Must undefine IN and OUT macros defined in Windows headers #ifdef IN @@ -27,6 +30,12 @@ #include +TYPE_NAME_ALIAS(double, osg::Plane::value_type); + +TYPE_NAME_ALIAS(osg::Vec3d, osg::Plane::Vec3_type); + +TYPE_NAME_ALIAS(osg::Vec4d, osg::Plane::Vec4_type); + BEGIN_VALUE_REFLECTOR(osg::Plane) I_ReaderWriter(osgIntrospection::StdReaderWriter); // user-defined I_Comparator(osgIntrospection::PartialOrderComparator); // user-defined @@ -37,48 +46,56 @@ BEGIN_VALUE_REFLECTOR(osg::Plane) ____Plane__C5_Plane_R1, "", ""); - I_Constructor4(IN, float, a, IN, float, b, IN, float, c, IN, float, d, - ____Plane__float__float__float__float, + I_Constructor4(IN, osg::Plane::value_type, a, IN, osg::Plane::value_type, b, IN, osg::Plane::value_type, c, IN, osg::Plane::value_type, d, + ____Plane__value_type__value_type__value_type__value_type, "", ""); - I_Constructor1(IN, const osg::Vec4 &, vec, - ____Plane__C5_Vec4_R1, + I_Constructor1(IN, const osg::Vec4f &, vec, + ____Plane__C5_Vec4f_R1, "", ""); - I_Constructor2(IN, const osg::Vec3 &, norm, IN, float, d, - ____Plane__C5_Vec3_R1__float, + I_Constructor1(IN, const osg::Vec4d &, vec, + ____Plane__C5_Vec4d_R1, "", ""); - I_Constructor3(IN, const osg::Vec3 &, v1, IN, const osg::Vec3 &, v2, IN, const osg::Vec3 &, v3, - ____Plane__C5_Vec3_R1__C5_Vec3_R1__C5_Vec3_R1, + I_Constructor2(IN, const osg::Plane::Vec3_type &, norm, IN, osg::Plane::value_type, d, + ____Plane__C5_Vec3_type_R1__value_type, "", ""); - I_Constructor2(IN, const osg::Vec3 &, norm, IN, const osg::Vec3 &, point, - ____Plane__C5_Vec3_R1__C5_Vec3_R1, + I_Constructor3(IN, const osg::Plane::Vec3_type &, v1, IN, const osg::Plane::Vec3_type &, v2, IN, const osg::Plane::Vec3_type &, v3, + ____Plane__C5_Vec3_type_R1__C5_Vec3_type_R1__C5_Vec3_type_R1, + "", + ""); + I_Constructor2(IN, const osg::Plane::Vec3_type &, norm, IN, const osg::Plane::Vec3_type &, point, + ____Plane__C5_Vec3_type_R1__C5_Vec3_type_R1, "", ""); I_Method1(void, set, IN, const osg::Plane &, pl, __void__set__C5_Plane_R1, "", ""); - I_Method4(void, set, IN, float, a, IN, float, b, IN, float, c, IN, float, d, - __void__set__float__float__float__float, + I_Method4(void, set, IN, osg::Plane::value_type, a, IN, osg::Plane::value_type, b, IN, osg::Plane::value_type, c, IN, osg::Plane::value_type, d, + __void__set__value_type__value_type__value_type__value_type, "", ""); - I_Method1(void, set, IN, const osg::Vec4 &, vec, - __void__set__C5_Vec4_R1, + I_Method1(void, set, IN, const osg::Vec4f &, vec, + __void__set__C5_Vec4f_R1, "", ""); - I_Method2(void, set, IN, const osg::Vec3 &, norm, IN, float, d, - __void__set__C5_Vec3_R1__float, + I_Method1(void, set, IN, const osg::Vec4d &, vec, + __void__set__C5_Vec4d_R1, "", ""); - I_Method3(void, set, IN, const osg::Vec3 &, v1, IN, const osg::Vec3 &, v2, IN, const osg::Vec3 &, v3, - __void__set__C5_Vec3_R1__C5_Vec3_R1__C5_Vec3_R1, + I_Method2(void, set, IN, const osg::Plane::Vec3_type &, norm, IN, double, d, + __void__set__C5_Vec3_type_R1__double, "", ""); - I_Method2(void, set, IN, const osg::Vec3 &, norm, IN, const osg::Vec3 &, point, - __void__set__C5_Vec3_R1__C5_Vec3_R1, + I_Method3(void, set, IN, const osg::Plane::Vec3_type &, v1, IN, const osg::Plane::Vec3_type &, v2, IN, const osg::Plane::Vec3_type &, v3, + __void__set__C5_Vec3_type_R1__C5_Vec3_type_R1__C5_Vec3_type_R1, + "", + ""); + I_Method2(void, set, IN, const osg::Plane::Vec3_type &, norm, IN, const osg::Plane::Vec3_type &, point, + __void__set__C5_Vec3_type_R1__C5_Vec3_type_R1, "", ""); I_Method0(void, flip, @@ -97,32 +114,40 @@ BEGIN_VALUE_REFLECTOR(osg::Plane) __bool__valid, "", ""); - I_Method0(float *, ptr, - __float_P1__ptr, + I_Method0(bool, isNaN, + __bool__isNaN, "", ""); - I_Method0(const float *, ptr, - __C5_float_P1__ptr, + I_Method0(osg::Plane::value_type *, ptr, + __value_type_P1__ptr, "", ""); - I_Method0(osg::Vec4 &, asVec4, - __Vec4_R1__asVec4, + I_Method0(const osg::Plane::value_type *, ptr, + __C5_value_type_P1__ptr, "", ""); - I_Method0(const osg::Vec4 &, asVec4, - __C5_Vec4_R1__asVec4, + I_Method0(osg::Plane::Vec4_type, asVec4, + __Vec4_type__asVec4, "", ""); - I_Method0(osg::Vec3, getNormal, - __osg_Vec3__getNormal, + I_Method0(osg::Plane::Vec3_type, getNormal, + __Vec3_type__getNormal, "", ""); - I_Method1(float, distance, IN, const osg::Vec3 &, v, - __float__distance__C5_osg_Vec3_R1, + I_Method1(float, distance, IN, const osg::Vec3f &, v, + __float__distance__C5_osg_Vec3f_R1, "calculate the distance between a point and the plane. ", ""); - I_Method1(float, dotProductNormal, IN, const osg::Vec3 &, v, - __float__dotProductNormal__C5_osg_Vec3_R1, + I_Method1(float, distance, IN, const osg::Vec3d &, v, + __float__distance__C5_osg_Vec3d_R1, + "", + ""); + I_Method1(float, dotProductNormal, IN, const osg::Vec3f &, v, + __float__dotProductNormal__C5_osg_Vec3f_R1, + "calculate the dot product of the plane normal and a point. ", + ""); + I_Method1(float, dotProductNormal, IN, const osg::Vec3d &, v, + __float__dotProductNormal__C5_osg_Vec3d_R1, "calculate the dot product of the plane normal and a point. ", ""); I_Method1(int, intersect, IN, const std::vector< osg::Vec3 > &, vertices, @@ -145,8 +170,8 @@ BEGIN_VALUE_REFLECTOR(osg::Plane) __void__transformProvidingInverse__C5_osg_Matrix_R1, "Transform the plane by providing a pre inverted matrix. ", "see transform for details. "); - I_SimpleProperty(osg::Vec3, Normal, - __osg_Vec3__getNormal, + I_SimpleProperty(osg::Plane::Vec3_type, Normal, + __Vec3_type__getNormal, 0); END_REFLECTOR diff --git a/src/osgWrappers/osgGA/GUIEventHandler.cpp b/src/osgWrappers/osgGA/GUIEventHandler.cpp index b72e34b4f..9066e02cd 100644 --- a/src/osgWrappers/osgGA/GUIEventHandler.cpp +++ b/src/osgWrappers/osgGA/GUIEventHandler.cpp @@ -76,3 +76,13 @@ BEGIN_OBJECT_REFLECTOR(osgGA::GUIEventHandler) ""); END_REFLECTOR +BEGIN_VALUE_REFLECTOR(osgGA::GUIEventHandlerVisitor) + I_Constructor0(____GUIEventHandlerVisitor, + "", + ""); + I_Method1(void, visit, IN, osgGA::GUIEventHandler &, x, + __void__visit__GUIEventHandler_R1, + "", + ""); +END_REFLECTOR + diff --git a/src/osgWrappers/osgSim/ElevationSlice.cpp b/src/osgWrappers/osgSim/ElevationSlice.cpp new file mode 100644 index 000000000..65a631724 --- /dev/null +++ b/src/osgWrappers/osgSim/ElevationSlice.cpp @@ -0,0 +1,110 @@ +// *************************************************************************** +// +// Generated automatically by genwrapper. +// Please DO NOT EDIT this file! +// +// *************************************************************************** + +#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 + +TYPE_NAME_ALIAS(std::vector< osg::Vec3d >, osgSim::ElevationSlice::Vec3dList); + +TYPE_NAME_ALIAS(std::pair< double COMMA double >, osgSim::ElevationSlice::DistanceHeight); + +TYPE_NAME_ALIAS(std::vector< osgSim::ElevationSlice::DistanceHeight >, osgSim::ElevationSlice::DistanceHeightList); + +BEGIN_VALUE_REFLECTOR(osgSim::ElevationSlice) + I_Constructor0(____ElevationSlice, + "", + ""); + I_Method1(void, setStartPoint, IN, const osg::Vec3d &, startPoint, + __void__setStartPoint__C5_osg_Vec3d_R1, + "Set the start point of the slice. ", + ""); + I_Method0(const osg::Vec3d &, getStartPoint, + __C5_osg_Vec3d_R1__getStartPoint, + "Get the start point of the slice. ", + ""); + I_Method1(void, setEndPoint, IN, const osg::Vec3d &, endPoint, + __void__setEndPoint__C5_osg_Vec3d_R1, + "Set the end point of the slice. ", + ""); + I_Method0(const osg::Vec3d &, getEndPoint, + __C5_osg_Vec3d_R1__getEndPoint, + "Get the end point of the slice. ", + ""); + I_Method0(const osgSim::ElevationSlice::Vec3dList &, getIntersections, + __C5_Vec3dList_R1__getIntersections, + "Get the intersections in the form of a vector of Vec3d. ", + ""); + I_Method0(const osgSim::ElevationSlice::DistanceHeightList &, getDistanceHeightIntersections, + __C5_DistanceHeightList_R1__getDistanceHeightIntersections, + "Get the intersections in the form a vector of pair representing distance along the slice and height. ", + ""); + I_Method1(void, computeIntersections, IN, osg::Node *, scene, + __void__computeIntersections__osg_Node_P1, + "Compute the intersections with the specified scene graph, the results are stored in vectors of Vec3d. ", + "Note, if the topmost node is a CoordinateSystemNode then the input points are assumed to be geocentric, with the up vector defined by the EllipsoidModel attached to the CoordinateSystemNode. If the topmost node is not a CoordinateSystemNode then a local coordinates frame is assumed, with a local up vector. "); + I_Method0(void, clearDatabaseCache, + __void__clearDatabaseCache, + "Clear the database cache. ", + ""); + I_Method1(void, setDatabaseCacheReadCallback, IN, osgSim::DatabaseCacheReadCallback *, dcrc, + __void__setDatabaseCacheReadCallback__DatabaseCacheReadCallback_P1, + "Set the ReadCallback that does the reading of external PagedLOD models, and caching of loaded subgraphs. ", + "Note, if you have mulitple LineOfSight or ElevationSlice objects in use at one time then you should share a single DatabaseCacheReadCallback between all of them. "); + I_Method0(osgSim::DatabaseCacheReadCallback *, getDatabaseCacheReadCallback, + __DatabaseCacheReadCallback_P1__getDatabaseCacheReadCallback, + "Get the ReadCallback that does the reading of external PagedLOD models, and caching of loaded subgraphs. ", + ""); + I_Method0(osgUtil::IntersectionVisitor &, getIntersectionVisitor, + __osgUtil_IntersectionVisitor_R1__getIntersectionVisitor, + "Get the IntersectionVistor that does the intersection traversal over the scene. ", + "Note, if you want to customized the traversal then you can use the IntersectionVisitor's method to alter its behavior. "); + I_StaticMethod3(osgSim::ElevationSlice::Vec3dList, computeElevationSlice, IN, osg::Node *, scene, IN, const osg::Vec3d &, startPoint, IN, const osg::Vec3d &, endPoint, + __Vec3dList__computeElevationSlice__osg_Node_P1__C5_osg_Vec3d_R1__C5_osg_Vec3d_R1_S, + "Compute the vertical distance between the specified scene graph and a single HAT point. ", + ""); + I_SimpleProperty(osgSim::DatabaseCacheReadCallback *, DatabaseCacheReadCallback, + __DatabaseCacheReadCallback_P1__getDatabaseCacheReadCallback, + __void__setDatabaseCacheReadCallback__DatabaseCacheReadCallback_P1); + I_SimpleProperty(const osgSim::ElevationSlice::DistanceHeightList &, DistanceHeightIntersections, + __C5_DistanceHeightList_R1__getDistanceHeightIntersections, + 0); + I_SimpleProperty(const osg::Vec3d &, EndPoint, + __C5_osg_Vec3d_R1__getEndPoint, + __void__setEndPoint__C5_osg_Vec3d_R1); + I_SimpleProperty(osgUtil::IntersectionVisitor &, IntersectionVisitor, + __osgUtil_IntersectionVisitor_R1__getIntersectionVisitor, + 0); + I_SimpleProperty(const osgSim::ElevationSlice::Vec3dList &, Intersections, + __C5_Vec3dList_R1__getIntersections, + 0); + I_SimpleProperty(const osg::Vec3d &, StartPoint, + __C5_osg_Vec3d_R1__getStartPoint, + __void__setStartPoint__C5_osg_Vec3d_R1); +END_REFLECTOR + +STD_PAIR_REFLECTOR(std::pair< double COMMA double >); + +STD_VECTOR_REFLECTOR(std::vector< osg::Vec3d >); + +STD_VECTOR_REFLECTOR(std::vector< osgSim::ElevationSlice::DistanceHeight >); + diff --git a/src/osgWrappers/osgSim/GNUmakefile b/src/osgWrappers/osgSim/GNUmakefile index b47a5d094..cca8a4277 100644 --- a/src/osgWrappers/osgSim/GNUmakefile +++ b/src/osgWrappers/osgSim/GNUmakefile @@ -5,6 +5,7 @@ CXXFILES =\ BlinkSequence.cpp\ ColorRange.cpp\ DOFTransform.cpp\ + ElevationSlice.cpp\ GeographicLocation.cpp\ HeightAboveTerrain.cpp\ Impostor.cpp\ diff --git a/src/osgWrappers/osgSim/LineOfSight.cpp b/src/osgWrappers/osgSim/LineOfSight.cpp index cc2fbecbb..6b4137ea9 100644 --- a/src/osgWrappers/osgSim/LineOfSight.cpp +++ b/src/osgWrappers/osgSim/LineOfSight.cpp @@ -131,5 +131,3 @@ BEGIN_VALUE_REFLECTOR(osgSim::LineOfSight) 0); END_REFLECTOR -STD_VECTOR_REFLECTOR(std::vector< osg::Vec3d >); - diff --git a/src/osgWrappers/osgUtil/GNUmakefile b/src/osgWrappers/osgUtil/GNUmakefile index da1607fdd..ca3782333 100644 --- a/src/osgWrappers/osgUtil/GNUmakefile +++ b/src/osgWrappers/osgUtil/GNUmakefile @@ -11,7 +11,10 @@ CXXFILES =\ HighlightMapGenerator.cpp\ IntersectVisitor.cpp\ IntersectionVisitor.cpp\ + LineSegmentIntersector.cpp\ Optimizer.cpp\ + PlaneIntersector.cpp\ + PolytopeIntersector.cpp\ PositionalStateContainer.cpp\ ReflectionMapGenerator.cpp\ RenderBin.cpp\ diff --git a/src/osgWrappers/osgUtil/IntersectionVisitor.cpp b/src/osgWrappers/osgUtil/IntersectionVisitor.cpp index 4293e8f48..aae84a768 100644 --- a/src/osgWrappers/osgUtil/IntersectionVisitor.cpp +++ b/src/osgWrappers/osgUtil/IntersectionVisitor.cpp @@ -19,10 +19,8 @@ #include #include #include -#include #include #include -#include #include #include @@ -297,150 +295,6 @@ BEGIN_OBJECT_REFLECTOR(osgUtil::IntersectorGroup) 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, "", @@ -474,9 +328,5 @@ BEGIN_VALUE_REFLECTOR(osg::ref_ptr< osgUtil::Intersector >) 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 > >); diff --git a/src/osgWrappers/osgUtil/LineSegmentIntersector.cpp b/src/osgWrappers/osgUtil/LineSegmentIntersector.cpp new file mode 100644 index 000000000..68369bf0a --- /dev/null +++ b/src/osgWrappers/osgUtil/LineSegmentIntersector.cpp @@ -0,0 +1,104 @@ +// *************************************************************************** +// +// Generated automatically by genwrapper. +// Please DO NOT EDIT this file! +// +// *************************************************************************** + +#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 + +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 + +STD_SET_REFLECTOR(std::multiset< osgUtil::LineSegmentIntersector::Intersection >); + diff --git a/src/osgWrappers/osgUtil/PlaneIntersector.cpp b/src/osgWrappers/osgUtil/PlaneIntersector.cpp new file mode 100644 index 000000000..6d51c1d31 --- /dev/null +++ b/src/osgWrappers/osgUtil/PlaneIntersector.cpp @@ -0,0 +1,93 @@ +// *************************************************************************** +// +// Generated automatically by genwrapper. +// Please DO NOT EDIT this file! +// +// *************************************************************************** + +#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 + +TYPE_NAME_ALIAS(std::set< osgUtil::PlaneIntersector::Intersection >, osgUtil::PlaneIntersector::Intersections); + +BEGIN_OBJECT_REFLECTOR(osgUtil::PlaneIntersector) + I_BaseType(osgUtil::Intersector); + I_ConstructorWithDefaults2(IN, const osg::Plane &, plane, , IN, const osg::Polytope &, boundingPolytope, osg::Polytope(), + ____PlaneIntersector__C5_osg_Plane_R1__C5_osg_Polytope_R1, + "Construct a PolytopeIntersector using speified polytope in MODEL coordinates. ", + ""); + I_ConstructorWithDefaults3(IN, osgUtil::Intersector::CoordinateFrame, cf, , IN, const osg::Plane &, plane, , IN, const osg::Polytope &, boundingPolytope, osg::Polytope(), + ____PlaneIntersector__CoordinateFrame__C5_osg_Plane_R1__C5_osg_Polytope_R1, + "Construct a PolytopeIntersector using speified polytope in specified coordinate frame. ", + ""); + I_Method1(void, insertIntersection, IN, const osgUtil::PlaneIntersector::Intersection &, intersection, + __void__insertIntersection__C5_Intersection_R1, + "", + ""); + I_Method0(osgUtil::PlaneIntersector::Intersections &, getIntersections, + __Intersections_R1__getIntersections, + "", + ""); + I_Method0(osgUtil::PlaneIntersector::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::PlaneIntersector::Intersection, FirstIntersection, + __Intersection__getFirstIntersection, + 0); + I_SimpleProperty(osgUtil::PlaneIntersector::Intersections &, Intersections, + __Intersections_R1__getIntersections, + 0); +END_REFLECTOR + +BEGIN_VALUE_REFLECTOR(osgUtil::PlaneIntersector::Intersection) + I_Constructor0(____Intersection, + "", + ""); + I_PublicMemberProperty(osg::NodePath, nodePath); + I_PublicMemberProperty(osg::ref_ptr< osg::Drawable >, drawable); +END_REFLECTOR + +STD_SET_REFLECTOR(std::set< osgUtil::PlaneIntersector::Intersection >); + diff --git a/src/osgWrappers/osgUtil/PolytopeIntersector.cpp b/src/osgWrappers/osgUtil/PolytopeIntersector.cpp new file mode 100644 index 000000000..94c120fb6 --- /dev/null +++ b/src/osgWrappers/osgUtil/PolytopeIntersector.cpp @@ -0,0 +1,96 @@ +// *************************************************************************** +// +// Generated automatically by genwrapper. +// Please DO NOT EDIT this file! +// +// *************************************************************************** + +#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 + +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 + +STD_SET_REFLECTOR(std::set< osgUtil::PolytopeIntersector::Intersection >); +