SoScXMLDollyTarget(3)

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

πŸ’– NAME πŸ’–

okay so bestie, welcome to SoScXMLDollyTarget β€” it's the SCXML event target service for zoom behaviour. yes, the camera-zooming one. she's giving main character energy for your navigation events. πŸŽ€

This page is SoScXMLDollyTarget(3) from the Coin manual, and I'm gonna walk you through every single thing on it. no skips. periodt. πŸ’…


✨ SYNOPSIS ✨

First things first, you gotta include her:

#include <Inventor/scxml/SoScXMLDollyTarget.h>

She inherits from SoScXMLNavigationTarget. family tree matters, iykyk. 🌸

🫢 Public Member Functions

  • virtual SoType getTypeId (void) const β€” hands you the type identification of an object derived from a class inheriting SoBase. it's literally for runtime type checking and "downward"casting. the glow-up from generic to specific, fr fr.

πŸ¦‹ Public Member Functions inherited from ScXMLEventTarget

  • virtual void setEventTargetType (const char *targettype)
  • const char * getEventTargetType (void) const
  • virtual void setEventTargetName (const char *targetname)
  • const char * getEventTargetName (void) const
  • virtual const ScXMLEvent * getCurrentEvent (void) const
  • virtual void queueEvent (const ScXMLEvent *event)
  • virtual void queueEvent (const SbName &eventid)
  • virtual SbBool processEventQueue (void)
  • virtual SbBool sendExternalEvent (const ScXMLSendElt *sendelt)
  • virtual SbBool sendInternalEvent (const ScXMLEventElt *sendelt)
  • virtual void queueInternalEvent (const ScXMLEvent *event)
  • virtual void queueInternalEvent (const SbName &eventid)

🌈 Public Member Functions inherited from ScXMLObject

  • SbBool isOfType (SoType type) const β€” returns TRUE if the type of this object is either the same type or inherited from type. so she's like "am I one of y'all?" and the answer is honest. πŸ’―

πŸ’œ Static Public Member Functions

  • static SoType getClassTypeId (void)
  • static void * createInstance (void)
  • static void initClass (void)
  • static void cleanClass (void)
  • static SoScXMLDollyTarget * constructSingleton (void)
  • static void destructSingleton (void)
  • static SoScXMLDollyTarget * singleton (void)
  • static const SbName & BEGIN (void)
  • static const SbName & UPDATE (void)
  • static const SbName & END (void)
  • static const SbName & JUMP (void)
  • static const SbName & STEP_IN (void)
  • static const SbName & STEP_OUT (void)
  • static void dolly (SoCamera *camera, float diff)
  • static void jump (SoCamera *camera, float focaldistance)
  • static void step (SoCamera *camera, SbBool exponential, float diff, float min=0.0f, float max=0.0f)

πŸŽ€ Static Public Member Functions inherited from SoScXMLNavigationTarget

  • static SoType getClassTypeId (void)
  • static void initClass (void)
  • static void cleanClass (void)

πŸŽ€ Static Public Member Functions inherited from ScXMLEventTarget

  • static SoType getClassTypeId (void)
  • static void initClass (void)
  • static void cleanClass (void)

⭐ Static Public Member Functions inherited from ScXMLObject

  • static SoType getClassTypeId (void) β€” this static method returns the SoType object associated with objects of this class.
  • static void initClass (void) β€” sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
  • static void cleanClass (void) β€” does the opposite of initClass: deallocates any class specific resources and resets the class to an uninitialized state with respect to the Coin type system. it's the un-glow-up. πŸ’€

πŸ”₯ Protected Member Functions

  • SoScXMLDollyTarget (void)
  • virtual SbBool processOneEvent (const ScXMLEvent *event)

πŸ”₯ Protected Member Functions inherited from SoScXMLNavigationTarget

  • Data * getSessionData (SbName sessionid, NewDataFunc *constructor)
  • void freeSessionData (SbName sessionid)

πŸ”₯ Protected Member Functions inherited from ScXMLEventTarget

  • virtual void setCurrentEvent (const ScXMLEvent *event)
  • virtual const ScXMLEvent * getNextEvent (void)
  • virtual const ScXMLEvent * getNextInternalEvent (void)
  • virtual const ScXMLEvent * getNextExternalEvent (void)

🌟 Additional Inherited Members

🧚 Protected Types inherited from SoScXMLNavigationTarget

  • typedef Data * NewDataFunc(void)

🧚 Static Protected Member Functions inherited from SoScXMLNavigationTarget

  • static SbName getSessionId (const ScXMLEvent *event)
  • static ScXMLStateMachine * getStateMachine (const ScXMLEvent *event, SbName sessionid)
  • static SoScXMLStateMachine * getSoStateMachine (const ScXMLEvent *event, SbName sessionid)
  • static SoCamera * getActiveCamera (const ScXMLEvent *event, SbName sessionid)
  • static SbBool getEventDouble (const ScXMLEvent *event, const char *label, double &dbl_out, SbBool required=TRUE)
  • static SbBool getEventString (const ScXMLEvent *event, const char *label, SbString &str_out, SbBool required=TRUE)
  • static SbBool getEventSbBool (const ScXMLEvent *event, const char *label, SbBool &bool_out, SbBool required=TRUE)
  • static SbBool getEventSbVec2f (const ScXMLEvent *event, const char *label, SbVec2f &vec_out, SbBool required=TRUE)
  • static SbBool getEventSbVec3f (const ScXMLEvent *event, const char *label, SbVec3f &vec_out, SbBool required=TRUE)
  • static SbBool getEventSbRotation (const ScXMLEvent *event, const char *label, SbRotation &rot_out, SbBool required=TRUE)

🧚 Static Protected Member Functions inherited from ScXMLEventTarget

  • static void registerEventTarget (ScXMLEventTarget *target, const char *sessionid=NULL)
  • static void unregisterEventTarget (ScXMLEventTarget *target, const char *sessionid=NULL)
  • static ScXMLEventTarget * getEventTarget (const char *targettype, const char *targetname, const char *sessionid=NULL)

🧚 Static Protected Member Functions inherited from ScXMLObject

  • static void registerClassType (const char *xmlns, const char *classname, SoType type)
  • static void registerInvokeClassType (const char *xmlns, const char *targettype, const char *source, SoType type)

🧚 Protected Attributes inherited from ScXMLEventTarget

  • char * targetname
  • char * targettype
  • const ScXMLEvent * currentevent
  • SbBool isprocessingqueue

🌈 Detailed Description 🌈

okay so what is she? SCXML event target service for zoom behaviour. that's the whole vibe: she listens for dolly/zoom events and moves the camera accordingly. obsessed. πŸ¦‹

The events she handles all live under this namespace:

x-coin-navigation.Dolly.*

and here's every single one of them, in all her glory:

BEGIN _sessionid {string} mouseposition {SbVec2f} [absminfocaldistance] {float} [absmaxfocaldistance] {float} [setfocaldistance] {float} [motiontype] {string:exponential,linear}
UPDATE _sessionid {string} mouseposition {SbVec2f}
END _sessionid {string} mouseposition {SbVec2f}
JUMP _sessionid {string} focaldistance {float}
STEP_IN _sessionid [count=1] {float} [absminfocaldistance] {float} [motiontype] {string:exponential,linear}
STEP_OUT _sessionid [count=1] {float} [absmaxfocaldistance] {float} [motiontype] {string:exponential,linear}
🫢 little note: the [bracketed] bits are optional, the {braced} bits are the typed payloads, and _sessionid is always in the mix. don't come for me, that's just how the original reads.

⏳ Since

Coin 3.1. she's been around a minute. vintage queen. πŸ‘‘


πŸŽ€ Constructor & Destructor Documentation πŸŽ€

SoScXMLDollyTarget::SoScXMLDollyTarget (void ) [protected]

the constructor registers the singleton with the proper name and target type. so like, the second she exists, she's already introducing herself. social butterfly behaviour, honestly. πŸ¦‹


πŸ’… Member Function Documentation πŸ’…

SoType SoScXMLDollyTarget::getTypeId (void ) const [virtual]

returns the type identification of an object derived from a class inheriting SoBase. this is used for runtime type checking and "downward" casting.

See also: SoBase::getTypeId() const

Implements SoScXMLNavigationTarget.


const SbName & SoScXMLDollyTarget::BEGIN (void ) [static]

returns the full name for the dolly BEGIN SCXML event. ✨

const SbName & SoScXMLDollyTarget::UPDATE (void ) [static]

returns the full name for the dolly UPDATE SCXML event. ✨

const SbName & SoScXMLDollyTarget::END (void ) [static]

returns the full name for the dolly END SCXML event. ✨

const SbName & SoScXMLDollyTarget::JUMP (void ) [static]

returns the full name for the dolly JUMP SCXML event. ✨

const SbName & SoScXMLDollyTarget::STEP_IN (void ) [static]

returns the full name for the dolly STEP_IN SCXML event. ✨

const SbName & SoScXMLDollyTarget::STEP_OUT (void ) [static]

returns the full name for the dolly STEP_OUT SCXML event. ✨


void SoScXMLDollyTarget::jump (SoCamera * camera, float focaldistance) [static]

jumps the camera to focaldistance distance from the current focal point of the camera. this function only changes the SoCamera::position field. that's it. nothing else. don't @ me.

πŸ’€ heads up bestie: this function is more or less useless to use on an SoOrthographicCamera. like, genuinely. it's giving "not built for that."

void SoScXMLDollyTarget::step (SoCamera * camera, SbBool exponential, float diff, float mindistance = 0.0f, float maxdistance = 0.0f) [static]

steps the camera relative to its orientation and focal point by diff.

if exponential is FALSE, then the diff value is treated as an absolute distance value.

if mindistance and/or maxdistance is anything but 0.0, they are checked against the focal distance, and the focal distance will be clamped inside the range. both are not needed β€” if only one is specified, only that part of the range will be used to limit the dollying.

😭 if exponential is TRUE... FIXME. yeah. that's literally what the original says. the docs just stop. iconically unhinged of them.

SbBool SoScXMLDollyTarget::processOneEvent (const ScXMLEvent * event) [protected], [virtual]

dispatches incoming SCXML events to the corresponding functionality. she's the bouncer at the club β€” every event gets sent to exactly the right place. πŸŽ€

Reimplemented from ScXMLEventTarget.


πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for Coin from the source code. so nobody's taking credit, the robot did it. slay, robot. πŸ€–βœ¨


and that's the whole page, bestie! 🫢 this was Coin version 4.0.10, dated Thu Jun 25 2026 00:00:00, and the page you just read is SoScXMLDollyTarget(3). go zoom some cameras. no cap. πŸ’–πŸŒΈπŸ¦‹πŸ’…

πŸ“¦ where this page comes from