Coin  4.0.3
Coin3D core library
Loading...
Searching...
No Matches
ScXMLInvokeElt Class Reference

implements the <invoke> SCXML element. More...

#include <Inventor/scxml/ScXMLInvokeElt.h>

Inheritance diagram for ScXMLInvokeElt:
ScXMLExecutableElt ScXMLElt ScXMLObject

Public Member Functions

virtual void addParam (ScXMLParamElt *param)
 
virtual void clearAllParams (void)
 
virtual void copyContents (const ScXMLElt *rhs)
 
virtual ScXMLContentEltgetContent (void) const
 
virtual ScXMLFinalizeEltgetFinalize (void) const
 
virtual int getNumParams (void) const
 
virtual ScXMLParamEltgetParam (int idx) const
 
const char * getSrcAttribute (void) const
 
const char * getSrcExprAttribute (void) const
 
const char * getTargetTypeAttribute (void) const
 
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 SbBool handleXMLAttributes (void)
 
virtual void removeParam (ScXMLParamElt *param)
 
virtual const ScXMLEltsearch (const char *attrname, const char *attrvalue) const
 
virtual void setContent (ScXMLContentElt *content)
 
virtual void setFinalize (ScXMLFinalizeElt *finalize)
 
virtual void setSrcAttribute (const char *id)
 
virtual void setSrcExprAttribute (const char *id)
 
virtual void setTargetTypeAttribute (const char *id)
 
- Public Member Functions inherited from ScXMLExecutableElt
virtual void execute (ScXMLStateMachine *statemachine) const
 
- Public Member Functions inherited from ScXMLElt
ScXMLEltclone (void) const
 
ScXMLEltgetContainer (void) const
 
const char * getXMLAttribute (const char *attribute) const
 
SbBool isContainedIn (const ScXMLElt *object) const
 
virtual void setContainer (ScXMLElt *container)
 
void setXMLAttribute (const char *attribute, const char *value)
 
- 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 void cleanClass (void)
 
static voidcreateInstance (void)
 
static SoType getClassTypeId (void)
 
static ScXMLEltReadergetElementReader (void)
 
static void initClass (void)
 
- Static Public Member Functions inherited from ScXMLExecutableElt
static void cleanClass (void)
 
static SoType getClassTypeId (void)
 
static void initClass (void)
 
- Static Public Member Functions inherited from ScXMLElt
static void cleanClass (void)
 
static SoType getClassTypeId (void)
 
static void initClass (void)
 
- Static Public Member Functions inherited from ScXMLObject
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 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.
 

Protected Attributes

char * src
 
char * srcexpr
 
char * targettype
 

Additional Inherited Members

- Static Protected Member Functions inherited from ScXMLElt
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

implements the <invoke> SCXML element.

Important note for SCXML-users on the Coin 3.0 implementation of the <invoke> element: The first SCXML-implementation of Coin was based on a draft from February 2007, and the interpretation done of the <invoke> element was wrong in certain aspects that has become clear in later revisions of the standards draft. The SCXML-implementation was for various reasons rushed, with a timeframe where no scripting capabilities would be possible to get ready, and the navigation system code (the primary purpose of implementing the SCXML system) had to be plugged in somewhere. This was at that time done on the <invoke> element.

For the current implementation, the navigation code has been moved away from being <invoke>-based to being a service communicated to through the <send> element to be more standards-conformant. And to make the situation even more ridiculous, that approach will likely be deprecated in the not-too-distant future, to be replaced by a pure, inlined, scripting-based approach. Those two approaches should however be fully possible to keep alive side-by-side for a while, so following the current lead in implementing your own custom navigation systems should be a lot safer than doing it over the misguided <invoke>-approach.

Since
Coin 3.0

Member Function Documentation

◆ copyContents()

void ScXMLInvokeElt::copyContents ( const ScXMLElt * rhs)
virtual

Reimplemented from ScXMLExecutableElt.

◆ getTypeId()

SoType ScXMLInvokeElt::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

Implements ScXMLExecutableElt.

◆ handleXMLAttributes()

SbBool ScXMLInvokeElt::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 from ScXMLElt.

◆ search()

const ScXMLElt * ScXMLInvokeElt::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 from ScXMLElt.


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