Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include "SkeletonPainter.h"
00012
00013 #include "Messages/TrackedPeopleM.h"
00014 #include "Messages/FollowingStateM.h"
00015 #include "Messages/RosSkeletonM.h"
00016
00017 #include <QtOpenGL>
00018 #include <GL/glut.h>
00019
00020 #include "Architecture/Config/Config.h"
00021
00022 #define THIS SkeletonPainter
00023
00024 THIS::THIS() : PainterPlugin( )
00025 {
00026 setName ( "Skeleton Tracking & Following" );
00027 m_SkeletonModel = SceneGraph ( "config/Skelett.xml" );
00028 }
00029
00030
00031 THIS::~THIS()
00032 {
00033 }
00034
00035
00036 void THIS::processMessage ( Message* newMessage )
00037 {
00038 PainterPlugin::processMessage ( newMessage );
00039 switch ( newMessage->getType() )
00040 {
00041 case MessageTypes::ROS_SKELETON_M:
00042 {
00043 if ( RosSkeletonM* message = Message::castTo<RosSkeletonM> ( newMessage ) )
00044 {
00045 m_TrackedSkeletons = message->getSceneGraph();
00046
00047
00048
00049
00050 requestRedraw();
00051 }
00052 break;
00053 }
00054 default:
00055 break;
00056
00057 }
00058 }
00059
00060 void THIS::paint ( float next2DLayer )
00061 {
00062 for (unsigned int i=0; i<m_TrackedSkeletons.size();++i)
00063 {
00064 m_TrackedSkeletons[i].paintGl();
00065 }
00066
00067 }
00068
00069
00070
00071 #undef THIS