From 5f3ec7dbcb428e984c0a72e39f4738a3dde78e56 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Thu, 13 Oct 2005 08:18:12 +0000 Subject: [PATCH] Updated wrappers. --- src/osgWrappers/osg/AnimationPath.cpp | 1 + src/osgWrappers/osg/CameraNode.cpp | 1 + src/osgWrappers/osg/CameraView.cpp | 62 +++++++++++++++++++ src/osgWrappers/osg/GNUmakefile | 1 + src/osgWrappers/osg/NodeVisitor.cpp | 2 + .../osgParticle/ConnectedParticleSystem.cpp | 39 ++++++++++++ .../osgParticle/ConstantRateCounter.cpp | 41 ++++++++++++ src/osgWrappers/osgParticle/GNUmakefile | 3 + src/osgWrappers/osgParticle/Particle.cpp | 18 ++++++ .../osgParticle/ParticleSystem.cpp | 1 + .../osgParticle/SmokeTrailEffect.cpp | 47 ++++++++++++++ src/osgWrappers/osgUtil/RenderStage.cpp | 9 ++- src/osgWrappers/osgUtil/Simplifier.cpp | 30 ++++++++- 13 files changed, 252 insertions(+), 3 deletions(-) create mode 100644 src/osgWrappers/osg/CameraView.cpp create mode 100644 src/osgWrappers/osgParticle/ConnectedParticleSystem.cpp create mode 100644 src/osgWrappers/osgParticle/ConstantRateCounter.cpp create mode 100644 src/osgWrappers/osgParticle/SmokeTrailEffect.cpp diff --git a/src/osgWrappers/osg/AnimationPath.cpp b/src/osgWrappers/osg/AnimationPath.cpp index adc7e1192..54eb1c657 100644 --- a/src/osgWrappers/osg/AnimationPath.cpp +++ b/src/osgWrappers/osg/AnimationPath.cpp @@ -80,6 +80,7 @@ BEGIN_VALUE_REFLECTOR(osg::AnimationPath::ControlPoint) I_Method1(void, setScale, IN, const osg::Vec3d &, scale); I_Method0(const osg::Vec3d &, getScale); I_Method3(void, interpolate, IN, float, ratio, IN, const osg::AnimationPath::ControlPoint &, first, IN, const osg::AnimationPath::ControlPoint &, second); + I_Method3(void, interpolate, IN, double, ratio, IN, const osg::AnimationPath::ControlPoint &, first, IN, const osg::AnimationPath::ControlPoint &, second); I_Method1(void, getMatrix, IN, osg::Matrixf &, matrix); I_Method1(void, getMatrix, IN, osg::Matrixd &, matrix); I_Method1(void, getInverse, IN, osg::Matrixf &, matrix); diff --git a/src/osgWrappers/osg/CameraNode.cpp b/src/osgWrappers/osg/CameraNode.cpp index 6a02347e7..a38c9a33a 100644 --- a/src/osgWrappers/osg/CameraNode.cpp +++ b/src/osgWrappers/osg/CameraNode.cpp @@ -49,6 +49,7 @@ END_REFLECTOR BEGIN_ENUM_REFLECTOR(osg::CameraNode::RenderTargetImplementation) I_EnumLabel(osg::CameraNode::FRAME_BUFFER_OBJECT); + I_EnumLabel(osg::CameraNode::PIXEL_BUFFER_RTT); I_EnumLabel(osg::CameraNode::PIXEL_BUFFER); I_EnumLabel(osg::CameraNode::FRAME_BUFFER); I_EnumLabel(osg::CameraNode::SEPERATE_WINDOW); diff --git a/src/osgWrappers/osg/CameraView.cpp b/src/osgWrappers/osg/CameraView.cpp new file mode 100644 index 000000000..c2a786bad --- /dev/null +++ b/src/osgWrappers/osg/CameraView.cpp @@ -0,0 +1,62 @@ +// *************************************************************************** +// +// 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 + +BEGIN_ENUM_REFLECTOR(osg::CameraView::FieldOfViewMode) + I_EnumLabel(osg::CameraView::UNCONSTRAINED); + I_EnumLabel(osg::CameraView::HORIZONTAL); + I_EnumLabel(osg::CameraView::VERTICAL); +END_REFLECTOR + +BEGIN_OBJECT_REFLECTOR(osg::CameraView) + I_BaseType(osg::Transform); + I_Constructor0(); + I_ConstructorWithDefaults2(IN, const osg::CameraView &, pat, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY); + I_Method0(osg::Object *, cloneType); + I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, copyop); + I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj); + I_Method0(const char *, className); + I_Method0(const char *, libraryName); + I_Method1(void, accept, IN, osg::NodeVisitor &, nv); + I_Method1(void, setPosition, IN, const osg::Vec3d &, pos); + I_Method0(const osg::Vec3d &, getPosition); + I_Method1(void, setAttitude, IN, const osg::Quat &, quat); + I_Method0(const osg::Quat &, getAttitude); + I_Method1(void, setFieldOfView, IN, double, fieldOfView); + I_Method0(double, getFieldOfView); + I_Method1(void, setFieldOfViewMode, IN, osg::CameraView::FieldOfViewMode, mode); + I_Method0(osg::CameraView::FieldOfViewMode, getFieldOfViewMode); + I_Method1(void, setFocalLength, IN, double, FocalLength); + I_Method0(double, getFocalLength); + I_Method2(bool, computeLocalToWorldMatrix, IN, osg::Matrix &, matrix, IN, osg::NodeVisitor *, nv); + I_Method2(bool, computeWorldToLocalMatrix, IN, osg::Matrix &, matrix, IN, osg::NodeVisitor *, nv); + I_Property(const osg::Quat &, Attitude); + I_Property(double, FieldOfView); + I_Property(osg::CameraView::FieldOfViewMode, FieldOfViewMode); + I_Property(double, FocalLength); + I_Property(const osg::Vec3d &, Position); +END_REFLECTOR + diff --git a/src/osgWrappers/osg/GNUmakefile b/src/osgWrappers/osg/GNUmakefile index 24de2f40f..5e49c1045 100644 --- a/src/osgWrappers/osg/GNUmakefile +++ b/src/osgWrappers/osg/GNUmakefile @@ -16,6 +16,7 @@ CXXFILES =\ BoundingSphere.cpp\ BufferObject.cpp\ CameraNode.cpp\ + CameraView.cpp\ ClearNode.cpp\ ClipNode.cpp\ ClipPlane.cpp\ diff --git a/src/osgWrappers/osg/NodeVisitor.cpp b/src/osgWrappers/osg/NodeVisitor.cpp index 0a1c92c70..1f465066a 100644 --- a/src/osgWrappers/osg/NodeVisitor.cpp +++ b/src/osgWrappers/osg/NodeVisitor.cpp @@ -11,6 +11,7 @@ #include #include +#include #include #include #include @@ -102,6 +103,7 @@ BEGIN_OBJECT_REFLECTOR(osg::NodeVisitor) I_Method1(void, apply, IN, osg::LightSource &, node); I_Method1(void, apply, IN, osg::Transform &, node); I_Method1(void, apply, IN, osg::CameraNode &, node); + I_Method1(void, apply, IN, osg::CameraView &, node); I_Method1(void, apply, IN, osg::MatrixTransform &, node); I_Method1(void, apply, IN, osg::PositionAttitudeTransform &, node); I_Method1(void, apply, IN, osg::Switch &, node); diff --git a/src/osgWrappers/osgParticle/ConnectedParticleSystem.cpp b/src/osgWrappers/osgParticle/ConnectedParticleSystem.cpp new file mode 100644 index 000000000..26eeace51 --- /dev/null +++ b/src/osgWrappers/osgParticle/ConnectedParticleSystem.cpp @@ -0,0 +1,39 @@ +// *************************************************************************** +// +// Generated automatically by genwrapper. +// Please DO NOT EDIT this file! +// +// *************************************************************************** + +#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(osgParticle::ConnectedParticleSystem) + I_BaseType(osgParticle::ParticleSystem); + I_Constructor0(); + I_ConstructorWithDefaults2(IN, const osgParticle::ConnectedParticleSystem &, copy, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY); + I_Method0(osg::Object *, cloneType); + I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, copyop); + I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj); + I_Method0(const char *, libraryName); + I_Method0(const char *, className); + I_Method1(osgParticle::Particle *, createParticle, IN, const osgParticle::Particle *, ptemplate); + I_Method1(void, reuseParticle, IN, int, i); + I_Method1(void, drawImplementation, IN, osg::State &, state); +END_REFLECTOR + diff --git a/src/osgWrappers/osgParticle/ConstantRateCounter.cpp b/src/osgWrappers/osgParticle/ConstantRateCounter.cpp new file mode 100644 index 000000000..19d5453ce --- /dev/null +++ b/src/osgWrappers/osgParticle/ConstantRateCounter.cpp @@ -0,0 +1,41 @@ +// *************************************************************************** +// +// Generated automatically by genwrapper. +// Please DO NOT EDIT this file! +// +// *************************************************************************** + +#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(osgParticle::ConstantRateCounter) + I_BaseType(osgParticle::Counter); + I_Constructor0(); + I_ConstructorWithDefaults2(IN, const osgParticle::ConstantRateCounter &, copy, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY); + I_Method0(osg::Object *, cloneType); + I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, copyop); + I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj); + I_Method0(const char *, libraryName); + I_Method0(const char *, className); + I_Method1(void, setMinimumNumberOfParticlesToCreate, IN, int, minNumToCreate); + I_Method0(int, getMinimumNumberOfParticlesToCreate); + I_Method1(void, setNumberOfParticlesPerSecondToCreate, IN, double, numPerSecond); + I_Method0(double, getNumberOfParticlesPerSecondToCreate); + I_Method1(int, numParticlesToCreate, IN, double, dt); + I_Property(int, MinimumNumberOfParticlesToCreate); + I_Property(double, NumberOfParticlesPerSecondToCreate); +END_REFLECTOR + diff --git a/src/osgWrappers/osgParticle/GNUmakefile b/src/osgWrappers/osgParticle/GNUmakefile index f43914969..4a703dacd 100644 --- a/src/osgWrappers/osgParticle/GNUmakefile +++ b/src/osgWrappers/osgParticle/GNUmakefile @@ -5,6 +5,8 @@ CXXFILES =\ AccelOperator.cpp\ AngularAccelOperator.cpp\ CenteredPlacer.cpp\ + ConnectedParticleSystem.cpp\ + ConstantRateCounter.cpp\ Counter.cpp\ Emitter.cpp\ ExplosionDebrisEffect.cpp\ @@ -33,6 +35,7 @@ CXXFILES =\ SegmentPlacer.cpp\ Shooter.cpp\ SmokeEffect.cpp\ + SmokeTrailEffect.cpp\ VariableRateCounter.cpp\ range.cpp\ diff --git a/src/osgWrappers/osgParticle/Particle.cpp b/src/osgWrappers/osgParticle/Particle.cpp index f2be0e46b..2672110c4 100644 --- a/src/osgWrappers/osgParticle/Particle.cpp +++ b/src/osgWrappers/osgParticle/Particle.cpp @@ -11,8 +11,10 @@ #include #include +#include #include #include +#include #include // Must undefine IN and OUT macros defined in Windows headers @@ -53,6 +55,10 @@ BEGIN_VALUE_REFLECTOR(osgParticle::Particle) I_Method0(const osg::Vec3 &, getAngle); I_Method0(const osg::Vec3 &, getAngularVelocity); I_Method0(const osg::Vec3 &, getPreviousAngle); + I_Method0(const osg::Vec4 &, getCurrentColor); + I_Method0(float, getCurrentAlpha); + I_Method0(const float, getSTexCoord); + I_Method0(float, getTCoord); I_Method0(void, kill); I_Method1(void, setLifeTime, IN, double, t); I_Method1(void, setSizeRange, IN, const osgParticle::rangef &, r); @@ -78,6 +84,11 @@ BEGIN_VALUE_REFLECTOR(osgParticle::Particle) I_Method0(void, endRender); I_Method0(float, getCurrentSize); I_MethodWithDefaults3(void, setTextureTile, IN, int, sTile, , IN, int, tTile, , IN, int, numTiles, 0); + I_Method1(void, setPreviousParticle, IN, int, previous); + I_Method0(int, getPreviousParticle); + I_Method1(void, setNextParticle, IN, int, next); + I_Method0(int, getNextParticle); + I_Method1(void, setUpTexCoordsAsPartOfConnectedParticleSystem, IN, osgParticle::ParticleSystem *, ps); I_ReadOnlyProperty(double, Age); I_WriteOnlyProperty(osgParticle::Interpolator *, AlphaInterpolator); I_Property(const osgParticle::rangef &, AlphaRange); @@ -85,17 +96,24 @@ BEGIN_VALUE_REFLECTOR(osgParticle::Particle) I_Property(const osg::Vec3 &, AngularVelocity); I_WriteOnlyProperty(osgParticle::Interpolator *, ColorInterpolator); I_Property(const osgParticle::rangev4 &, ColorRange); + I_ReadOnlyProperty(float, CurrentAlpha); + I_ReadOnlyProperty(const osg::Vec4 &, CurrentColor); I_ReadOnlyProperty(float, CurrentSize); I_Property(double, LifeTime); I_Property(float, Mass); I_ReadOnlyProperty(float, MassInv); + I_Property(int, NextParticle); I_Property(const osg::Vec3 &, Position); I_ReadOnlyProperty(const osg::Vec3 &, PreviousAngle); + I_Property(int, PreviousParticle); I_ReadOnlyProperty(const osg::Vec3 &, PreviousPosition); I_Property(float, Radius); + I_ReadOnlyProperty(const float, STexCoord); I_Property(osgParticle::Particle::Shape, Shape); I_WriteOnlyProperty(osgParticle::Interpolator *, SizeInterpolator); I_Property(const osgParticle::rangef &, SizeRange); + I_ReadOnlyProperty(float, TCoord); + I_WriteOnlyProperty(osgParticle::ParticleSystem *, UpTexCoordsAsPartOfConnectedParticleSystem); I_Property(const osg::Vec3 &, Velocity); END_REFLECTOR diff --git a/src/osgWrappers/osgParticle/ParticleSystem.cpp b/src/osgWrappers/osgParticle/ParticleSystem.cpp index d2c7167a6..7206c8e47 100644 --- a/src/osgWrappers/osgParticle/ParticleSystem.cpp +++ b/src/osgWrappers/osgParticle/ParticleSystem.cpp @@ -59,6 +59,7 @@ BEGIN_OBJECT_REFLECTOR(osgParticle::ParticleSystem) I_Method1(const osgParticle::Particle *, getParticle, IN, int, i); I_Method1(osgParticle::Particle *, createParticle, IN, const osgParticle::Particle *, ptemplate); I_Method1(void, destroyParticle, IN, int, i); + I_Method1(void, reuseParticle, IN, int, i); I_Method0(int, getLastFrameNumber); I_Method0(osgParticle::Particle &, getDefaultParticleTemplate); I_Method0(const osgParticle::Particle &, getDefaultParticleTemplate); diff --git a/src/osgWrappers/osgParticle/SmokeTrailEffect.cpp b/src/osgWrappers/osgParticle/SmokeTrailEffect.cpp new file mode 100644 index 000000000..c2457996f --- /dev/null +++ b/src/osgWrappers/osgParticle/SmokeTrailEffect.cpp @@ -0,0 +1,47 @@ +// *************************************************************************** +// +// 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 + +BEGIN_OBJECT_REFLECTOR(osgParticle::SmokeTrailEffect) + I_BaseType(osgParticle::ParticleEffect); + I_ConstructorWithDefaults3(IN, const osg::Vec3 &, position, osg::Vec3(0.0f, 0.0f, 0.0f), IN, float, scale, 1.0f, IN, float, intensity, 1.0f); + I_ConstructorWithDefaults2(IN, const osgParticle::SmokeTrailEffect &, copy, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY); + I_Method0(osg::Object *, cloneType); + I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, copyop); + I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj); + I_Method0(const char *, className); + I_Method0(const char *, libraryName); + I_Method1(void, accept, IN, osg::NodeVisitor &, nv); + I_Method0(void, setDefaults); + I_Method0(void, setUpEmitterAndProgram); + I_Method0(osgParticle::Emitter *, getEmitter); + I_Method0(const osgParticle::Emitter *, getEmitter); + I_Method0(osgParticle::Program *, getProgram); + I_Method0(const osgParticle::Program *, getProgram); + I_ReadOnlyProperty(osgParticle::Emitter *, Emitter); + I_ReadOnlyProperty(osgParticle::Program *, Program); +END_REFLECTOR + diff --git a/src/osgWrappers/osgUtil/RenderStage.cpp b/src/osgWrappers/osgUtil/RenderStage.cpp index 83be57e32..f75754fa3 100644 --- a/src/osgWrappers/osgUtil/RenderStage.cpp +++ b/src/osgWrappers/osgUtil/RenderStage.cpp @@ -66,8 +66,12 @@ BEGIN_OBJECT_REFLECTOR(osgUtil::RenderStage) I_Method0(double, getClearDepth); I_Method1(void, setClearStencil, IN, int, stencil); I_Method0(int, getClearStencil); - I_Method1(void, setCameraNode, IN, const osg::CameraNode *, camera); + I_Method1(void, setCameraNode, IN, osg::CameraNode *, camera); + I_Method0(osg::CameraNode *, getCameraNode); I_Method0(const osg::CameraNode *, getCameraNode); + I_Method1(void, setCameraRequiresSetUp, IN, bool, flag); + I_Method0(bool, getCameraRequiresSetUp); + I_Method1(void, runCameraSetUp, IN, osg::State &, state); I_MethodWithDefaults3(void, setTexture, IN, osg::Texture *, texture, , IN, unsigned int, level, 0, IN, unsigned int, face, 0); I_Method0(osg::Texture *, getTexture); I_Method1(void, setImage, IN, osg::Image *, image); @@ -100,7 +104,8 @@ BEGIN_OBJECT_REFLECTOR(osgUtil::RenderStage) I_Method1(void, addPreRenderStage, IN, osgUtil::RenderStage *, rs); I_Method1(void, addPostRenderStage, IN, osgUtil::RenderStage *, rs); I_Method1(bool, getStats, IN, osgUtil::Statistics *, primStats); - I_Property(const osg::CameraNode *, CameraNode); + I_Property(osg::CameraNode *, CameraNode); + I_Property(bool, CameraRequiresSetUp); I_Property(const osg::Vec4 &, ClearAccum); I_Property(const osg::Vec4 &, ClearColor); I_Property(double, ClearDepth); diff --git a/src/osgWrappers/osgUtil/Simplifier.cpp b/src/osgWrappers/osgUtil/Simplifier.cpp index a40f2f965..5a9fb42e1 100644 --- a/src/osgWrappers/osgUtil/Simplifier.cpp +++ b/src/osgWrappers/osgUtil/Simplifier.cpp @@ -9,7 +9,9 @@ #include #include -#include +#include +#include +#include // Must undefine IN and OUT macros defined in Windows headers #ifdef IN @@ -21,3 +23,29 @@ TYPE_NAME_ALIAS(std::vector< unsigned int >, osgUtil::Simplifier::IndexList); +BEGIN_OBJECT_REFLECTOR(osgUtil::Simplifier) + I_BaseType(osg::NodeVisitor); + I_ConstructorWithDefaults2(IN, float, sampleRatio, 1.0f, IN, float, maximumError, 0.0f); + I_Method1(void, setSampleRatio, IN, float, sampleRatio); + I_Method0(float, getSampleRatio); + I_Method1(void, setMaximumError, IN, float, error); + I_Method0(float, getMaximumError); + I_Method1(void, setContinueSimplificationCallback, IN, osgUtil::Simplifier::ContinueSimplificationCallback *, cb); + I_Method0(osgUtil::Simplifier::ContinueSimplificationCallback *, getContinueSimplificationCallback); + I_Method0(const osgUtil::Simplifier::ContinueSimplificationCallback *, getContinueSimplificationCallback); + I_Method3(bool, continueSimplification, IN, float, nextError, IN, unsigned int, numOriginalPrimitives, IN, unsigned int, numRemainingPrimitives); + I_Method3(bool, continueSimplificationImplementation, IN, float, nextError, IN, unsigned int, numOriginalPrimitives, IN, unsigned int, numRemainingPrimitives); + I_Method1(void, apply, IN, osg::Geode &, geode); + I_Method1(void, simplify, IN, osg::Geometry &, geometry); + I_Method2(void, simplify, IN, osg::Geometry &, geometry, IN, const osgUtil::Simplifier::IndexList &, protectedPoints); + I_Property(osgUtil::Simplifier::ContinueSimplificationCallback *, ContinueSimplificationCallback); + I_Property(float, MaximumError); + I_Property(float, SampleRatio); +END_REFLECTOR + +BEGIN_OBJECT_REFLECTOR(osgUtil::Simplifier::ContinueSimplificationCallback) + I_BaseType(osg::Referenced); + I_Constructor0(); + I_Method4(bool, continueSimplification, IN, const osgUtil::Simplifier &, simplifier, IN, float, nextError, IN, unsigned int, numOriginalPrimitives, IN, unsigned int, numRemainingPrimitives); +END_REFLECTOR +