Coin3D is Free Software, published under the BSD 3-clause license. |
https://coin3d.github.io https://www.kongsberg.com/en/kogt/ |
The SoNodekitCatalog class is a container for nodekit layouts. More...
#include <Inventor/nodekits/SoNodekitCatalog.h>
Public Member Functions | |
SoNodekitCatalog (void) | |
~SoNodekitCatalog () | |
int | getNumEntries (void) const |
int | getPartNumber (const SbName &name) const |
const SbName & | getName (int part) const |
SoType | getType (int part) const |
SoType | getType (const SbName &name) const |
SoType | getDefaultType (int part) const |
SoType | getDefaultType (const SbName &name) const |
SbBool | isNullByDefault (int part) const |
SbBool | isNullByDefault (const SbName &name) const |
SbBool | isLeaf (int part) const |
SbBool | isLeaf (const SbName &name) const |
const SbName & | getParentName (int part) const |
const SbName & | getParentName (const SbName &name) const |
int | getParentPartNumber (int part) const |
int | getParentPartNumber (const SbName &name) const |
const SbName & | getRightSiblingName (int part) const |
const SbName & | getRightSiblingName (const SbName &name) const |
int | getRightSiblingPartNumber (int part) const |
int | getRightSiblingPartNumber (const SbName &name) const |
SbBool | isList (int part) const |
SbBool | isList (const SbName &name) const |
SoType | getListContainerType (int part) const |
SoType | getListContainerType (const SbName &name) const |
const SoTypeList & | getListItemTypes (int part) const |
const SoTypeList & | getListItemTypes (const SbName &name) const |
SbBool | isPublic (int part) const |
SbBool | isPublic (const SbName &name) const |
SoNodekitCatalog * | clone (SoType type) const |
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 (int part, SoType type) |
void | addListItemType (const SbName &name, SoType type) |
void | narrowTypes (const SbName &name, SoType newtype, SoType newdefaulttype) |
void | setNullByDefault (const SbName &name, SbBool nullbydefault) |
SbBool | recursiveSearch (int part, const SbName &name, SoTypeList *checked) const |
void | printCheck (void) const |
Static Public Member Functions | |
static void | initClass (void) |
The SoNodekitCatalog class is a container for nodekit layouts.
Nodekits store all their hierarchical layout information and part information in instances of this class.
SoNodekitCatalog::SoNodekitCatalog | ( | void | ) |
Constructor.
SoNodekitCatalog::~SoNodekitCatalog | ( | ) |
Destructor.
|
static |
Initialization of static variables.
int SoNodekitCatalog::getNumEntries | ( | void | ) | const |
Returns total number of entries in the catalog.
Returns part number in catalog with name. If no part exists with name, returns SO_CATALOG_NAME_NOT_FOUND
.
Given the part number, return name of that part.
Given part number, return default type of part.
Given part name, return default type of part.
Returns TRUE
if the part is empty by default, otherwise FALSE
.
Returns TRUE
if part name is empty by default, otherwise FALSE
.
Returns TRUE
if the part is not a parent for any other parts in the nodekit catalog.
Returns TRUE
if the part name is not a parent for any other parts in the nodekit catalog.
Returns name of parent of part. If part doesn't have a parent, the empty string is returned.
Returns name of parent of the part. If name doesn't have a parent, the empty string is returned.
Returns part number of given part's parent. If part doesn't have a parent, SO_CATALOG_NAME_NOT_FOUND is returned.
Returns part number of given part's parent. If name doesn't have a parent, SO_CATALOG_NAME_NOT_FOUND is returned.
Returns name of right sibling of part. Returns the empty string if part doesn't have a right sibling.
Returns name of sibling of the part. Returns the empty string if name doesn't have a right sibling.
Returns part number of given part's sibling. Returns SO_CATALOG_NAME_NOT_FOUND if part doesn't have a right sibling.
Returns part number of given part's right sibling. Returns SO_CATALOG_NAME_NOT_FOUND if part doesn't have a right sibling.
Returns TRUE
if the given part is a list container.
Returns TRUE
if the given part is a list container.
Returns type of list container (SoGroup, SoSeparator, SoSwitch, etc) which part is.
Returns type of list container (SoGroup, SoSeparator, SoSwitch, etc) which the named part is.
const SoTypeList & SoNodekitCatalog::getListItemTypes | ( | int | part | ) | const |
Returns list of node types which are allowed to be children of the list container part.
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.
Returns TRUE
if part is visible and publicly available for queries and modifications, FALSE
if part is hidden.
Returns TRUE
if the part is visible and publicly available for queries and modifications, FALSE
if it is hidden.
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.
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.
Add another allowable type for the given part. part must of course be a list container item.
Add another allowable type for the name part. The part must of course be a list container.
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.
Change whether or not the part with the given name is created by default.
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.
void SoNodekitCatalog::printCheck | ( | void | ) | const |
Lists all catalog parts, which is useful for debugging.