---
name: "SoScXMLStateMachine"
section: "3"
platform: "linux"
package: "coin"
version: "1:4.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/SoScXMLStateMachine"
---

# SoScXMLStateMachine(3)

Integration level for using Coin events with SCXML-based state machines.

## NAME

SoScXMLStateMachine - Integration level for using Coin events with SCXML-based state machines.

## SYNOPSIS

\#include \<Inventor/scxml/SoScXMLStateMachine.h\>

Inherits **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 **setSceneGraphRoot** (**SoNode** \*root)\
 virtual **SoNode** \* **getSceneGraphRoot** (void) const\
 virtual void **setActiveCamera** (**SoCamera** \*camera)\
 virtual **SoCamera** \* **getActiveCamera** (void) const\
 virtual void **setViewportRegion** (const **SbViewportRegion** &vp)\
 virtual const **SbViewportRegion** & **getViewportRegion** (void) const\
 virtual void **preGLRender** (void)\
 virtual void **postGLRender** (void)\
 virtual SbBool **processSoEvent** (const **SoEvent** \*event)\
 virtual const char \* **getVariable** (const char \*key) const\

Public Member Functions inherited from **ScXMLStateMachine** 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 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 Public Member Functions inherited from **ScXMLStateMachine** 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.

### Additional Inherited Members

Protected Member Functions inherited from **ScXMLStateMachine** 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)\

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

Integration level for using Coin events with SCXML-based state machines.

This class is part of integrating the Coin types with the SCXML subsystem. SoScXMLStateMachines adds convenience for using SCXML state machines together with Coin events.

**Since**

Coin 3.0

## Member Function Documentation

### SoType SoScXMLStateMachine::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**

Reimplemented from **ScXMLStateMachine**.

### SbBool SoScXMLStateMachine::processSoEvent (const SoEvent \* event) \[virtual\]

This function makes the state machine process an **SoEvent**.

### const char \* SoScXMLStateMachine::getVariable (const char \* key) const \[virtual\]

The string returned from this function is only valid until the next variable is requested.

Reimplemented from **ScXMLStateMachine**.

## Author

Generated automatically by Doxygen for Coin from the source code.
