Coin  4.0.3
Coin3D core library
Loading...
Searching...
No Matches
SoNodekitCatalog Class Reference

The SoNodekitCatalog class is a container for nodekit layouts. More...

#include <Inventor/nodekits/SoNodekitCatalog.h>

Public Member Functions

 SoNodekitCatalog (void)
 
 ~SoNodekitCatalog ()
 
SbBool addEntry (const SbName &name, SoType type, SoType defaulttype, SbBool isdefaultnull, const SbName &parent, const SbName &rightsibling, SbBool islist, SoType listcontainertype, SoType listitemtype, SbBool ispublic)
 
void addListItemType (const SbName &name, SoType type)
 
void addListItemType (int part, SoType type)
 
SoNodekitCatalogclone (SoType type) const
 
SoType getDefaultType (const SbName &name) const
 
SoType getDefaultType (int part) const
 
SoType getListContainerType (const SbName &name) const
 
SoType getListContainerType (int part) const
 
const SoTypeListgetListItemTypes (const SbName &name) const
 
const SoTypeListgetListItemTypes (int part) const
 
const SbNamegetName (int part) const
 
int getNumEntries (void) const
 
const SbNamegetParentName (const SbName &name) const
 
const SbNamegetParentName (int part) const
 
int getParentPartNumber (const SbName &name) const
 
int getParentPartNumber (int part) const
 
int getPartNumber (const SbName &name) const
 
const SbNamegetRightSiblingName (const SbName &name) const
 
const SbNamegetRightSiblingName (int part) const
 
int getRightSiblingPartNumber (const SbName &name) const
 
int getRightSiblingPartNumber (int part) const
 
SoType getType (const SbName &name) const
 
SoType getType (int part) const
 
SbBool isLeaf (const SbName &name) const
 
SbBool isLeaf (int part) const
 
SbBool isList (const SbName &name) const
 
SbBool isList (int part) const
 
SbBool isNullByDefault (const SbName &name) const
 
SbBool isNullByDefault (int part) const
 
SbBool isPublic (const SbName &name) const
 
SbBool isPublic (int part) const
 
void narrowTypes (const SbName &name, SoType newtype, SoType newdefaulttype)
 
void printCheck (void) const
 
SbBool recursiveSearch (int part, const SbName &name, SoTypeList *checked) const
 
void setNullByDefault (const SbName &name, SbBool nullbydefault)
 

Static Public Member Functions

static void initClass (void)
 

Detailed Description

The SoNodekitCatalog class is a container for nodekit layouts.

Nodekits store all their hierarchical layout information and part information in instances of this class.

See also
SoNodeKit, SoBaseKit

Constructor & Destructor Documentation

◆ SoNodekitCatalog()

SoNodekitCatalog::SoNodekitCatalog ( void )

Constructor.

◆ ~SoNodekitCatalog()

SoNodekitCatalog::~SoNodekitCatalog ( )

Destructor.

Member Function Documentation

◆ addEntry()

SbBool SoNodekitCatalog::addEntry ( const SbName & name,
SoType type,
SoType defaulttype,
SbBool isdefaultnull,
const SbName & parentname,
const SbName & rightsiblingname,
SbBool islist,
SoType listcontainertype,
SoType listitemtype,
SbBool ispublic )

Add a new entry to the catalog. Returns TRUE if add was OK.

◆ addListItemType() [1/2]

void SoNodekitCatalog::addListItemType ( const SbName & name,
SoType type )

Add another allowable type for the name part. The part must of course be a list container.

◆ addListItemType() [2/2]

void SoNodekitCatalog::addListItemType ( int part,
SoType type )

Add another allowable type for the given part. part must of course be a list container item.

◆ clone()

SoNodekitCatalog * SoNodekitCatalog::clone ( SoType type) const

Return a clone of this catalog. type will be used to set the type and default type values of the top level this entry.

◆ getDefaultType() [1/2]

SoType SoNodekitCatalog::getDefaultType ( const SbName & name) const

Given part name, return default type of part.

◆ getDefaultType() [2/2]

SoType SoNodekitCatalog::getDefaultType ( int part) const

Given part number, return default type of part.

◆ getListContainerType() [1/2]

SoType SoNodekitCatalog::getListContainerType ( const SbName & name) const

Returns type of list container (SoGroup, SoSeparator, SoSwitch, etc) which the named part is.

◆ getListContainerType() [2/2]

SoType SoNodekitCatalog::getListContainerType ( int part) const

Returns type of list container (SoGroup, SoSeparator, SoSwitch, etc) which part is.

◆ getListItemTypes() [1/2]

const SoTypeList & SoNodekitCatalog::getListItemTypes ( const SbName & name) const

Returns list of node types which are allowed to be children of the named list container part.

◆ getListItemTypes() [2/2]

const SoTypeList & SoNodekitCatalog::getListItemTypes ( int part) const

Returns list of node types which are allowed to be children of the list container part.

◆ getName()

const SbName & SoNodekitCatalog::getName ( int part) const

Given the part number, return name of that part.

◆ getNumEntries()

int SoNodekitCatalog::getNumEntries ( void ) const

Returns total number of entries in the catalog.

◆ getParentName() [1/2]

const SbName & SoNodekitCatalog::getParentName ( const SbName & name) const

Returns name of parent of the part. If name doesn't have a parent, the empty string is returned.

◆ getParentName() [2/2]

const SbName & SoNodekitCatalog::getParentName ( int part) const

Returns name of parent of part. If part doesn't have a parent, the empty string is returned.

◆ getParentPartNumber() [1/2]

int SoNodekitCatalog::getParentPartNumber ( const SbName & name) const

Returns part number of given part's parent. If name doesn't have a parent, SO_CATALOG_NAME_NOT_FOUND is returned.

◆ getParentPartNumber() [2/2]

int SoNodekitCatalog::getParentPartNumber ( int part) const

Returns part number of given part's parent. If part doesn't have a parent, SO_CATALOG_NAME_NOT_FOUND is returned.

◆ getPartNumber()

int SoNodekitCatalog::getPartNumber ( const SbName & name) const

Returns part number in catalog with name. If no part exists with name, returns SO_CATALOG_NAME_NOT_FOUND.

◆ getRightSiblingName() [1/2]

const SbName & SoNodekitCatalog::getRightSiblingName ( const SbName & name) const

Returns name of sibling of the part. Returns the empty string if name doesn't have a right sibling.

◆ getRightSiblingName() [2/2]

const SbName & SoNodekitCatalog::getRightSiblingName ( int part) const

Returns name of right sibling of part. Returns the empty string if part doesn't have a right sibling.

◆ getRightSiblingPartNumber() [1/2]

int SoNodekitCatalog::getRightSiblingPartNumber ( const SbName & name) const

Returns part number of given part's right sibling. Returns SO_CATALOG_NAME_NOT_FOUND if part doesn't have a right sibling.

◆ getRightSiblingPartNumber() [2/2]

int SoNodekitCatalog::getRightSiblingPartNumber ( int part) const

Returns part number of given part's sibling. Returns SO_CATALOG_NAME_NOT_FOUND if part doesn't have a right sibling.

◆ getType() [1/2]

SoType SoNodekitCatalog::getType ( const SbName & name) const

Given the part name, return type.

◆ getType() [2/2]

SoType SoNodekitCatalog::getType ( int part) const

Given the part number, return type.

◆ initClass()

void SoNodekitCatalog::initClass ( void )
static

Initialization of static variables.

◆ isLeaf() [1/2]

SbBool SoNodekitCatalog::isLeaf ( const SbName & name) const

Returns TRUE if the part name is not a parent for any other parts in the nodekit catalog.

◆ isLeaf() [2/2]

SbBool SoNodekitCatalog::isLeaf ( int part) const

Returns TRUE if the part is not a parent for any other parts in the nodekit catalog.

◆ isList() [1/2]

SbBool SoNodekitCatalog::isList ( const SbName & name) const

Returns TRUE if the given part is a list container.

◆ isList() [2/2]

SbBool SoNodekitCatalog::isList ( int part) const

Returns TRUE if the given part is a list container.

◆ isNullByDefault() [1/2]

SbBool SoNodekitCatalog::isNullByDefault ( const SbName & name) const

Returns TRUE if part name is empty by default, otherwise FALSE.

◆ isNullByDefault() [2/2]

SbBool SoNodekitCatalog::isNullByDefault ( int part) const

Returns TRUE if the part is empty by default, otherwise FALSE.

◆ isPublic() [1/2]

SbBool SoNodekitCatalog::isPublic ( const SbName & name) const

Returns TRUE if the part is visible and publicly available for queries and modifications, FALSE if it is hidden.

◆ isPublic() [2/2]

SbBool SoNodekitCatalog::isPublic ( int part) const

Returns TRUE if part is visible and publicly available for queries and modifications, FALSE if part is hidden.

◆ narrowTypes()

void SoNodekitCatalog::narrowTypes ( const SbName & name,
SoType newtype,
SoType newdefaulttype )

Set the type and default type of a part to be subtypes of the old types. Useful for "narrowing" the specification of a nodekit which inherits the catalog of a more generic nodekit superclass.

◆ printCheck()

void SoNodekitCatalog::printCheck ( void ) const

Lists all catalog parts, which is useful for debugging.

◆ recursiveSearch()

SbBool SoNodekitCatalog::recursiveSearch ( int part,
const SbName & name,
SoTypeList * checked ) const

Recursively search part number in catalog for the name part.

The checked SoTypeList is just used as a placeholder to remember which nodekit class catalogs have already been scanned (or are being scanned) during the recursion. You should normally just pass in an empty list.

◆ setNullByDefault()

void SoNodekitCatalog::setNullByDefault ( const SbName & name,
SbBool nullbydefault )

Change whether or not the part with the given name is created by default.


The documentation for this class was generated from the following files: