listener.h

Go to the documentation of this file.
00001 
00024 #ifndef LISTENER_H_INCLUDED_C419EF1E
00025 #define LISTENER_H_INCLUDED_C419EF1E
00026 
00027 
00028 #include "openalpp/export.h"
00029 #include "openalpp/positionedobject.h"
00030 
00031 namespace openalpp {
00032 
00036 class OPENALPP_API Listener : public PositionedObject {
00037   float position_[3];
00038   float orientation_[6];
00039   float velocity_[3];
00040   static Listener *selectedlistener_;
00041   void init(float x,float y,float z,
00042             float vx,float vy,float vz,
00043             float directionx, float directiony, float directionz,
00044             float upx, float upy, float upz);
00045  
00046 protected:
00050   virtual ~Listener();
00051   
00052 public:
00057   Listener();
00058 
00059   
00063   Listener(const Listener &listener);
00064 
00078   Listener(float x,float y,float z,
00079            float directionx,float directiony,float directionz,
00080            float upx,float upy,float upz);
00081   
00089   Listener(float x, float y, float z);
00090 
00094   void select();
00095 
00100   bool isSelected();
00101 
00111   void setOrientation(float directionx,float directiony,float directionz,
00112                       float upx, float upy, float upz);
00113 
00123   void getOrientation(float &directionx,float &directiony,float &directionz, 
00124                       float &upx, float &upy, float &upz) const;
00125 
00130   Listener &operator=(const Listener &listener);
00131 
00135   void setPosition(float x, float y, float z);
00136 
00140   void getPosition(float &x, float &y, float &z) const;
00141 
00145   void setVelocity(float vx, float vy, float vz);
00146 
00150   void getVelocity(float &vx, float &vy, float &vz) const;
00151 };
00152 
00153 }
00154 
00155 #endif /* LISTENER_H_INCLUDED_C419EF1E */

Generated on Thu May 18 00:49:37 2006 for openalpp by  doxygen 1.4.6