|
Coin3D is Free Software, published under the BSD 3-clause license. |
https://coin3d.github.io https://www.kongsberg.com/en/kogt/ |
This set of classes is a basic implementation of State Chart XML. More...
Classes | |
| class | ScXML |
| namespace for static ScXML-related functions. More... | |
| class | ScXMLObject |
| Base class for all SCXML objects. More... | |
| class | ScXMLEvent |
| Base class for events sent to SCXML state machines. More... | |
| class | ScXMLEventTarget |
| base class for event targets for inter-system event communication More... | |
| class | ScXMLStateMachine |
| Manager for processing events and setting states in SCXML structures. More... | |
| class | ScXMLElt |
| base class for all SCXML elements. More... | |
| class | ScXMLEltReader |
| base class for element reader objects More... | |
| class | ScXMLScxmlElt |
| implements the <scxml> SCXML element. More... | |
| class | ScXMLInitialElt |
| implements the <initial> SCXML element. More... | |
| class | ScXMLAbstractStateElt |
| abstract base class for the SCXML 'state' elements. More... | |
| class | ScXMLStateElt |
| implements the <state> SCXML element. More... | |
| class | ScXMLParallelElt |
| implements the <parallel> SCXML element. More... | |
| class | ScXMLFinalElt |
| implements the <final> SCXML element. More... | |
| class | ScXMLOnEntryElt |
| implements the <onentry> SCXML element. More... | |
| class | ScXMLOnExitElt |
| implements the <onexit> SCXML element. More... | |
| class | ScXMLTransitionElt |
the <transition> SCXML element. More... | |
| class | ScXMLHistoryElt |
| implements the <history> SCXML element. More... | |
| class | ScXMLExecutableElt |
| base class for all SCXML elements with executable content. More... | |
| class | ScXMLEventElt |
| implements the <event> SCXML element. More... | |
| class | ScXMLIfElt |
| implements the <if> SCXML element. More... | |
| class | ScXMLElseIfElt |
| implements the <elseif> SCXML element. More... | |
| class | ScXMLElseElt |
| implements the <else> SCXML element. More... | |
| class | ScXMLLogElt |
| implements the <log> SCXML element. More... | |
| class | ScXMLDataModelElt |
| implements the <datamodel> SCXML element. More... | |
| class | ScXMLDataElt |
the <data> SCXML element. More... | |
| class | ScXMLAssignElt |
| the <assign> SCXML element. More... | |
| class | ScXMLValidateElt |
| implements the <validate> SCXML element. More... | |
| class | ScXMLSendElt |
the < send> SCXML element. More... | |
| class | ScXMLInvokeElt |
| implements the <invoke> SCXML element. More... | |
| class | ScXMLParamElt |
| implements the <param> SCXML element. More... | |
| class | ScXMLFinalizeElt |
| implements the <finalize> SCXML element. More... | |
| class | ScXMLContentElt |
| implements the <content> SCXML element. More... | |
| class | ScXMLAnchorElt |
| implements the <anchor> SCXML element. More... | |
| class | ScXMLScriptElt |
| implements the <script> SCXML element. More... | |
| class | ScXMLEvaluator |
| defines an interface for profile-dependent evaluators. More... | |
| class | ScXMLDataObj |
| base class for evaluator data objects in the SCXML data module More... | |
| class | ScXMLConstantDataObj |
| base class for immediate data values More... | |
| class | ScXMLReferenceDataObj |
| A data object representing a reference to another object in the data model. More... | |
| class | ScXMLAndOpExprDataObj |
| Implements the logical AND operator. More... | |
| class | ScXMLMinimumExprDataObj |
| implements the data objects for the evaluator for the minimum profile. More... | |
| class | ScXMLMinimumEvaluator |
| implements the evaluator for the minimum profile. More... | |
| class | ScXMLXPathEvaluator |
| implements the XPath evaluator. More... | |
| class | ScXMLECMAScriptEvaluator |
| evaluator for the ECMAScript profile. More... | |
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/.
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:
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.