Provided by: inventor-doc_2.1.5-10+dfsg-2.1build2_all bug

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

                                                                                                   SoBase(3IV)()