coin_scxml(3)

NAME
coin_scxml - State Chart XML Classes

 - This set of classes is a basic implementation of State Chart XML.

SYNOPSIS

  Classes
class ScXML
namespace for static ScXML-related functions.
class ScXMLObject
Base class for all SCXML objects.
class ScXMLEvent
Base class for events sent to SCXML state machines.
class ScXMLEventTarget
base class for event targets for inter-system event communication
class ScXMLStateMachine
Manager for processing events and setting states in SCXML structures.
class ScXMLElt
base class for all SCXML elements.
class ScXMLEltReader
base class for element reader objects
class ScXMLScxmlElt
implements the <scxml> SCXML element.
class ScXMLInitialElt
implements the <initial> SCXML element.
class ScXMLAbstractStateElt
abstract base class for the SCXML 'state' elements.
class ScXMLStateElt
implements the <state> SCXML element.
class ScXMLParallelElt
implements the <parallel> SCXML element.
class ScXMLFinalElt
implements the <final> SCXML element.
class ScXMLOnEntryElt
implements the <onentry> SCXML element.
class ScXMLOnExitElt
implements the <onexit> SCXML element.
class ScXMLTransitionElt
the <transition> SCXML element.
class ScXMLHistoryElt
implements the <history> SCXML element.
class ScXMLExecutableElt
base class for all SCXML elements with executable content.
class ScXMLEventElt
implements the <event> SCXML element.
class ScXMLIfElt
implements the <if> SCXML element.
class ScXMLElseIfElt
implements the <elseif> SCXML element.
class ScXMLElseElt
implements the <else> SCXML element.
class ScXMLLogElt
implements the <log> SCXML element.
class ScXMLDataModelElt
implements the <datamodel> SCXML element.
class ScXMLDataElt
the <data> SCXML element.
class ScXMLAssignElt
the <assign> SCXML element.
class ScXMLValidateElt
implements the <validate> SCXML element.
class ScXMLSendElt
the < send> SCXML element.
class ScXMLInvokeElt
implements the <invoke> SCXML element.
class ScXMLParamElt
implements the <param> SCXML element.
class ScXMLFinalizeElt
implements the <finalize> SCXML element.
class ScXMLContentElt
implements the <content> SCXML element.
class ScXMLAnchorElt
implements the <anchor> SCXML element.
class ScXMLScriptElt
implements the <script> SCXML element.
class ScXMLEvaluator
defines an interface for profile-dependent evaluators.
class ScXMLDataObj
base class for evaluator data objects in the SCXML data module
class ScXMLConstantDataObj
base class for immediate data values
class ScXMLReferenceDataObj
A data object representing a reference to another object in the data model.
class ScXMLAndOpExprDataObj
Implements the logical AND operator.
class ScXMLMinimumExprDataObj
implements the data objects for the evaluator for the minimum profile.
class ScXMLMinimumEvaluator
implements the evaluator for the minimum profile.
class ScXMLXPathEvaluator
implements the XPath evaluator.
class ScXMLECMAScriptEvaluator
evaluator for the ECMAScript profile.

Detailed Description

This set of classes is a basic implementation of State Chart XML. It is not complete, nor is it necessary conformant to those parts it implements.

Currently Coin uses SCXML for managing 3D viewer user interaction (the non-model-interaction part) - the examiner navigation mode in layman terms.

The Draft Specification for SCXML is at http://www.w3.org/TR/scxml/.

See also
    Navigation Classes

Since
    Coin 3.0

State Chart XML

The ScXML part of Coin is a basic, non-conformant, partial implementation of State Chart XML, based on the W3C Working Draft 16 May 2008 of SCXML http://www.w3.org/TR/2008/WD-scxml-20080516/. The latest version should be at http://www.w3.org/TR/scxml/. Read that document for a basic understanding how SCXML documents should be constructed.

Coin uses SCXML for setting up its navigation systems, to be able to remove hardcoded logic for user navigation and externalize it into XML files. This makes it easy for users to customize the navigation system for their own purposes.

Unsupported Items:

•   The <parallel> element is not supported as intended with parallel states. Coin will just treat it as an ordinary <state> element for now. Parallel states is not high up on the priority list, so expect this to be handled after a lot of other functionality is in place.

•   The <datamodel>-related part of the specification is not fully supported.

•   The 'target' attribute in the <transition> element can only identify a single state currently, not multiple as you would have to when having support for <parallel> elements (which we don't have).

•   The virtual state elements like <history> and <anchor> are just implemented as dummy states for now and do not do anything in relation to what they should actually do.

For learning more about how ScXML is implemented and used in Coin, take a look at $COINDIR/scxml/navigation/examiner.xml (or in the Coin source directory, data/scxml/navigation/examiner.xml) for an example of how an SCXML system for camera navigation looks, and look at the source files in src/navigation/ for the C++ counterparts to the same SCXML navigation system.

Since
    Coin 3.0

Author

Generated automatically by Doxygen for Coin from the source code.