SoNodeKitListPart(3IV)
SoNodeKitListPart (SoNkitListPart) - group node with restricted children
As shipped in IRIX 6.5.30. Added in IRIX 6.5.22.
NAME SoNodeKitListPart (SoNkitListPart) - group node with restricted children INHERITS FROM SoBase > SoFieldContainer > SoNode > SoNodeKitListPart SYNOPSIS #include <Inventor_c/nodekits/SoNodeKitListPart.h> typedef SoNodeKitListPart SoNkitListPart Functions from class SoNodeKitListPart: SoNodeKitListPart * SoNkitListPartCreate() SoType SoNkitListPartGetContainerType(const SoNkitListPart *this) void SoNkitListPartSetContainerType(SoNkitListPart *this, SoType newContainerType ) const SoTypeList * SoNkitListPartGetChildTypes(const SoNkitListPart *this) void SoNkitListPartAddChildType(SoNkitListPart *this, SoType typeToAdd ) SbBool SoNkitListPartIsTypePermitted(const SoNkitListPart *this, SoType typeToCheck ) SbBool SoNkitListPartIsChildPermitted(const SoNkitListPart *this, const SoNode *child ) void SoNkitListPartContainerSet(SoNkitListPart *this, const char *fieldDataString ) void SoNkitListPartLockTypes(SoNkitListPart *this) SbBool SoNkitListPartIsTypeLocked(const SoNkitListPart *this) void SoNkitListPartAddChild(SoNkitListPart *this, SoNode *child ) void SoNkitListPartInsertChild(SoNkitListPart *this, SoNode *child, int childIndex ) SoNode * SoNkitListPartGetChild(const SoNkitListPart *this, int index ) int SoNkitListPartFindChild(const SoNkitListPart *this, SoNode *child) int SoNkitListPartGetNumChildren(const SoNkitListPart *this) void SoNkitListPartRemoveChild(SoNkitListPart *this, int index) void SoNkitListPartRemoveChildNode(SoNkitListPart *this, SoNode *child) void SoNkitListPartReplaceChild(SoNkitListPart *this, int index, SoNode *newChild) void SoNkitListPartReplaceChildNode(SoNkitListPart *this, SoNode *oldChild, SoNode *newChild) SoType SoNkitListPartGetClassTypeId() Functions from class SoNode: void SoNkitListPartSetOverride(SoNkitListPart *this, SbBool state) SbBool SoNkitListPartIsOverride(const SoNkitListPart *this) SoNode * SoNkitListPartCopy(const SoNkitListPart *this, SbBool copyConnections = FALSE) SbBool SoNkitListPartAffectsState(const SoNkitListPart *this) SoNode * SoNkitListPartGetByName(const char *name) int SoNkitListPartGetByNameList(const char *name, SoNodeList *list) Functions from class SoFieldContainer: void SoNkitListPartSetToDflts(SoNkitListPart *this) SbBool SoNkitListPartHasDfltVals(const SoNkitListPart *this) SbBool SoNkitListPartFldsAreEq(const SoNkitListPart *this, const SoFieldContainer *fc) void SoNkitListPartCopyFieldVals(SoNkitListPart *this, const SoFieldContainer *fc, SbBool copyConnections = FALSE) SbBool SoNkitListPartSet(SoNkitListPart *this, const char *fieldDataString) void SoNkitListPartGet(SoNkitListPart *this, SbString *fieldDataString) int SoNkitListPartGetFields(const SoNkitListPart *this, SoFieldList *resultList) SoField * SoNkitListPartGetField(const SoNkitListPart *this, const char *fieldName) SbBool SoNkitListPartGetFieldName(const SoNkitListPart *this, const SoField *field, SbName *fieldName) SbBool SoNkitListPartIsNotifyEnabled(const SoNkitListPart *this) SbBool SoNkitListPartEnableNotify(SoNkitListPart *this, SbBool flag) Functions from class SoBase: void SoNkitListPartRef(SoNkitListPart *this) void SoNkitListPartUnref(const SoNkitListPart *this) void SoNkitListPartUnrefNoDelete(const SoNkitListPart *this) void SoNkitListPartTouch(SoNkitListPart *this) SoType SoNkitListPartGetTypeId(const SoNkitListPart *this) SbBool SoNkitListPartIsOfType(const SoNkitListPart *this, SoType type) void SoNkitListPartSetName(SoNkitListPart *this, const char *name) SbName SoNkitListPartGetName(const SoNkitListPart *this) DESCRIPTION This node class is very similar to SoGroup with the exception that it specifies restrictions on the type of children that it allows. It is used by nodekits to restrict child types within list parts (see the reference page for SoBaseKit). By default, any kind of child may be added. Methods of this class allow you to restrict the type of allowable children, and to lock down the types so that this type list may no longer be altered. Inside the SoNodeKitListPart is a container node, which in turn contains the children. The container node is a hidden child, and the type of node used may be set with SoNkitListPartSetContainerType(). In this way, you can make the nodekitlist behave like a group, a separator, or any other subclass of group. The container is not accessible so that the nodekitlist may retain control over what kinds of children are added. FUNCTIONS SoNodeKitListPart * SoNkitListPartCreate() Constructor. SoType SoNkitListPartGetContainerType(const SoNkitListPart *this) void SoNkitListPartSetContainerType(SoNkitListPart *this, SoType newContainerType ) Gets and sets the type of node used as the container. const SoTypeList * SoNkitListPartGetChildTypes(const SoNkitListPart *this) Returns the permitted child node types. By default, any type of node is permitted, so the list contains one entry of type SoNode. void SoNkitListPartAddChildType(SoNkitListPart *this, SoType typeToAdd ) Permits the node type typeToAdd as a child. The first time the SoNkitListPartAddChildType() method is called, the default of SoNode is overridden and only the new typeToAdd is permitted. In subsequent calls to SoNkitListPartAddChildType(), the typeToAdd is added to the existing types. SbBool SoNkitListPartIsTypePermitted(const SoNkitListPart *this, SoType typeToCheck ) Returns whether a node of type typeToCheck may be added as a child. SbBool SoNkitListPartIsChildPermitted(const SoNkitListPart *this, const SoNode *child ) Returns whether the node child may be added to this list. This will return TRUE if the type of child is one of the permissible child types. void SoNkitListPartContainerSet(SoNkitListPart *this, const char *fieldDataString ) Sends a string to the SoGroupSet() method on the container node. This is how you can set the value of a switch node if the container node is an SoSwitch, for example. void SoNkitListPartLockTypes(SoNkitListPart *this) This function permanently locks the permitted child types and the container type permanently. Calls to SoNkitListPartSetContainerType() and SoNkitListPartAddChildType() will have no effect after this function is called. SbBool SoNkitListPartIsTypeLocked(const SoNkitListPart *this) Returns whether the permitted child types and the container type are locked (i.e. cannot be changed). See SoNkitListPartLockTypes() void SoNkitListPartAddChild(SoNkitListPart *this, SoNode *child ) void SoNkitListPartInsertChild(SoNkitListPart *this, SoNode *child, int childIndex ) SoNode * SoNkitListPartGetChild(const SoNkitListPart *this, int index ) int SoNkitListPartFindChild(const SoNkitListPart *this, SoNode *child) int SoNkitListPartGetNumChildren(const SoNkitListPart *this) void SoNkitListPartRemoveChild(SoNkitListPart *this, int index) void SoNkitListPartRemoveChildNode(SoNkitListPart *this, SoNode *child) void SoNkitListPartReplaceChild(SoNkitListPart *this, int index, SoNode *newChild) void SoNkitListPartReplaceChildNode(SoNkitListPart *this, SoNode *oldChild, SoNode *newChild) These are the functions used to edit the children. They parallel those of SoGroup, except that they always check the child types against those which are permissible. See SoGroup for details. SoType SoNkitListPartGetClassTypeId() Returns type identifier for this class. FILE FORMAT/DEFAULTS NodeKitListPart { containerTypeName "Group" childTypeNames "" containerNode NULL } SEE ALSO SoBaseKit, SoNodeKit, SoNodeKitDetail, SoNodeKitPath, SoNodekitCatalog, SoSceneKit, SoSeparatorKit, SoShapeKit, SoWrapperKit