SoNodeKitListPart(3IV)NAMESoNodeKitListPart (SoNkitListPart) - group node with restricted children
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoNodeKitListPartSYNOPSIS
#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:
Page 1SoNodeKitListPart(3IV)
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)
Page 2SoNodeKitListPart(3IV)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.
FUNCTIONSSoNodeKitListPart * 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 )
Page 3SoNodeKitListPart(3IV)
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
Page 4SoNodeKitListPart(3IV)Page 5