Scroll to navigation

ScXMLInvokeElt(3) Coin ScXMLInvokeElt(3)

NAME

ScXMLInvokeElt -
implements the <invoke> SCXML element.

SYNOPSIS

#include <Inventor/scxml/ScXMLInvokeElt.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. virtual void setTargetTypeAttribute (const char *id)
 
const char * getTargetTypeAttribute (void) const
 
virtual void setSrcAttribute (const char *id)
 
const char * getSrcAttribute (void) const
 
virtual void setSrcExprAttribute (const char *id)
 
const char * getSrcExprAttribute (void) const
 
virtual SbBool handleXMLAttributes (void)
 
virtual void copyContents (const ScXMLElt *rhs)
 
virtual const ScXMLElt * search (const char *attrname, const char *attrvalue) const
 
virtual int getNumParams (void) const
 
virtual ScXMLParamElt * getParam (int idx) const
 
virtual void addParam (ScXMLParamElt *param)
 
virtual void removeParam (ScXMLParamElt *param)
 
virtual void clearAllParams (void)
 
virtual void setFinalize (ScXMLFinalizeElt *finalize)
 
virtual ScXMLFinalizeElt * getFinalize (void) const
 
virtual void setContent (ScXMLContentElt *content)
 
virtual ScXMLContentElt * getContent (void) 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 * targettype
 
char * src
 
char * srcexpr
 

Additional Inherited Members

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 ridicilous, 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

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

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.

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

Author

Generated automatically by Doxygen for Coin from the source code.
Thu May 29 2014 Version 4.0.0a