Go to the documentation of this file.00001 #ifndef __AMBIENT_SOUND_VISUAL__
00002 #define __AMBIENT_SOUND_VISUAL__
00003
00004 #include <jsk_hark_msgs/HarkPower.h>
00005 #include <OGRE/OgreVector3.h>
00006 #include <OGRE/OgreQuaternion.h>
00007
00008 namespace Ogre
00009 {
00010 class SceneManager;
00011 class SceneNode;
00012
00013
00014 }
00015
00016 namespace rviz
00017 {
00018 class BillboardLine;
00019
00020 }
00021
00022 namespace jsk_rviz_plugin
00023 {
00024
00025
00026
00027
00028
00029
00030
00031
00032 class AmbientSoundVisual
00033 {
00034 public:
00035
00036
00037 AmbientSoundVisual( Ogre::SceneManager* scene_manager, Ogre::SceneNode* parent_node );
00038
00039
00040 virtual ~AmbientSoundVisual();
00041
00042
00043 void setMessage( const jsk_hark_msgs::HarkPower::ConstPtr& msg );
00044
00045
00046
00047
00048
00049
00050 void setFramePosition( const Ogre::Vector3& position );
00051 void setFrameOrientation( const Ogre::Quaternion& orientation );
00052
00053
00054
00055 void setColor( float r, float g, float b, float a );
00056
00057 void setWidth( float w );
00058 void setScale( float s );
00059 void setBias( float b );
00060 void setGrad( float g );
00061
00062 private:
00063
00064 rviz::BillboardLine* ambient_sound_power_line_;
00065
00066
00067
00068
00069 Ogre::SceneNode* frame_node_;
00070
00071
00072
00073 Ogre::SceneManager* scene_manager_;
00074
00075 Ogre::Vector3 position_;
00076 Ogre::Quaternion orientation_;
00077
00078
00079
00080 float width_,scale_,bias_,grad_;
00081 };
00082
00083
00084 }
00085
00086 #endif // __AMBIENT_SOUND_VISUAL__