SoNodekitCatalog(3IV)

NAME
SoNodekitCatalog — nodekit catalog class

INHERITS FROM
SoNodekitCatalog

SYNOPSIS
#include <Inventor/nodekits/SoNodekitCatalog.h>

#define SO_CATALOG_NAME_NOT_FOUND -1
#define SO_CATALOG_THIS_PART_NUM 0

Methods from class SoNodekitCatalog:

static void
initClass()
int
getNumEntries() const
int
getPartNumber(const SbName &theName) const
const SbName &
getName(int thePartNumber) const
SoType
getType(int thePartNumber) const
SoType
getType(const SbName &theName) const
SoType
getDefaultType(int thePartNumber) const
SoType
getDefaultType(const SbName &theName) const
SbBool
isNullByDefault(int thePartNumber) const
SbBool
isNullByDefault(const SbName &theName) const
SbBool
isLeaf(int thePartNumber) const
SbBool
isLeaf(const SbName &theName) const
const SbName &
getParentName(int thePartNumber) const
const SbName &
getParentName(const SbName &theName) const
int
getParentPartNumber(int thePartNumber) const
int
getParentPartNumber(const SbName &theName) const
const SbName &
getRightSiblingName(int thePartNumber) const
const SbName &
getRightSiblingName(const SbName &theName) const
int
getRightSiblingPartNumber(int thePartNumber) const
int
getRightSiblingPartNumber(const SbName &theName) const
SbBool
isList(int thePartNumber) const
SbBool
isList(const SbName &theName) const
SoType
getListContainerType(int thePartNumber) const
SoType
getListContainerType(const SbName &theName) const
const SoTypeList &
getListItemTypes(int thePartNumber) const
const SoTypeList &
getListItemTypes(const SbName &theName) const
SbBool
isPublic(int thePartNumber) const
SbBool
isPublic(const SbName &theName) const

DESCRIPTION
This class describes the parts and structure of a nodekit. Each class of nodekit has one SoNodekitCatalog (a static variable for the class). Internally, the catalog contains one entry for each "part" in the nodekit's structure. Users can query the catalog for information about each entry in the catalog. This information can be obtained either by part name (an SbName unique for the part within the catalog) or by part number (an index into an array of parts).

Note that, although the catalog for a nodekit class may contain many entries, each instance of that class is not initially created with all of these parts intact. Rather, each instance of the class has its own parts list which keeps track of which parts the user has created. The nodekit uses the catalog as a guide in creating new nodes as its descendants; the standard addChild(), removeChild() and other SoGroup methods are protected, so that users must create descendants indirectly by asking the nodekit to get and/or set the different "parts" in the catalog.

The first entry in any SoNodekitCatalog corresponds to the nodekit itself. Its partName is "this" and its partNumber is 0. All other parts in the catalog are described relative to "this."

METHODS
static void
initClass()
Initializes this object.

int
getNumEntries() const
Returns number of entries in the catalog.

int
getPartNumber(const SbName &theName) const
Given the name of a part, returns its part number in the catalog.

const SbName &
getName(int thePartNumber) const
Given the part number of a part, returns its name in the catalog.

SoType
getType(int thePartNumber) const
SoType
getType(const SbName &theName) const
SoType
getDefaultType(int thePartNumber) const
SoType
getDefaultType(const SbName &theName) const
SbBool
isNullByDefault(int thePartNumber) const
SbBool
isNullByDefault(const SbName &theName) const
SbBool
isLeaf(int thePartNumber) const
SbBool
isLeaf(const SbName &theName) const
const SbName &
getParentName(int thePartNumber) const
const SbName &
getParentName(const SbName &theName) const
int
getParentPartNumber(int thePartNumber) const
int
getParentPartNumber(const SbName &theName) const
const SbName &
getRightSiblingName(int thePartNumber) const
const SbName &
getRightSiblingName(const SbName &theName) const
int
getRightSiblingPartNumber(int thePartNumber) const
int
getRightSiblingPartNumber(const SbName &theName) const
SbBool
isList(int thePartNumber) const
SbBool
isList(const SbName &theName) const
SoType
getListContainerType(int thePartNumber) const
SoType
getListContainerType(const SbName &theName) const
const SoTypeList &
getListItemTypes(int thePartNumber) const
const SoTypeList &
getListItemTypes(const SbName &theName) const
SbBool
isPublic(int thePartNumber) const
SbBool
isPublic(const SbName &theName) const
A full set of methods for finding out all parameters in the catalog, given either the part name or the part number.

SEE ALSO
SoAppearanceKit, SoBaseKit, SoCameraKit, SoLightKit, SoNodeKit, SoNodeKitDetail, SoNodeKitListPart, SoNodeKitPath, SoSceneKit, SoSeparatorKit, SoShapeKit, SoWrapperKit