SoListenerPositionElement(3)

πŸ“¦
version 4.0.10 Β· 5 versions
, in fedora 43

πŸ’– SoListenerPositionElement(3) πŸ’–

okay bestie, gather round, because we're doing the SoListenerPositionElement page from the Coin manual and it's honestly kind of iconic. it holds the position of the current listener, that's the whole vibe, let's get into it 🎧✨


🌸 NAME 🌸

SoListenerPositionElement β€” the element that holds the position of the current listener. that's it, that's the job, and it does it flawlessly πŸ’…


✨ SYNOPSIS ✨

#include <Inventor/elements/SoListenerPositionElement.h>

Inherits SoReplacedElement. yes, it's part of a whole family tree, and we're gonna meet the whole family, no skipping, i promised 🫢

πŸ‘‘ Public Member Functions

  • virtual void init(SoState *state)
  • virtual void print(FILE *file) const β€” prints contents of the element (not implemented, so don't get your hopes up bestie 😭)

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 set(SoState *const state, SoNode *const node, const SbVec3f &position, SbBool setbylistener)
  • static const SbVec3f & get(SoState *const state) β€” returns the current listener position 🎯
  • static SbBool isSetByListener(SoState *const state)

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 ~SoListenerPositionElement()

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 position
  • SbBool setbylistener

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 SoListenerPositionElement holds the position of the current listener. literally its entire purpose, and it's serving πŸ’β€β™€οΈ

This position is set by SoListener nodes and SoCamera Nodes during audio rendering. when a SoListener gets visited by the SoAudioRenderAction, it will add a new SoListenerPositionElement to the state, holding its position and with the setbylistener flag set. and 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. so basically the listener calls dibs and the camera respects it, we love a boundary-setting queen πŸ‘‘

The SoListenerPositionElement is used when the SoVRMLSound nodes render themselves. iykyk πŸ”Š

Be aware that this class is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API. so if you go looking for it over there, she's simply not there bestie πŸ™ˆ

Since

Coin 2.0 πŸŽ‚


πŸ› οΈ Constructor & Destructor Documentation πŸ› οΈ

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

Destructor. she says bye πŸ’”


πŸ“š Member Function Documentation πŸ“š

SoType SoListenerPositionElement::getClassTypeId(void) [static]

This static method returns the SoType object associated with objects of this class. classic type-system behavior ✨

int SoListenerPositionElement::getClassStackIndex(void) [static]

This static method returns the state stack index for the class. she knows her place in the stack and she's not mad about it πŸ’…

void * SoListenerPositionElement::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. so, like, not your business unless you're deep in the library guts 🫣

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

void SoListenerPositionElement::initClass(void) [static]

Initialize relevant common data for all instances, like the type system. setting up the whole squad before the party starts πŸŽ‰

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

Initializes the element to its default value. and the defaults are:

  • the default value for the position is (0.0, 0.0, 0.0) β€” dead center, origin behavior, main character energy 🎯
  • 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. so it's both a setter and a receipts-keeper, obsessed 😌

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. simple, honest, no notes ✨

void SoListenerPositionElement::print(FILE *file) const [virtual]

Prints contents of element (not implemented). yeah bestie it just doesn't do that 😭

Reimplemented from SoReplacedElement.


πŸ“ Member Data Documentation πŸ“

SbVec3f SoListenerPositionElement::position [protected]

The position of the listener in world space. Can be set by the SoListener class or the SoCamera class. world-space girlies rise up πŸŒπŸ’«


πŸ’Œ Author πŸ’Œ

Generated automatically by Doxygen for Coin from the source code. yes, a robot wrote it, and honestly the robot ate πŸ€–πŸ’…


okay that's the whole page, and to close it out: this bad girl is Version 4.0.10, dated Thu Jun 25 2026, and she's out here doing listener-position things in the Coin manual. thanks for reading my ted talk, ily, go render some audio 🎧🌸✨

πŸ“¦ where this page comes from