---
name: "SoListenerDopplerElement"
section: "3"
platform: "linux"
package: "coin"
version: "1:4.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/SoListenerDopplerElement"
---

# SoListenerDopplerElement(3)

The SoListenerDopplerElement holds the Doppler velocity and factor of the current listener.

## NAME

SoListenerDopplerElement - The **SoListenerDopplerElement** holds the Doppler velocity and factor of the current listener.

## SYNOPSIS

\#include \<Inventor/elements/SoListenerDopplerElement.h\>

Inherits **SoReplacedElement**.

### Public Member Functions

virtual void **init** (**SoState** \*state)\
 virtual void **print** (FILE \*file) const\
 Prints the contents of the element (unimplemented).

Public Member Functions inherited from **SoReplacedElement** virtual SbBool **matches** (const **SoElement** \*element) const\
 virtual **SoElement** \* **copyMatchInfo** () const\
 SbUniqueId **getNodeId** () const\

Public Member Functions inherited from **SoElement** const **SoType** **getTypeId** (void) const\
 int **getStackIndex** (void) const\
 virtual void **push** (**SoState** \*state)\
 virtual void **pop** (**SoState** \*state, const **SoElement** \*prevTopElement)\
 void **setDepth** (const int **depth**)\
 int **getDepth** (void) const\
 virtual **~SoElement** ()\

### Static Public Member Functions

static **SoType** **getClassTypeId** (void)\
 static int **getClassStackIndex** (void)\
 static void \* **createInstance** (void)\
 static void **initClass** (void)\
 static void **setDopplerVelocity** (**SoState** \*const state, **SoNode** \*const node, const **SbVec3f** &velocity)\
 static void **setDopplerFactor** (**SoState** \*const state, **SoNode** \*const node, float factor)\
 static const **SbVec3f** & **getDopplerVelocity** (**SoState** \*const state)\
 Returns the current listener's Doppler velocity.  static float **getDopplerFactor** (**SoState** \*const state)\
 Returns the current listener's Doppler factor.

Static Public Member Functions inherited from **SoReplacedElement** static **SoType** **getClassTypeId** (void)\
 static int **getClassStackIndex** (void)\
 static void **initClass** (void)\

Static Public Member Functions inherited from **SoElement** static void **initClass** (void)\
 static **SoType** **getClassTypeId** (void)\
 static int **getClassStackIndex** (void)\
 static void **initElements** (void)\
 static int **getNumStackIndices** (void)\
 static **SoType** **getIdFromStackIndex** (const int **stackIndex**)\

### Protected Member Functions

virtual **~SoListenerDopplerElement** ()\

Protected Member Functions inherited from **SoReplacedElement** virtual **~SoReplacedElement** ()\

Protected Member Functions inherited from **SoElement** **SoElement** (void)\
 void **capture** (**SoState** \*const state) const\
 virtual void **captureThis** (**SoState** \*state) const\
 void **setTypeId** (const **SoType** **typeId**)\
 void **setStackIndex** (const int index)\
 **SoElement** \* **getNextInStack** (void) const\
 **SoElement** \* **getNextFree** (void) const\

### Protected Attributes

**SbVec3f** **dopplerVelocity**\
 float **dopplerFactor**\

Protected Attributes inherited from **SoReplacedElement** SbUniqueId **nodeId**\

Protected Attributes inherited from **SoElement** **SoType** **typeId**\
 int **stackIndex**\
 int **depth**\

### Additional Inherited Members

Static Protected Member Functions inherited from **SoReplacedElement** static **SoElement** \* **getElement** (**SoState** \*const state, const int **stackIndex**, **SoNode** \*const node)\

Static Protected Member Functions inherited from **SoElement** static **SoElement** \* **getElement** (**SoState** \*const state, const int **stackIndex**)\
 static const **SoElement** \* **getConstElement** (**SoState** \*const state, const int **stackIndex**)\
 static int **createStackIndex** (const **SoType** id)\

Static Protected Attributes inherited from **SoElement** static int **classStackIndex**\
 static **SoTypeList** \* **stackToType**\

## Detailed Description

The **SoListenerDopplerElement** holds the Doppler velocity and factor of the current listener.

The dopplerVelocity and dopplerFactor is set by **SoListener** nodes during audio rendering. The **SoListenerDopplerElement** is used when the **SoVRMLSound** nodes render themselves.

Be aware that this class is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.\

**Since**

Coin 2.0

## Constructor & Destructor Documentation

### SoListenerDopplerElement::~SoListenerDopplerElement (void ) \[protected\], \[virtual\]

Destructor.

## Member Function Documentation

### SoType SoListenerDopplerElement::getClassTypeId (void ) \[static\]

This static method returns the **SoType** object associated with objects of this class.

### int SoListenerDopplerElement::getClassStackIndex (void ) \[static\]

This static method returns the state stack index for the class.

### void \* SoListenerDopplerElement::createInstance (void ) \[static\]

*This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.*\

 Creates a new instance of the class type corresponding to the **SoType** object.

### void SoListenerDopplerElement::initClass (void ) \[static\]

Initialize relevant common data for all instances, like the type system.

### void SoListenerDopplerElement::init (SoState \* state) \[virtual\]

Initializes the element to its default value. The default value for the velocity is (0.0, 0.0, 0.0), in other words, the listener is not moving. The default value for the dopplerFactor is 0.0, in other words, Doppler effect is disabled.

Reimplemented from **SoReplacedElement**.

### void SoListenerDopplerElement::setDopplerVelocity (SoState \*const state, SoNode \*const node, const SbVec3f & velocity) \[static\]

Sets the current listener's Doppler velocity.

### void SoListenerDopplerElement::setDopplerFactor (SoState \*const state, SoNode \*const node, float factor) \[static\]

Sets the current listener's Doppler factor.

### void SoListenerDopplerElement::print (FILE \* file) const \[virtual\]

Prints the contents of the element (unimplemented).

Reimplemented from **SoReplacedElement**.

## Member Data Documentation

### SbVec3f SoListenerDopplerElement::dopplerVelocity \[protected\]

The Doppler velocity of the listener. It is the application programmer's responsibility to set this value. Coin does not update this value automatically based on changes in a listener's position.

### float SoListenerDopplerElement::dopplerFactor \[protected\]

The amount of Doppler effect applied to the listener. The normal range would be \[0.0f to 1.0f\], where 0.0f is default and disable all Doppler effects.

## Author

Generated automatically by Doxygen for Coin from the source code.
