00001 00032 #ifndef LL_LISTENER_H 00033 #define LL_LISTENER_H 00034 00035 #include "v3math.h" 00036 00037 class LLListener 00038 { 00039 private: 00040 protected: 00041 LLVector3 mPosition; 00042 LLVector3 mVelocity; 00043 LLVector3 mListenAt; 00044 LLVector3 mListenUp; 00045 00046 public: 00047 00048 private: 00049 protected: 00050 public: 00051 LLListener(); 00052 virtual ~LLListener(); 00053 virtual void init(); 00054 virtual void free(); 00055 00056 virtual void set(LLVector3 pos, LLVector3 vel, LLVector3 up, LLVector3 at); 00057 00058 virtual void setPosition(LLVector3 pos); 00059 virtual void setVelocity(LLVector3 vel); 00060 00061 virtual void orient(LLVector3 up, LLVector3 at); 00062 virtual void translate(LLVector3 offset); 00063 00064 virtual void setDopplerFactor(F32 factor); 00065 virtual void setDistanceFactor(F32 factor); 00066 virtual void setRolloffFactor(F32 factor); 00067 00068 virtual LLVector3 getPosition(); 00069 virtual LLVector3 getAt(); 00070 virtual LLVector3 getUp(); 00071 00072 virtual F32 getDopplerFactor(); 00073 virtual F32 getDistanceFactor(); 00074 virtual F32 getRolloffFactor(); 00075 00076 virtual void commitDeferredChanges(); 00077 }; 00078 00079 #endif 00080