SoListenerPositionElement(3)
π 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) constvirtual SoElement * copyMatchInfo() constSbUniqueId getNodeId() const
Public Member Functions inherited from SoElement
const SoType getTypeId(void) constint getStackIndex(void) constvirtual void push(SoState *state)virtual void pop(SoState *state, const SoElement *prevTopElement)void setDepth(const int depth)int getDepth(void) constvirtual ~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) constvirtual void captureThis(SoState *state) constvoid setTypeId(const SoType typeId)void setStackIndex(const int index)SoElement * getNextInStack(void) constSoElement * getNextFree(void) const
π¦ Protected Attributes
SbVec3f positionSbBool setbylistener
Protected Attributes inherited from SoReplacedElement
SbUniqueId nodeId
Protected Attributes inherited from SoElement
SoType typeIdint stackIndexint 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 classStackIndexstatic 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
setByListenerflag isFALSE
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
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms