![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtImprovedModularEmitter.h,v $ $Revision: 1.10 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #ifndef DtImprovedModularEmitter_H_ 00014 #define DtImprovedModularEmitter_H_ 00015 00016 #include <vrvOsg/vrvOsg.h> 00017 #include <osgParticle/ModularEmitter> 00018 00019 namespace makVrv 00020 { 00024 class DT_DLL_VRVOSG DtImprovedModularEmitter : public osgParticle::ModularEmitter 00025 { 00026 public: 00027 00029 DtImprovedModularEmitter(); 00030 DtImprovedModularEmitter(const DtImprovedModularEmitter& copy, const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY); 00031 DtImprovedModularEmitter(const osgParticle::ModularEmitter& modularEmitter); 00032 00034 virtual ~DtImprovedModularEmitter(); 00035 00036 META_Node(vrvOsg,DtImprovedModularEmitter); 00037 00039 virtual void setMaximumCompensationCount(int count); 00040 00042 virtual int maximumCompensationCount() const; 00043 00045 virtual void emitParticles(double dt); 00046 00049 virtual void setWorldToLocalOrigin(const osg::Matrixd& mat); 00050 00051 protected: 00052 int myMaximumCompensationCount; 00053 osg::Vec3 myPosition; 00054 float myDistanceSinceLastCompensationParticle; 00055 osg::Matrixd myWorldToLocalOrigin; 00056 }; 00057 } 00058 00059 #endif 00060