00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __GZ_AUDIO_LISTENER_H__
00023 #define __GZ_AUDIO_LISTENER_H__
00024
00030 #include "gzNode.h"
00031 #include "gzCamera.h"
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047 class gzAudioListener : public gzNode
00048 {
00049 public:
00050 GZ_GRAPH_EXPORT gzAudioListener(const gzString &name=GZ_EMPTY_STRING);
00051
00052 GZ_GRAPH_EXPORT virtual ~gzAudioListener(){};
00053
00054 GZ_DECLARE_TYPE_INTERFACE_EXPORT(GZ_GRAPH_EXPORT);
00055
00056
00057
00058 GZ_GRAPH_EXPORT virtual gzVoid updateNode();
00059
00060
00061 GZ_GRAPH_EXPORT virtual gzReference* clone() const;
00062
00063
00064
00065 GZ_GRAPH_EXPORT gzVoid followCamera(gzCamera *camera,gzBool updateCameraScene=TRUE);
00066
00067 GZ_GRAPH_EXPORT gzBool setPosition(const gzVec3 &position , gzBool immediate=FALSE);
00068 GZ_GRAPH_EXPORT gzBool setOrientation(gzReal heading,gzReal pitch,gzReal roll,gzBool immediate=FALSE);
00069 GZ_GRAPH_EXPORT gzBool setDirection(const gzVec3 &targetvector, gzReal roll , const gzVec3 &up=gzVec3(0,1,0),gzBool immediate=FALSE);
00070
00071 GZ_GRAPH_EXPORT gzBool setGain(gzFloat gain=1.0f, gzBool immediate=FALSE);
00072
00073
00074
00075
00076 GZ_GRAPH_EXPORT virtual gzVoid preTraverseAction( gzTraverseAction *actionclass , gzContext *context);
00077
00078 protected:
00079
00080 gzRefPointer<gzCamera> m_followCam;
00081
00082 gzVec3 m_position;
00083 gzVec3 m_orientation;
00084 gzFloat m_gain;
00085 };
00086
00087
00088
00089 #endif // __GZ_AUDIO_LISTENER_H__
00090