Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
SoBase(3IV)()							 SoBase(3IV)()

       SoBase -- base class for	all nodes, paths, and engines


       #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

       Abstract	 base  class for Inventor node,	path, and engine classes. This
       class handles reference counting, notification, and naming.

     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  de-
	  stroyed  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	decre-
	  mented  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

     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,


	  returns TRUE if nodePtr is an	instance of SoGroup or one of its sub-

     virtual void	 setName(const SbName &name)
	  Sets the name	of an instance.	Object names are  preserved  when  ob-
	  jects	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() meth-
	  ods	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.

       SoFieldContainer, SoNode, SoPath, SoEngine, SoDB



Want to link to this manual page? Use this URL:

home | help