SoType(3IV)NAMESoType (SoType) - stores runtime type information
INHERITS FROMSoTypeSYNOPSIS
#include <Inventor_c/SoType.h>
Functions from class SoType:
SoType SoTypeFromName(SbName name)
SbName SoTypeGetName(const SoType *this)
SoType SoTypeGetParent(const SoType *this)
SoTypeSoTypeBadType()
SbBool SoTypeIsBad(const SoType *this)
SbBool SoTypeIsDerivedFrom(const SoType *this, SoType t)
int SoTypeGetAllDerivedFrom(SoType type, SoTypeList
*list)
SbBool SoTypeCanCreateInstance(const SoType *this)
void * SoTypeCreateInstance(const SoType *this)
int SoTypeIsEq(const SoType *this, const SoType t)
int SoTypeIsNEq(const SoType *this, const SoType t)
int SoTypeIsLT(const SoType *this, const SoType t)
DESCRIPTION
The SoType class keeps track of runtime type information in Inventor.
Each type is associated with a given name, so lookup is possible in
either direction.
Many Inventor classes request a unique SoType when they are initialized.
This type can then be used to find out the actual class of an instance
when only its base class is known, or to obtain an instance of a
particular class given its type or name.
Note that the names associated with types of Inventor classes do not
contain the "So" prefix.
FUNCTIONSSoType SoTypeFromName(SbName name)
Returns the type associated with the given name.
SbName SoTypeGetName(const SoType *this)
Returns the name associated with a type.
SoType SoTypeGetParent(const SoType *this)
Returns the type of the parent class.
SoTypeSoTypeBadType()
Returns an always-illegal type. Useful for returning errors.
Page 1SoType(3IV)
SbBool SoTypeIsBad(const SoType *this)
Returns TRUE if the type is a bad type.
SbBool SoTypeIsDerivedFrom(const SoType *this, SoType t)
Returns TRUE if the type is derived from type t.
int SoTypeGetAllDerivedFrom(SoType type, SoTypeList
*list)
Adds all types derived from the given type to the given type list.
Returns the number of types added.
SbBool SoTypeCanCreateInstance(const SoType *this)
Some types are able to create instances; for example, most nodes and
engines (those which are not abstract classes) can be created this
way. This method returns TRUE if the type supports such creation.
void * SoTypeCreateInstance(const SoType *this)
Creates and returns a pointer to an instance of the type. Returns
NULL if an instance could not be created for some reason. The
pointer is returned as a generic pointer, but can be cast to the
appropriate type. For example:
SoCube *c = (SoCube *) SoTypeCreateInstance(SoCubeGetClassTypeId());
is a convoluted way of creating a new instance of an SoCube.
int SoTypeIsEq(const SoType *this, const SoType t)
int SoTypeIsNEq(const SoType *this, const SoType t)
Returns TRUE if this type is the same as or not the same as the
given type.
int SoTypeIsLT(const SoType *this, const SoType t)
Less-than comparison operator that can be used to sort types. This
is pretty useless otherwise.
SEE ALSO
SoAction, SoBase, SoDetail, SoError, SoEvent, SoField
Page 2