// ***************************************************************************
//
//   Generated automatically by genwrapper.
//   Please DO NOT EDIT this file!
//
// ***************************************************************************

#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/Attributes>

#include <osg/CopyOp>
#include <osg/NodeVisitor>
#include <osg/Object>
#include <osg/Vec3>
#include <osgParticle/Emitter>
#include <osgParticle/Particle>
#include <osgParticle/ParticleEffect>
#include <osgParticle/ParticleSystem>
#include <osgParticle/Program>

// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif

BEGIN_ABSTRACT_OBJECT_REFLECTOR(osgParticle::ParticleEffect)
	I_BaseType(osg::Group);
	I_ConstructorWithDefaults1(IN, bool, automaticSetup, true);
	I_ConstructorWithDefaults2(IN, const osgParticle::ParticleEffect &, copy, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY);
	I_Method0(const char *, libraryName);
	I_Method0(const char *, className);
	I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj);
	I_Method1(void, accept, IN, osg::NodeVisitor &, nv);
	I_Method1(void, setAutomaticSetup, IN, bool, flag);
	I_Method0(bool, getAutomaticSetup);
	I_Method1(void, setUseLocalParticleSystem, IN, bool, local);
	I_Method0(bool, getUseLocalParticleSystem);
	I_Method1(void, setTextureFileName, IN, const std::string &, filename);
	I_Method0(const std::string &, getTextureFileName);
	I_Method1(void, setDefaultParticleTemplate, IN, const osgParticle::Particle &, p);
	I_Method0(const osgParticle::Particle &, getDefaultParticleTemplate);
	I_Method1(void, setPosition, IN, const osg::Vec3 &, position);
	I_Method0(const osg::Vec3 &, getPosition);
	I_Method1(void, setScale, IN, float, scale);
	I_Method0(float, getScale);
	I_Method1(void, setIntensity, IN, float, intensity);
	I_Method0(float, getIntensity);
	I_Method1(void, setStartTime, IN, double, startTime);
	I_Method0(double, getStartTime);
	I_Method1(void, setEmitterDuration, IN, double, duration);
	I_Method0(double, getEmitterDuration);
	I_Method1(void, setParticleDuration, IN, double, duration);
	I_Method0(double, getParticleDuration);
	I_Method1(void, setWind, IN, const osg::Vec3 &, wind);
	I_Method0(const osg::Vec3 &, getWind);
	I_Method0(bool, areAllParticlesDead);
	I_Method0(osgParticle::Emitter *, getEmitter);
	I_Method0(const osgParticle::Emitter *, getEmitter);
	I_Method0(osgParticle::Program *, getProgram);
	I_Method0(const osgParticle::Program *, getProgram);
	I_Method1(void, setParticleSystem, IN, osgParticle::ParticleSystem *, ps);
	I_Method0(osgParticle::ParticleSystem *, getParticleSystem);
	I_Method0(const osgParticle::ParticleSystem *, getParticleSystem);
	I_Method0(void, setDefaults);
	I_Method0(void, setUpEmitterAndProgram);
	I_Method0(void, buildEffect);
	I_Property(bool, AutomaticSetup);
	I_Property(const osgParticle::Particle &, DefaultParticleTemplate);
	I_ReadOnlyProperty(osgParticle::Emitter *, Emitter);
	I_Property(double, EmitterDuration);
	I_Property(float, Intensity);
	I_Property(double, ParticleDuration);
	I_Property(osgParticle::ParticleSystem *, ParticleSystem);
	I_Property(const osg::Vec3 &, Position);
	I_ReadOnlyProperty(osgParticle::Program *, Program);
	I_Property(float, Scale);
	I_Property(double, StartTime);
	I_Property(const std::string &, TextureFileName);
	I_Property(bool, UseLocalParticleSystem);
	I_Property(const osg::Vec3 &, Wind);
END_REFLECTOR

