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_plugins
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__