SONODEKITCATALOG(3iv)
π SoNodekitCatalog π
okay so bestie, you found the manual page for SoNodekitCatalog, from the 3IV manual. This is the nodekit catalog class and she is iconic, let me tell you everything β¨
πΈ NAME πΈ
SoNodekitCatalog β nodekit catalog class π
π¦ INHERITS FROM π¦
SoNodekitCatalog
(yes bestie, she inherits from herself, it's giving main character energy, that's just what the page says π )
β¨ 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 π
okay so this class describes the parts and structure of a nodekit. Every single class of nodekit has one SoNodekitCatalog β and it's a static variable for the class, periodt. π
Internally, the catalog contains one entry for each "part" in the nodekit's structure. Users can query the catalog for info about each entry in the catalog. And you can get that info either by part name (an SbName unique for the part within the catalog) or by part number (an index into an array of parts). Both routes, bestie, pick your vibe π
β οΈ note this, it matters: even though 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. Nope. π 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.
And the standard addChild(), removeChild() and other SoGroup methods are protected, so users must create descendants indirectly by asking the nodekit to get and/or set the different "parts" in the catalog. No shortcuts, babe π«Ά
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." iconic β
π METHODS π
static void initClass()β Initializes this object. β¨int getNumEntries() constβ Returns number of entries in the catalog. Count 'em up bestie π’int getPartNumber(const SbName &theName) constβ Given the name of a part, returns its part number in the catalog. Name β number, slay πconst SbName & getName(int thePartNumber) constβ Given the part number of a part, returns its name in the catalog. Number β name, the other direction, obsessed π
Then there's the big squad, a full set of methods for finding out all parameters in the catalog, given either the part name or the part number β every single one of them, no skips:
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
π‘ every single one of these takes either anint thePartNumberor aconst SbName &theName. Two flavors, same tea. iykyk π
π SEE ALSO π
SoAppearanceKit, SoBaseKit, SoCameraKit, SoLightKit, SoNodeKit, SoNodeKitDetail, SoNodeKitListPart, SoNodeKitPath, SoSceneKit, SoSeparatorKit, SoShapeKit, SoWrapperKit
(go read those next bestie, the whole friend group is linked up π«Ά)
and that's the whole page!! this was the SoNodekitCatalog(3IV) manual page, from the 3IV manual β the footer on the original just says SoNodekitCatalog(3IV)() with no extra version or date info, so that's all the receipts we have. no cap πβ¨ππ¦πΈπ
π¦ where this page comes from
- debian bookworm: inventor-doc 2.1.5-10+dfsg-2 Β· LGPL-2.0-or-later
- debian trixie: inventor-doc 2.1.6+ds-2 Β· LGPL-2.0-or-later
- ubuntu jammy: inventor-doc 2.1.5-10-24
- ubuntu noble: inventor-doc 2.1.5-10+dfsg-2.1build2 Β· LGPL-2.0-or-later
- ubuntu questing: inventor-doc 2.1.6+ds-2
- ubuntu resolute: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- ubuntu stonking: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms