00001 /******************************************************************************* 00002 * PersonParticlePainter.h 00003 * 00004 * (C) 2011 AG Aktives Sehen <agas@uni-koblenz.de> 00005 * Universitaet Koblenz-Landau 00006 * 00007 * Additional information: 00008 * $Id: $ 00009 *******************************************************************************/ 00010 00011 #ifndef PersonParticlePainter_H 00012 #define PersonParticlePainter_H 00013 00014 #include "PainterPlugin.h" 00015 00016 #include "Workers/PeopleTracker/TrackedPerson.h" 00017 #include "Workers/SceneGraph/SceneGraph.h" 00018 #include "Workers/NewParticleFilter/PersonParticleFilter/PersonState.h" 00019 #include "Workers/NewParticleFilter/GenericParticleFilter/ParticleFilter.h" 00020 00021 #include <QtOpenGL> 00022 00028 class PersonParticlePainter: public PainterPlugin 00029 { 00030 Q_OBJECT 00031 00032 public: 00033 00035 PersonParticlePainter(); 00036 00038 ~PersonParticlePainter(); 00039 00041 virtual void paint ( float next2DLayer ); 00042 00043 public slots: 00044 00046 virtual void processMessage ( Message* newMessage ); 00047 00048 private: 00049 std::vector<PersonState> m_BestParticles; 00050 std::vector< AF::ParticleFilter<PersonState>* > m_ParticleFilters; 00051 00052 int m_NumParticlesToDraw; 00053 00054 SceneGraph m_ParticleModel; 00055 SceneGraph m_OtherParticleModel; 00056 }; 00057 00058 #endif // SKELETONPAINTER_H