ScXMLAssignElt.3coin4 - Man Page

the <assign> SCXML element.


#include <Inventor/scxml/ScXMLAssignElt.h>

Inherits ScXMLExecutableElt.

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 run-time type checking and 'downward' casting.
ScXMLAssignElt (void)
virtual void setLocationAttribute (const char *location)
virtual const char * getLocationAttribute (void) const
virtual void setDataIDAttribute (const char *dataID)
virtual const char * getDataIDAttribute (void) const
virtual void setExprAttribute (const char *expr)
virtual const char * getExprAttribute (void) const
virtual SbBool handleXMLAttributes (void)
virtual void copyContents (const ScXMLElt *rhs)
virtual const ScXMLElt * search (const char *attrname, const char *attrvalue) const
virtual void execute (ScXMLStateMachine *statemachine) const

Static Public Member Functions

static ScXMLEltReader * getElementReader (void)
static SoType getClassTypeId (void)
static void * createInstance (void)
static void initClass (void)
static void cleanClass (void)

Protected Attributes

char * location
char * dataID
char * expr

Additional Inherited Members

Detailed Description

the <assign> SCXML element.

The <assign> element is only functional under a profile that has an implementation of The Data Module. The 'minimum' profile does not implement one, but the 'x-coin' profile does.

The following attributes are accepted:

Only one of location and dataID can be specified at a time.

If dataID is specified, then the target of the assignment is the <data> element that has the ID attribute set to the same value.

If location is specified, a profile-dependent variable addressing is used. The 'minimum' profile does not define any, and the 'x-coin' profile defines the following address schemes for writable variables:

Temporary variables in the 'x-coin' profile have the lifetime of one SCXML event. To have persistent data, use <data> variables. They stay alive for the same duration the ScXMLStateMachine exists.

Temporary variables are particularly useful for the <send> element, because the namelist attribute can address them with implicit prefix, which means the event targets can read them out based on logical names instead of SCXML datamodel addresses.

See also

ScXMLDataModelElt, ScXMLDataElt, ScXMLSendElt

Constructor & Destructor Documentation

ScXMLAssignElt::ScXMLAssignElt (void)

Constructor that sets up an empty ScXMLAssignElt object.

Member Function Documentation

SoType ScXMLAssignElt::getTypeId (void) const [virtual]

Returns the type identification of an object derived from a class inheriting SoBase. This is used for run-time type checking and 'downward' casting.

See also

SoBase::getTypeId() const

Implements ScXMLExecutableElt.

void ScXMLAssignElt::initClass (void) [static]

Creates the ScXMLAssignElt class type SoType object.

void ScXMLAssignElt::cleanClass (void) [static]

Cleans out the class type SoType object.

SbBool ScXMLAssignElt::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.


TRUE if the attributes are ok, and FALSE on error.

This base class implementation does nothing and just returns TRUE.

Reimplemented from ScXMLElt.

void ScXMLAssignElt::copyContents (const ScXMLElt * rhs) [virtual]

Reimplemented from ScXMLExecutableElt.

const ScXMLElt * ScXMLAssignElt::search (const char * attrname, const char * attrvalue) const [virtual]

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

Returns NULL if nothing was found.

This function needs to be reimplemented to traverse child elements.

Reimplemented from ScXMLElt.

void ScXMLAssignElt::execute (ScXMLStateMachine * statemachine) const [virtual]

Reimplemented from ScXMLExecutableElt.


Generated automatically by Doxygen for Coin from the source code.


Wed Jul 20 2022 Version 4.0.0 Coin