ScXMLElt(3)

πŸ“¦
version 4.0.10 Β· 4 versions
, in fedora 43, fedora 44

πŸ’– NAME πŸ’–

okay so bestie, gather round: ScXMLElt β€” the base class for all SCXML elements. it's giving "everybody's mom", it's giving "the blueprint", and honestly? we're obsessed.

(also hi, this is the ScXMLElt(3) page from the Coin manual, just so you know what you're reading πŸŽ€)


🌸 SYNOPSIS 🌸

#include <Inventor/scxml/ScXMLElt.h>

Inherits ScXMLObject.

Inherited by ScXMLAbstractStateElt, ScXMLAnchorElt, ScXMLContentElt, ScXMLDataElt, ScXMLDataModelElt, ScXMLExecutableElt, ScXMLFinalizeElt, ScXMLHistoryElt, ScXMLInitialElt, ScXMLOnEntryElt, ScXMLOnExitElt, ScXMLParamElt, ScXMLScxmlElt, and ScXMLTransitionElt.


✨ Public Member Functions ✨

  • virtual SoType getTypeId (void) const =0 β€” returns the type identification of an object derived from a class inheriting SoBase. it's the whole reason runtime type checking and "downward" casting can even happen. yes, it's pure virtual, it's a whole thing πŸ’…
  • 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.

so like, this is the common base class for all the SCXML document element classes. it manages XML attributes at the generic level, has utilities for checking document containment, and provides some infrastructure hooks. a multitasking icon, honestly. 🌈

Since: Coin 3.1


πŸ’œ Member Function Documentation πŸ’œ

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.


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

this method associates a value with an attribute name. it's used for parameter passing while reading by the SCXML reader, but lowkey you can also use it as a general-purpose attribute dictionary outside of that. no gatekeeping here. πŸ’…

heads up bestie: if NULL is passed as the value, the attribute gets removed. gone. bye. ✨

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

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


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. (yes it's the chill one, it does absolutely nothing and that's valid 🫢)

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


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. 😭

fr fr: this function needs to be reimplemented to traverse child elements. the base version will not do that for you, bestie, it's on you.

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.


ScXMLElt * ScXMLElt::clone (void ) const

returns a deep copy of the given SCXML element. like, the whole thing, not just a vibe. πŸ’–


void ScXMLElt::setContainer (ScXMLElt * container) [virtual]

set the pointer to the parent ScXML object.


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. simple as that, periodt. ✨


πŸŽ€ Author πŸŽ€

generated automatically by Doxygen for Coin from the source code. (not me writing a fanfic about it, that's literally what it says πŸ’€)


okay and for the cute sign-off: this whole thing is Version 4.0.10, dated Thu Jun 25 2026 00:00:00. mwah, that's the ScXMLElt(3) page, go forth and subclass responsibly πŸ‘‘πŸ’…πŸ¦‹

πŸ“¦ where this page comes from