ScXMLStateMachine(3)

πŸ“¦ version 3.1.3, in fedora 43, fedora 44

πŸ’– ScXMLStateMachine πŸ’–

okay bestie, welcome to section 3 of the manual β€” this is ScXMLStateMachine(3), and she's the manager for processing events and setting states in SCXML structures. no cap. πŸ‘‘


🌸 NAME 🌸

ScXMLStateMachine β€” the manager that processes events and sets states in SCXML structures. she literally runs the whole vibe. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

#include <Inventor/scxml/ScXMLStateMachine.h>

Inherits ScXMLObject.

Inherited by SoScXMLStateMachine.

✨ Public Member Functions ✨

virtual SoType getTypeId (void) const
virtual void setName (const SbName &name)
const SbName & getName (void) const
virtual void setDescription (ScXMLDocument *document)
const ScXMLDocument * getDescription (void) const
virtual void initialize (void)
virtual void queueEvent (const ScXMLEvent *event, SbBool dealloc=FALSE)
virtual void queueEvent (const SbName &eventid)
virtual SbBool processEventQueue (void)
virtual SbBool isActive (void) const
virtual SbBool isFinished (void) const
virtual const ScXMLEvent * getCurrentEvent (void) const
virtual int getNumActiveStates (void) const
virtual const ScXMLObject * getActiveState (int idx) const
virtual const ScXMLObject * getState (const char *identifier) const
virtual void addDeleteCallback (ScXMLStateMachineDeleteCB *callback,
    void *userdata)
virtual void removeDeleteCallback (ScXMLStateMachineDeleteCB *callback,
    void *userdata)
virtual void addStateChangeCallback (ScXMLStateChangeCB *callback, void
    *userdata)
virtual void removeStateChangeCallback (ScXMLStateChangeCB *callback, void
    *userdata)

πŸ’œ Public Member Functions inherited from ScXMLObject

SbBool isOfType (SoType type) const
void setXMLAttribute (const char *attribute, const char *value)
const char * getXMLAttribute (const char *attribute) const
virtual SbBool handleXMLAttributes (void)
virtual void setContainer (ScXMLObject *container)
ScXMLObject * getContainer (void) const
SbBool isContainedIn (const ScXMLObject *object) const

🌈 Static Public Member Functions 🌈

static SoType getClassTypeId (void)
static void * createInstance (void)
static void initClass (void)

🌟 Static Public Member Functions inherited from ScXMLObject

static SoType getClassTypeId (void)
static void initClass (void)

πŸŽ€ Protected Member Functions πŸŽ€

virtual SbBool processOneEvent (const ScXMLEvent *event)
virtual void setCurrentEvent (const ScXMLEvent *event)

🧚 Additional Inherited Members

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)

πŸ‘‘ Detailed Description πŸ‘‘

Manager for processing events and setting states in SCXML structures. that's the whole job description, and she eats every single time. πŸ”₯

Since

Coin 3.0


πŸ’€ Member Function Documentation πŸ’€

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

Implements ScXMLObject.

void ScXMLStateMachine::initialize (void ) [virtual]

Fire up the engine. πŸ”₯ like, actually start the whole thing.

SbBool ScXMLStateMachine::processEventQueue (void ) [virtual]

okay so if you call this recursively? the recursive call is handled by just returning immediately β€” like, "not me, ask the first one" β€” while the first call keeps processing the event queue until it's empty. periodt.

SbBool ScXMLStateMachine::isActive (void ) const [virtual]

Returns whether the state machine is active or not.

SbBool ScXMLStateMachine::isFinished (void ) const [virtual]

Returns whether the state machine has run to completion or not. she's done, she's finished, no more events bestie.

const ScXMLEvent * ScXMLStateMachine::getCurrentEvent (void ) const [virtual]

This method returns the current event during event processing, and NULL when not processing events.

ngl, event processing is in special cases done with NULL as the current event β€” as for instance during state machine initialization. so don't be weirded out by the NULL, it's giving intentional. 🫢

int ScXMLStateMachine::getNumActiveStates (void ) const [virtual]

Returns the number of active states in the state machine. This number should currently be 1, but in the future, when <parallel> is implemented, it can be more. foreshadowing, iykyk. ✨

const ScXMLObject * ScXMLStateMachine::getActiveState (int idx) const [virtual]

Returns the Nth active state.

const ScXMLObject * ScXMLStateMachine::getState (const char * identifier) const [virtual]

Returns the state machine state object with the given identifier, or NULL if no object is found that has the given identifier. no match = NULL, that's the rule.

void ScXMLStateMachine::addDeleteCallback (ScXMLStateMachineDeleteCB * cb, void * userdata) [virtual]

Registers a callback to be called when the state machine object is being deleted. πŸͺ¦

void ScXMLStateMachine::removeDeleteCallback (ScXMLStateMachineDeleteCB * cb, void * userdata) [virtual]

Unregisters a callback to be called when the state machine object is being deleted.

void ScXMLStateMachine::addStateChangeCallback (ScXMLStateChangeCB * callback, void * userdata) [virtual]

Registers a callback to be called when the state machine exits or enters a state. main character energy, every single transition. πŸ‘‘

void ScXMLStateMachine::removeStateChangeCallback (ScXMLStateChangeCB * callback, void * userdata) [virtual]

Unregisters a callback to be called when the state machine exits or enters a state.

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

Processes one event. This is an internal inner event-loop utility function. lowkey just the plumbing, don't touch. πŸ™ˆ

void ScXMLStateMachine::setCurrentEvent (const ScXMLEvent * event) [protected], [virtual]

Sets a pointer for the event that is 'current' during event processing. This is an internal method, and updating the current event is handled automatically. so like… you don't have to do anything, she's got it. πŸ’…


πŸ“ Author πŸ“

Generated automatically by Doxygen for Coin from the source code.


and that's the whole page, bestie β€” written up for Coin, Version 3.1.3, dated with all the ScXMLStateMachine(3) energy. slay, read responsibly, and go queue some events. πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from