table of contents
SoBase(3IV)() | SoBase(3IV)() |
NAME¶
SoBase — base class for all nodes, paths, and engines
INHERITS FROM¶
SoBase
SYNOPSIS¶
#include <Inventor/misc/SoBase.h>
Methods from class SoBase:
void ref()
void unref() const
void unrefNoDelete() const
void touch()
static SoType getClassTypeId()
virtual SoType getTypeId() const
SbBool isOfType(SoType type) const
virtual void setName(const SbName &name)
virtual SbName getName() const
DESCRIPTION¶
Abstract base class for Inventor node, path, and engine classes. This class handles reference counting, notification, and naming.
METHODS¶
void ref()
void unref() const
void unrefNoDelete() const
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
unrefNoDelete() 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.
unrefNoDelete() 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 new.
void touch()
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.
static SoType getClassTypeId()
Returns type identifier for this class.
virtual SoType getTypeId() const
Returns the type identifier for a specific instance.
SbBool isOfType(SoType type) const
Returns TRUE if this object is of the type specified in type or is
derived from that type. Otherwise, it returns FALSE. For example,
nodePtr->isOfType(SoGroup::getClassTypeId())
returns TRUE if nodePtr is an instance of SoGroup or one of its subclasses.
virtual void setName(const SbName &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() methods 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.
virtual SbName getName() const
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() methods of SoNode, SoEngine, or
SoPath.
SEE ALSO¶
SoFieldContainer, SoNode, SoPath, SoEngine, SoDB