00001 /******************************************************************************* 00002 * ParticleGridPainter.h 00003 * 00004 * (C) 2007 AG Aktives Sehen <agas@uni-koblenz.de> 00005 * Universitaet Koblenz-Landau 00006 * 00007 * Additional information: 00008 * $Id: $ 00009 *******************************************************************************/ 00010 00011 #ifndef ParticleGridPainter_H 00012 #define ParticleGridPainter_H 00013 00014 #include "PainterPlugin.h" 00015 00016 #include "Messages/ParticleDataM.h" 00017 #include "Workers/Math/Pose.h" 00018 00024 class ParticleGridPainter: public PainterPlugin 00025 { 00026 Q_OBJECT 00027 00028 public: 00029 00031 ParticleGridPainter(); 00032 00034 ~ParticleGridPainter(); 00035 00037 virtual void paint ( float next2DLayer ); 00038 00039 public slots: 00040 00042 virtual void processMessage ( Message* newMessage ); 00043 00044 private: 00045 00046 void generateMesh(); 00047 00048 std::vector<ParticleDataM::ParticleData> m_ParticleData; 00049 float * m_WeightGrid; 00050 00052 int m_ParticleBinCount; 00053 float m_ParticleBinDisplaySize; 00054 float m_ParticlePeekHeight; 00055 float m_HeightPeek; 00056 00057 unsigned m_MinX; 00058 unsigned m_MinY; 00059 unsigned m_MaxX; 00060 unsigned m_MaxY; 00061 00062 Pose m_RobotPose; 00063 00064 }; 00065 00066 #endif