# SoListener Class Reference
[Nodes, 3D sound support]

`#include <Inventor/nodes/SoListener.h>`

Inheritance diagram for SoListener:

List of all members.

## Detailed Description

The SoListener class defines listener attributes used when rendering sound.

When rendering geometry, one needs to have a camera defining certain attributes related to vieweing. The SoListener plays a similar role when it comes to rendering audio.

If no SoListener has been encountered when a SoVRMLSound node renders itself, it will use the position and the orientation of the current camera. In this case, a gain of 1, a dopplerVelocity of 0 and a dopplerFactor of 0 will be assumed.

Coin does not currently support doppler effects, so the dopplerVelocity and dopplerFactor fields are currently ignored.

See also:
  SoVRMLSound

## Public Member Functions

| SoListener ()

## Static Public Member Functions

void | initClass ()

## Public Attributes

SoSFVec3f | position
SoSFRotation | orientation
SoSFFloat | gain
SoSFVec3f | dopplerVelocity
SoSFFloat | dopplerFactor

## Protected Member Functions

virtual void | audioRender (class SoAudioRenderAction *action)
virtual | ~SoListener ()

## Friends

class | SoAudioRenderAction
class | SoListenerP

## Constructor & Destructor Documentation

SoListener::SoListener | ( |  | ) |

| Contructor.

SoListener::~SoListener | ( |  | ) | `[protected, virtual]`

| Destructor.

## Member Function Documentation

void SoListener::initClass | ( | void |  | ) | `[static]`

| Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. Reimplemented from SoNode.

void SoListener::audioRender | ( | class SoAudioRenderAction * | action | ) | `[protected, virtual]`

| Action method for SoAudioRenderAction. Does common processing for SoAudioRenderAction action instances. Reimplemented from SoNode.

## Member Data Documentation

SoSFVec3f SoListener::position

| Listener position. Defaults to (0.0f, 0.0f, 0.0f).

SoSFVec3f SoListener::orientation

| Listener orientation specified as a rotation value from the default orientation where the listener is looking pointing along the negative z-axis, with "up" along the positive y-axis. Defaults to SbRotation(SbVec3f(0.0f, 0.0f, 1.0f), 0.0f).

SoSFVec3f SoListener::gain

| The gain is a scalar amplitude multiplier that attenuates all sounds in the scene. The legal range is [0.0f, any), however a gain value > 1.0f might be clamped to 1.0f by the audio device. Defaults to 1.0f, meaning that the sound is un-attenuated. A gain value of 0.5f would be equivalent to a 6dB attenuation. If gain is set to 0.0f, no sound can be heard.

SoSFVec3f SoListener::dopplerVelocity

| The doppler velocity of the sound. It is the application programmer's responsibility to set this value. Coin does not update this value automatically based on changes in a sound's position. The default value is (0.0f, 0.0f, 0.0f). Coin does not yet support doppler effects.

SoSFFloat SoListener::dopplerFactor

| The amount of doppler effect applied to the sound. The legal range is [0.0f, any>, where 0.0f is default and disable all doppler effects, 1.0f would be a typical value for this field if doppler effects are required. Coin does not yet support doppler effects.

The documentation for this class was generated from the following files:

- SoListener.h
- SoListener.cpp