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.
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.
Returns type identifier for this class.
Returns the type identifier for a specific instance.
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,
returns TRUE if nodePtr is an instance of SoGroup or one of its subclasses.
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.
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.