Coin: ScXMLElt Class Reference

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

ScXMLElt Class Referenceabstract
State Chart XML Classes

base class for all SCXML elements. More...

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

Inheritance diagram for ScXMLElt:

## Public Member Functions
virtual SoType | getTypeId (void) const =0
| Returns the type identification of an object derived from a class inheriting SoBase. This is used for runtime type checking and "downward" casting.
void | setXMLAttribute (const char *attribute, const char *value)
const char * | getXMLAttribute (const char *attribute) const
virtual SbBool | handleXMLAttributes (void)
virtual const ScXMLElt * | search (const char *attrname, const char *attrvalue) const
ScXMLElt * | clone (void) const
virtual void | copyContents (const ScXMLElt *rhs)
virtual void | setContainer (ScXMLElt *container)
ScXMLElt * | getContainer (void) const
SbBool | isContainedIn (const ScXMLElt *object) const
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 | 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.

## Static Protected Member Functions
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)
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

base class for all SCXML elements.

This is a common base class for all SCXML document element classes. It manages XML attributes at the generic level, has utilities for checking document containment, and provides some infrastructure hooks.

Since
  Coin 3.1

## Member Function Documentation

## ◆ getTypeId()

virtual SoType ScXMLElt::getTypeId | ( | void |  | ) | const
| pure 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 ScXMLObject.

Implemented in ScXMLAbstractStateElt, ScXMLAnchorElt, ScXMLAssignElt, ScXMLContentElt, ScXMLDataElt, ScXMLDataModelElt, ScXMLElseElt, ScXMLElseIfElt, ScXMLEventElt, ScXMLExecutableElt, ScXMLFinalElt, ScXMLFinalizeElt, ScXMLHistoryElt, ScXMLIfElt, ScXMLInitialElt, ScXMLInvokeElt, ScXMLLogElt, ScXMLOnEntryElt, ScXMLOnExitElt, ScXMLParallelElt, ScXMLParamElt, ScXMLScriptElt, ScXMLScxmlElt, ScXMLSendElt, ScXMLStateElt, ScXMLTransitionElt, and ScXMLValidateElt.

## ◆ setXMLAttribute()

void ScXMLElt::setXMLAttribute | ( | const char * | attribute,
|  | const char * | value )

This method associates a value with an attribute name. This is used for parameter passing while reading by the SCXML reader, but can be used as a general-purpose attribute dictionary outside of that.

If NULL is passed as the value, the attribute is removed.

## ◆ getXMLAttribute()

const char * ScXMLElt::getXMLAttribute | ( | const char * | attribute | ) | const

This method returns the string value set for an attribute, or NULL if not set.

## ◆ handleXMLAttributes()

SbBool ScXMLElt::handleXMLAttributes | ( | void |  | ) |
| virtual

This method is called when the file reader has set all the XML attributes on the object, and wants the object to handle them and report if the values were OK or if a read error should be produced.

Returns
  TRUE if the attributes are OK, and FALSE on error.

This base class implementation does nothing and just returns TRUE.

Reimplemented in ScXMLAbstractStateElt, ScXMLAnchorElt, ScXMLAssignElt, ScXMLDataElt, ScXMLDataModelElt, ScXMLElseIfElt, ScXMLEventElt, ScXMLHistoryElt, ScXMLIfElt, ScXMLInvokeElt, ScXMLLogElt, ScXMLParallelElt, ScXMLParamElt, ScXMLScxmlElt, ScXMLSendElt, ScXMLStateElt, ScXMLTransitionElt, and ScXMLValidateElt.

## ◆ search()

const ScXMLElt * ScXMLElt::search | ( | const char * | attrname,
|  | const char * | attrvalue ) const
| virtual

This method searches the SCXML structure for an element with the given attribute value for the given attribute.

Returns NULL if nothing was found.

This function needs to be reimplemented to traverse child elements.

Reimplemented in ScXMLAbstractStateElt, ScXMLAnchorElt, ScXMLAssignElt, ScXMLDataElt, ScXMLDataModelElt, ScXMLElseIfElt, ScXMLEventElt, ScXMLFinalElt, ScXMLHistoryElt, ScXMLIfElt, ScXMLInitialElt, ScXMLInvokeElt, ScXMLLogElt, ScXMLOnEntryElt, ScXMLOnExitElt, ScXMLParallelElt, ScXMLParamElt, ScXMLScxmlElt, ScXMLSendElt, ScXMLStateElt, ScXMLTransitionElt, and ScXMLValidateElt.

## ◆ clone()

ScXMLElt * ScXMLElt::clone | ( | void |  | ) | const

Returns a deep copy of the given SCXML element.

## ◆ setContainer()

void ScXMLElt::setContainer | ( | ScXMLElt * | container | ) |
| virtual

Set the pointer to the parent ScXML object.

## ◆ isContainedIn()

SbBool ScXMLElt::isContainedIn | ( | const ScXMLElt * | element | ) | const

This method returns TRUE if the object is contained within the given object argument. Also if they are the same, TRUE will be returned. Otherwise, FALSE is returned.

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

- ScXMLElt.h
- ScXMLElt.cpp