SoBase(3IV)NAMESoBase (SoBase) - base class for all nodes, paths, and engines
INHERITS FROMSoBaseSYNOPSIS
#include <Inventor_c/misc/SoBase.h>
Functions from class SoBase:
void SoBaseRef(SoBase *this)
void SoBaseUnref(const SoBase *this)
void SoBaseUnrefNoDelete(const SoBase *this)
void SoBaseTouch(SoBase *this)
SoType SoBaseGetClassTypeId()
SoType SoBaseGetTypeId(const SoBase *this)
SbBool SoBaseIsOfType(const SoBase *this, SoType type)
void SoBaseSetName(SoBase *this, const char *name)
SbName SoBaseGetName(const SoBase *this)
DESCRIPTION
Abstract base class for Inventor node, path, and engine classes. This
class handles reference counting, notification, and naming.
FUNCTIONS
void SoBaseRef(SoBase *this)
void SoBaseUnref(const SoBase *this)
void SoBaseUnrefNoDelete(const SoBase *this)
Adds and removes a reference to an instance. Instances should be
referenced when they will be used outside of the routine in which
they were initialized. (A typical example of this is maintaining a
pointer to the root of a graph.) Whenever the reference count for an
instance is decremented to 0, the instance is automatically
destroyed by the database (unless SoBaseUnrefNoDelete() is used to
unref it). The reference count of a node is automatically
incremented when the node is added as a child of another node or
when a path points to the node. Likewise, the reference count is
automatically decremented when the node is removed as a child or
when a path that points to the node is changed or destroyed.
SoBaseUnrefNoDelete() should be called when it is desired to
decrement the reference count, but not delete the instance if this
brings the reference count to zero. This is most useful in returning
an object to a zero-reference-count state, like it was when it was
created by a Create() method.
void SoBaseTouch(SoBase *this)
Marks an instance as modified, simulating a change to it. This will
notify auditors (parent nodes, connected engines, and so on) of a
change to this object and cause attached sensors to be triggered.
Page 1SoBase(3IV)
SoType SoBaseGetClassTypeId()
Returns type identifier for this class.
SoType SoBaseGetTypeId(const SoBase *this)
Returns the type identifier for a specific instance.
SbBool SoBaseIsOfType(const SoBase *this, SoType type)
Returns TRUE if this object is of the type specified in type or is
derived from that type. Otherwise, it returns FALSE. For example,
SoBaseIsOfType(nodePtr, SoGroupGetClassTypeId())
returns TRUE if nodePtr is an instance of SoGroup or one of its
subclasses.
void SoBaseSetName(SoBase *this, const char *name)
Sets the name of an instance. Object names are preserved when
objects are written to or read from files. Object names must not
begin with a digit, and must not contain spaces or control
characters, single or double quote characters, backslashes, curly
braces or the plus character. The IsBaseNameChar() and
IsBaseNameStartChar() functions of SbName can be used to validate
names input by users. This method will replace any bad charaters in
the name with underscore characters, and will print out an error
message if the application is using the Inventor debugging library.
SbName SoBaseGetName(const SoBase *this)
Returns the name of an instance. If the instance has not been named,
an empty SbName is returned. Objects that are named can be looked up
using the GetByName() functions of SoNode, SoEngine, or SoPath.
SEE ALSO
SoFieldContainer, SoNode, SoPath, SoEngine, SoDB
Page 2