SoNodekitCatalog.3coin2

Langue: en

Version: 376143 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

Sommaire

NAME

SoNodekitCatalog -

The SoNodekitCatalog class is a container for nodekit layouts.

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

SYNOPSIS


#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)

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 (void)Constructor.

SoNodekitCatalog::~SoNodekitCatalog ()Destructor.

References SbList< Type >::getLength().

Member Function Documentation

void SoNodekitCatalog::initClass (void) [static]Initialization of static variables.

int SoNodekitCatalog::getNumEntries (void) constReturns total number of entries in the catalog.

References SbList< Type >::getLength().

Referenced by addEntry(), SoBaseKit::createFieldList(), getDefaultType(), getListContainerType(), getListItemTypes(), getName(), getParentName(), getParentPartNumber(), getRightSiblingName(), getRightSiblingPartNumber(), getType(), isLeaf(), isList(), isPublic(), printCheck(), SoBaseKit::printSubDiagram(), SoBaseKit::printTable(), and recursiveSearch().

int SoNodekitCatalog::getPartNumber (const SbName & name) constReturns part number in catalog with name. If no part exists with name, returns SO_CATALOG_NAME_NOT_FOUND.

References SbList< Type >::getLength().

Referenced by addEntry(), SoBaseKit::countMyFields(), SoBaseKit::forceChildDrivenWriteRefs(), getDefaultType(), getListContainerType(), getListItemTypes(), getParentName(), getParentPartNumber(), getRightSiblingName(), getRightSiblingPartNumber(), getType(), isLeaf(), isList(), isNullByDefault(), isPublic(), narrowTypes(), SoBaseKit::printSubDiagram(), and setNullByDefault().

const SbName & SoNodekitCatalog::getName (int part) constGiven the part number, return name of that part.

References SbList< Type >::getLength(), and getNumEntries().

Referenced by SoBaseKit::createFieldList(), SoBaseKit::getPartString(), SoBaseKit::printSubDiagram(), SoBaseKit::printTable(), and recursiveSearch().

SoType SoNodekitCatalog::getType (int part) constGiven the part number, return type.

References SbList< Type >::getLength(), and getNumEntries().

Referenced by getType(), SoBaseKit::printSubDiagram(), SoBaseKit::printTable(), and recursiveSearch().

SoType SoNodekitCatalog::getType (const SbName & name) constGiven the part name, return type.

References SbList< Type >::getLength(), getPartNumber(), and getType().

SoType SoNodekitCatalog::getDefaultType (int part) constGiven part number, return default type of part.

References SbList< Type >::getLength(), and getNumEntries().

Referenced by getDefaultType(), and SoBaseKit::printTable().

SoType SoNodekitCatalog::getDefaultType (const SbName & name) constGiven part name, return default type of part.

References getDefaultType(), SbList< Type >::getLength(), and getPartNumber().

SbBool SoNodekitCatalog::isNullByDefault (int part) constReturns TRUE if the part is empty by default, otherwise FALSE.

References SbList< Type >::getLength().

Referenced by SoBaseKit::createDefaultParts(), isNullByDefault(), and SoBaseKit::setDefaultOnNonWritingFields().

SbBool SoNodekitCatalog::isNullByDefault (const SbName & name) constReturns TRUE if part name is empty by default, otherwise FALSE.

References SbList< Type >::getLength(), getPartNumber(), and isNullByDefault().

SbBool SoNodekitCatalog::isLeaf (int part) constReturns TRUE if the part is not a parent for any other parts in the nodekit catalog.

References SbList< Type >::getLength(), and getNumEntries().

Referenced by SoBaseKit::createPathToAnyPart(), SoBaseKit::getAnyPart(), SoBaseKit::getPartString(), isLeaf(), SoBaseKit::readInstance(), SoInteractionKit::setDefaultOnNonWritingFields(), and SoBaseKit::setDefaultOnNonWritingFields().

SbBool SoNodekitCatalog::isLeaf (const SbName & name) constReturns TRUE if the part name is not a parent for any other parts in the nodekit catalog.

References SbList< Type >::getLength(), getPartNumber(), and isLeaf().

const SbName & SoNodekitCatalog::getParentName (int part) constReturns name of parent of part. If part doesn't have a parent, the empty string is returned.

References SbList< Type >::getLength(), and getNumEntries().

Referenced by getParentName(), and SoBaseKit::printSubDiagram().

const SbName & SoNodekitCatalog::getParentName (const SbName & name) constReturns name of parent of the part. If name doesn't have a parent, the empty string is returned.

References SbList< Type >::getLength(), getParentName(), and getPartNumber().

int SoNodekitCatalog::getParentPartNumber (int part) constReturns part number of given part's parent. If part doesn't have a parent, SO_CATALOG_NAME_NOT_FOUND is returned.

References SbList< Type >::getLength(), getNumEntries(), and getPartNumber().

Referenced by getParentPartNumber().

int SoNodekitCatalog::getParentPartNumber (const SbName & name) constReturns part number of given part's parent. If name doesn't have a parent, SO_CATALOG_NAME_NOT_FOUND is returned.

References SbList< Type >::getLength(), getParentPartNumber(), and getPartNumber().

const SbName & SoNodekitCatalog::getRightSiblingName (int part) constReturns name of right sibling of part. Returns the empty string if part doesn't have a right sibling.

References SbList< Type >::getLength(), and getNumEntries().

Referenced by getRightSiblingName().

const SbName & SoNodekitCatalog::getRightSiblingName (const SbName & name) constReturns name of sibling of the part. Returns the empty string if name doesn't have a right sibling.

References SbList< Type >::getLength(), getPartNumber(), and getRightSiblingName().

int SoNodekitCatalog::getRightSiblingPartNumber (int part) constReturns part number of given part's sibling. Returns SO_CATALOG_NAME_NOT_FOUND if part doesn't have a right sibling.

References SbList< Type >::getLength(), getNumEntries(), and getPartNumber().

Referenced by getRightSiblingPartNumber().

int SoNodekitCatalog::getRightSiblingPartNumber (const SbName & name) constReturns part number of given part's right sibling. Returns SO_CATALOG_NAME_NOT_FOUND if part doesn't have a right sibling.

References SbList< Type >::getLength(), getPartNumber(), and getRightSiblingPartNumber().

SbBool SoNodekitCatalog::isList (int part) constReturns TRUE if the given part is a list container.

References SbList< Type >::getLength(), and getNumEntries().

Referenced by isList(), and SoBaseKit::printTable().

SbBool SoNodekitCatalog::isList (const SbName & name) constReturns TRUE if the given part is a list container.

References SbList< Type >::getLength(), getPartNumber(), and isList().

SoType SoNodekitCatalog::getListContainerType (int part) constReturns type of list container (SoGroup, SoSeparator, SoSwitch, etc) which part is.

References SbList< Type >::getLength(), and getNumEntries().

Referenced by getListContainerType().

SoType SoNodekitCatalog::getListContainerType (const SbName & name) constReturns type of list container (SoGroup, SoSeparator, SoSwitch, etc) which the named part is.

References SbList< Type >::getLength(), getListContainerType(), and getPartNumber().

const SoTypeList & SoNodekitCatalog::getListItemTypes (int part) constReturns list of node types which are allowed to be children of the list container part.

References SbList< Type >::getLength(), and getNumEntries().

Referenced by getListItemTypes(), and SoBaseKit::printTable().

const SoTypeList & SoNodekitCatalog::getListItemTypes (const SbName & name) constReturns list of node types which are allowed to be children of the named list container part.

References SbList< Type >::getLength(), getListItemTypes(), and getPartNumber().

SbBool SoNodekitCatalog::isPublic (int part) constReturns TRUE if part is visible and publicly available for queries and modifications, FALSE if part is hidden.

References SbList< Type >::getLength(), and getNumEntries().

Referenced by SoBaseKit::createPathToAnyPart(), SoBaseKit::getAnyPart(), isPublic(), SoBaseKit::printTable(), and SoBaseKit::setAnyPart().

SbBool SoNodekitCatalog::isPublic (const SbName & name) constReturns TRUE if the part is visible and publicly available for queries and modifications, FALSE if it is hidden.

References SbList< Type >::getLength(), getPartNumber(), and isPublic().

SoNodekitCatalog * SoNodekitCatalog::clone (SoType type) constReturn a clone of this catalog. type will be used to set the type and defaulttype values of the toplevel this entry.

References SbList< Type >::getLength().

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.

References SbList< Type >::append(), SoType::badType(), SbList< Type >::getLength(), getNumEntries(), getPartNumber(), SbName::getString(), SoDebugError::postInfo(), and SbList< Type >::remove().

Referenced by SoBaseKit::SoBaseKit().

void SoNodekitCatalog::addListItemType (int part, SoType type)Add another allowable type for the given part. part must of course be a list container item.

References SbList< Type >::getLength().

Referenced by addListItemType().

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.

References addListItemType(), SbName::getString(), and SoDebugError::post().

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.

References SbList< Type >::getLength(), getPartNumber(), and SoType::isDerivedFrom().

void SoNodekitCatalog::setNullByDefault (const SbName & name, SbBool nullbydefault)Change whether or not the part with the given name is created by default.

References SbList< Type >::getLength(), and getPartNumber().

SbBool SoNodekitCatalog::recursiveSearch (int part, const SbName & name, SoTypeList * checked) constRecursively 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.

References SoTypeList::append(), SoType::createInstance(), SoTypeList::find(), SoNode::getClassTypeId(), SbList< Type >::getLength(), getName(), SoBaseKit::getNodekitCatalog(), getNumEntries(), getType(), SoType::isDerivedFrom(), recursiveSearch(), SoBase::ref(), and SoBase::unref().

Referenced by recursiveSearch().

void SoNodekitCatalog::printCheck (void) constLists all catalog parts, which is useful for debugging.

References SoType::badType(), and getNumEntries().

Author

Generated automatically by Doxygen for Coin from the source code.