Provided by: inventor-doc_2.1.5-10-18_all bug

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

                                                                          SoNodekitCatalog(3IV)()