Coin: ScXMLStateMachine Class Reference

| Coin3D is Free Software, published under the BSD 3-clause license. | https://coin3d.github.io https://www.kongsberg.com/en/kogt/

ScXMLStateMachine Class Reference
State Chart XML Classes

Manager for processing events and setting states in SCXML structures. More...

`#include <Inventor/scxml/ScXMLStateMachine.h>`

Inheritance diagram for ScXMLStateMachine:

## Public Member Functions
virtual SoType | getTypeId (void) const
| Returns the type identification of an object derived from a class inheriting SoBase. This is used for runtime type checking and "downward" casting.
virtual void | setName (const SbName &name)
const SbName & | getName (void) const
virtual void | setDescription (ScXMLDocument *document)
const ScXMLDocument * | getDescription (void) const
virtual void | setSessionId (const SbName &sessionid)
const SbName & | getSessionId (void) const
virtual void | initialize (void)
virtual SbBool | isActive (void) const
virtual SbBool | isFinished (void) const
virtual int | getNumActiveStates (void) const
virtual const ScXMLElt * | getActiveState (int idx) 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)
virtual void | setVariable (const char *name, const char *value)
virtual const char * | getVariable (const char *name) const
virtual void | setLogLevel (int loglevel)
int | getLogLevel (void) const
virtual void | setEvaluator (ScXMLEvaluator *evaluator)
ScXMLEvaluator * | getEvaluator (void) const
SbBool | isModuleEnabled (const char *modulename) const
int | getNumEnabledModules (void) const
const char * | getEnabledModuleName (int idx) const
void | setEnabledModulesList (const SbList< const char * > &modulenames)
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 of the same type or inherited from type.

## Static Public Member Functions
static SoType | getClassTypeId (void)
static void * | createInstance (void)
static void | initClass (void)
static void | cleanClass (void)
static ScXMLStateMachine * | getStateMachineForSessionId (const SbName &sessionid)
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.

## Protected Member Functions
virtual SbBool | processOneEvent (const ScXMLEvent *event)
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
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

Manager for processing events and setting states in SCXML structures.

Since
  Coin 3.0

## Member Function Documentation

## ◆ getTypeId()

SoType ScXMLStateMachine::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 ScXMLEventTarget.

Reimplemented in SoScXMLStateMachine.

## ◆ setSessionId()

void ScXMLStateMachine::setSessionId | ( | const SbName & | sessionidarg | ) |
| virtual

This sets the session identifier for the state machine. Using this is optional, since state machines are already assigned unique session ids at construction-time.

## ◆ getSessionId()

const SbName & ScXMLStateMachine::getSessionId | ( | void |  | ) | const

Returns the session identifier string for the state machine.

## ◆ initialize()

void ScXMLStateMachine::initialize | ( | void |  | ) |
| virtual

Fire up the engine.

## ◆ isActive()

SbBool ScXMLStateMachine::isActive | ( | void |  | ) | const
| virtual

Returns whether the state machine is active or not.

## ◆ isFinished()

SbBool ScXMLStateMachine::isFinished | ( | void |  | ) | const
| virtual

Returns whether the state machine has run to completion or not.

## ◆ getNumActiveStates()

int ScXMLStateMachine::getNumActiveStates | ( | void |  | ) | const
| virtual

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

Event processing is in special cases done with `NULL` as the current event, as for instance during state machine initialization.

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 greater.

## ◆ getActiveState()

const ScXMLElt * ScXMLStateMachine::getActiveState | ( | int | idx | ) | const
| virtual

Returns the Nth active state.

## ◆ addDeleteCallback()

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

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

## ◆ removeDeleteCallback()

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

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

## ◆ addStateChangeCallback()

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

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

## ◆ removeStateChangeCallback()

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

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

## ◆ getVariable()

const char * ScXMLStateMachine::getVariable | ( | const char * | name | ) | const
| virtual

Reimplemented in SoScXMLStateMachine.

## ◆ processOneEvent()

SbBool ScXMLStateMachine::processOneEvent | ( | const ScXMLEvent * | event | ) |
| protectedvirtual

Processes one event. This is an internal inner event-loop utility function.

Reimplemented from ScXMLEventTarget.

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

- ScXMLStateMachine.h
- ScXMLStateMachine.cpp