00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #include "object_recognition_gui/object_recognition_display.h"
00031 #include "object_recognition_gui/object_recognition_rviz_ui.h"
00032
00033 #include <rviz/window_manager_interface.h>
00034 #include <rviz/render_panel.h>
00035 #include <rviz/visualization_manager.h>
00036 #include <rviz/properties/property.h>
00037 #include <rviz/properties/property_manager.h>
00038
00039 #include <OGRE/OgreRenderWindow.h>
00040
00041 namespace object_recognition_gui {
00042
00043 ObjectRecognitionDisplay::ObjectRecognitionDisplay( const std::string& name, rviz::VisualizationManager* manager ) :
00044 Display( name, manager ),
00045 object_recognition_ui_(0)
00046 {
00047 }
00048
00049 ObjectRecognitionDisplay::~ObjectRecognitionDisplay()
00050 {
00051 delete object_recognition_ui_;
00052 }
00053
00054 void ObjectRecognitionDisplay::onEnable()
00055 {
00056 object_recognition_ui_->startActionServer( update_nh_ );
00057 }
00058
00059 void ObjectRecognitionDisplay::onDisable()
00060 {
00061 object_recognition_ui_->stopActionServer();
00062 }
00063
00064 void ObjectRecognitionDisplay::update(float wall_dt, float ros_dt)
00065 {
00066 object_recognition_ui_->update(wall_dt, ros_dt);
00067 }
00068
00069 void ObjectRecognitionDisplay::createProperties()
00070 {
00071 if ( !object_recognition_ui_ )
00072 {
00073 ROS_INFO( "Creating UI" );
00074 object_recognition_ui_ = new ObjectRecognitionRvizUI(vis_manager_);
00075 }
00076
00077 rviz::BoolPropertyWPtr lPropertyW = property_manager_->createProperty<rviz::BoolProperty>(
00078 "Show Bounding Boxes", property_prefix_,
00079 boost::bind( &ObjectRecognitionRvizUI::getShowBoundingBoxes, object_recognition_ui_ ),
00080 boost::bind( &ObjectRecognitionRvizUI::showBoundingBoxes, object_recognition_ui_, _1 ),
00081 parent_category_, this );
00082
00083 }
00084
00085 }