1 #ifndef OPENMW_COMPONENTS_NIFOSG_PARTICLE_H 
    2 #define OPENMW_COMPONENTS_NIFOSG_PARTICLE_H 
    4 #include <osgParticle/Particle> 
    5 #include <osgParticle/Shooter> 
    6 #include <osgParticle/Operator> 
    7 #include <osgParticle/Emitter> 
    8 #include <osgParticle/Placer> 
    9 #include <osgParticle/Counter> 
   11 #include <osg/NodeCallback> 
   18     class NiPlanarCollider;
 
   19     class NiSphericalCollider;
 
   35         virtual osgParticle::Particle* createParticle(
const osgParticle::Particle *ptemplate);
 
   64             : osg::Object(), osg::NodeCallback()
 
   70         void operator()(osg::Node* node, osg::NodeVisitor* nv);
 
   76         ParticleShooter(
float minSpeed, 
float maxSpeed, 
float horizontalDir, 
float horizontalAngle, 
float verticalDir, 
float verticalAngle,
 
   77                         float lifetime, 
float lifetimeRandom);
 
   83         virtual 
void shoot(osgParticle::Particle* particle) const;
 
   89         float mHorizontalAngle;
 
   93         float mLifetimeRandom;
 
  105         virtual void beginOperate(osgParticle::Program* program);
 
  106         virtual void operate(osgParticle::Particle* particle, 
double dt);
 
  123         virtual void beginOperate(osgParticle::Program* program);
 
  124         virtual void operate(osgParticle::Particle* particle, 
double dt);
 
  140         virtual void beginOperate(osgParticle::Program* program);
 
  141         virtual void operate(osgParticle::Particle* particle, 
double dt);
 
  160         virtual 
void operate(osgParticle::Particle* particle, 
double dt);
 
  163         Vec4Interpolator mData;
 
  175         virtual void operate(osgParticle::Particle* particle, 
double dt);
 
  176         virtual void beginOperate(osgParticle::Program *);
 
  199         virtual void apply(osg::Node &searchNode);
 
  211         Emitter(
const std::vector<int>& targets);
 
  217         virtual void emitParticles(
double dt);
 
  219         void setShooter(osgParticle::Shooter* shooter);
 
  220         void setPlacer(osgParticle::Placer* placer);
 
  221         void setCounter(osgParticle::Counter* counter);
 
osg::Vec3f mPosition
Definition: particle.hpp:185
std::vector< int > mTargets
Definition: particle.hpp:225
int mRecIndex
Definition: particle.hpp:204
osg::BoundingSphere mSphere
Definition: particle.hpp:127
Definition: particle.hpp:57
ForceType
Definition: particle.hpp:180
float mDecay
Definition: particle.hpp:187
osg::ref_ptr< osgParticle::Counter > mCounter
Definition: particle.hpp:229
Definition: particle.hpp:181
osg::Plane mPlaneInParticleSpace
Definition: particle.hpp:111
Definition: particle.hpp:194
Definition: particle.hpp:73
float mGrowTime
Definition: particle.hpp:144
float mCachedDefaultSize
Definition: particle.hpp:147
Definition: controlled.hpp:103
InverseWorldMatrix(const InverseWorldMatrix ©, const osg::CopyOp &op)
Definition: particle.hpp:63
osg::Vec3f mDirection
Definition: particle.hpp:186
Definition: particle.hpp:114
osg::NodePath mFoundPath
Definition: particle.hpp:202
Definition: particle.hpp:151
int mQuota
Definition: particle.hpp:40
float mFadeTime
Definition: particle.hpp:145
ForceType mType
Definition: particle.hpp:184
osg::BoundingSphere mSphereInParticleSpace
Definition: particle.hpp:128
Definition: particle.hpp:44
float mBounceFactor
Definition: particle.hpp:126
osg::Plane mPlane
Definition: particle.hpp:110
osg::ref_ptr< osgParticle::Shooter > mShooter
Definition: particle.hpp:228
ParticleSystem()
Definition: particle.cpp:16
osg::Vec3f mCachedWorldDirection
Definition: particle.hpp:189
float mBounceFactor
Definition: particle.hpp:109
Definition: particle.hpp:96
ParticleAgeSetter(float age)
Definition: particle.hpp:47
META_Object(NifOsg, ParticleSystem) virtual osgParticle void setQuota(int quota)
Definition: particle.cpp:31
InverseWorldMatrix()
Definition: particle.hpp:60
osg::Vec3f mCachedWorldPosition
Definition: particle.hpp:188
float mForce
Definition: particle.hpp:179
Definition: controlled.hpp:114
osg::Group * mFound
Definition: particle.hpp:201
Definition: particle.hpp:166
Definition: particle.hpp:27
Definition: controlled.hpp:87
Definition: particle.hpp:131
ValueInterpolator< Nif::Vector4KeyMap, LerpFunc > Vec4Interpolator
Definition: particle.hpp:150
Definition: particle.hpp:208
osg::ref_ptr< osgParticle::Placer > mPlacer
Definition: particle.hpp:227