SGSampleGroup *find( const string& refname, bool create = false );
/**
- * Set the Geodetic position of the sound manager.
+ * Set the Cartesian position of the sound manager.
* @param pos OpenAL listener position
*/
- void set_position_geod( const SGGeod& pos ) {
- _position_geod = pos; _changed = true;
+ void set_position( const SGVec3d& pos ) {
+ _base_pos = pos; _changed = true;
}
void set_position_offset( const SGVec3d& pos ) {
- _position_offs = pos; _changed = true;
+ _offset_pos = pos; _changed = true;
}
/**
* Set the orientation of the sound manager
* @param ori Quaternation containing the orientation information
*/
- void set_orientation( const SGQuatd& ori, const SGQuatd& offs ) {
- _orientation = ori; _orient_offs = offs; _changed = true;
+ void set_orientation( const SGQuatd& ori ) {
+ _orientation = ori; _changed = true;
}
/**
* @return Quaternation containing the orientation information
*/
inline const SGQuatd& get_orientation() { return _orientation; }
- inline const SGQuatd& get_orientation_offset() { return _orient_offs; }
/**
* Get the direction vector of the sound manager
ALCcontext *_context;
// Position of the listener.
- SGGeod _position_geod;
- SGVec3d _position_offs;
SGVec3d _absolute_pos;
+ SGVec3d _offset_pos;
+ SGVec3d _base_pos;
// Velocity of the listener.
SGVec3f _velocity;
// Orientation of the listener.
// first 3 elements are "at" vector, second 3 are "up" vector
SGQuatd _orientation;
- SGQuatd _orient_offs;
ALfloat _at_up_vec[6];
sample_group_map _sample_groups;