# SoListenerPositionElement Class Reference
[Elements (mostly for internal use)]

`#include <Inventor/elements/SoListenerPositionElement.h>`

Inheritance diagram for SoListenerPositionElement:

List of all members.

## Detailed Description

The SoListenerPositionElement holds the position of the current listener.

This position is set by SoListener nodes and SoCamera Nodes during audio rendering. When a SoListener is visited by the SoAudioRenderAction, it will add a new SoListenerPositionElement to the state, holding it's position and with the setbylistener flag set. When a SoCamera is visited by SoAudioRenderAction, it will add a new SoListenerPositionElement only if there are no previous elements with the setbylistener flag set.

The SoListenerPositionElement 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

## Public Member Functions

virtual void | init (SoState *state)
virtual void | print (FILE *file) const
| Prints contents of element (not implemented).

## Static Public Member Functions

void | initClass (void)
void | set (SoState *const state, SoNode *const node, const SbVec3f &position, SbBool setbylistener)
const SbVec3f & | get (SoState *const state)
| Returns the current listener position.
SbBool | isSetByListener (SoState *const state)

## Protected Member Functions

virtual | ~SoListenerPositionElement ()

## Protected Attributes

SbVec3f | position
SbBool | setbylistener

## Constructor & Destructor Documentation

SoListenerPositionElement::~SoListenerPositionElement | ( | void |  | ) | `[protected, virtual]`

| The destructor.

## Member Function Documentation

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

| This static method initializes static data for the SoListenerPositionElement class. Reimplemented from SoReplacedElement.

void SoListenerPositionElement::init | ( | SoState * | state | ) | `[virtual]`

| Initializes the element to it's default value. The default value for the position is (0.0f, 0.0f, 0.0f) and the default value for the setByListener flag is FALSE. Reimplemented from SoReplacedElement.

void SoListenerPositionElement::set | ( | SoState *const | state,
|  | SoNode *const | node,
|  | const SbVec3f & | position,
|  | SbBool | setbylistener
| ) | `[static]`

| Sets the current listener position, and indicates if it was set by a SoListener node or a SoCamera node.

SbBool SoListenerPositionElement::isSetByListener | ( | SoState *const | state | ) | `[static]`

| Returns TRUE if the position was set by a SoListener node, and FALSE if it was set by a SoCamera node

## Member Data Documentation

SoListenerPositionElement::position`[protected]`

| The position of the listener in world space. Can be set by the SoListener class or the SoCamera class.

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

- SoListenerPositionElement.h
- SoListenerPositionElement.cpp