.TH "SoMFNode" 3 "Tue Dec 26 2023 17:59:22" "Version 4.0.2" "Coin" \" -*- nroff -*- .ad l .nh .SH NAME SoMFNode \- The \fBSoMFNode\fP class is a container for nodes\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBSoMField\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBvirtual\fP \fBSoType\fP \fBgetTypeId\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBcopyFrom\fP (\fBconst\fP \fBSoField\fP &\fBfield\fP)" .br .ti -1c .RI "\fBconst\fP \fBSoMFNode\fP & \fBoperator=\fP (\fBconst\fP \fBSoMFNode\fP &\fBfield\fP)" .br .ti -1c .RI "\fBvirtual\fP SbBool \fBisSame\fP (\fBconst\fP \fBSoField\fP &\fBfield\fP) \fBconst\fP" .br .ti -1c .RI "\fBSoNode\fP * \fBoperator[]\fP (\fBconst\fP int idx) \fBconst\fP" .br .ti -1c .RI "\fBconst\fP \fBSoNode\fP ** \fBgetValues\fP (\fBconst\fP int start) \fBconst\fP" .br .ti -1c .RI "int \fBfind\fP (\fBSoNode\fP *value, SbBool \fBaddifnotfound\fP=FALSE)" .br .ti -1c .RI "\fBvoid\fP \fBsetValues\fP (\fBconst\fP int start, \fBconst\fP int \fBnum\fP, \fBconst\fP \fBSoNode\fP **\fBnewvals\fP)" .br .ti -1c .RI "\fBvoid\fP \fBset1Value\fP (\fBconst\fP int idx, \fBSoNode\fP *value)" .br .ti -1c .RI "\fBvoid\fP \fBsetValue\fP (\fBSoNode\fP *value)" .br .ti -1c .RI "\fBSoNode\fP * \fBoperator=\fP (\fBSoNode\fP *\fBval\fP)" .br .ti -1c .RI "SbBool \fBoperator==\fP (\fBconst\fP \fBSoMFNode\fP &\fBfield\fP) \fBconst\fP" .br .ti -1c .RI "SbBool \fBoperator!=\fP (\fBconst\fP \fBSoMFNode\fP &\fBfield\fP) \fBconst\fP" .br .ti -1c .RI "\fBSoNode\fP ** \fBstartEditing\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvoid\fP \fBfinishEditing\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBfixCopy\fP (SbBool \fBcopyconnections\fP)" .br .ti -1c .RI "\fBvirtual\fP SbBool \fBreferencesCopy\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBaddNode\fP (\fBSoNode\fP *node)" .br .ti -1c .RI "\fBvoid\fP \fBinsertNode\fP (\fBSoNode\fP *node, int idx)" .br .ti -1c .RI "\fBSoNode\fP * \fBgetNode\fP (int idx) \fBconst\fP" .br .ti -1c .RI "int \fBfindNode\fP (\fBconst\fP \fBSoNode\fP *node) \fBconst\fP" .br .ti -1c .RI "int \fBgetNumNodes\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBremoveNode\fP (int index)" .br .ti -1c .RI "\fBvoid\fP \fBremoveNode\fP (\fBSoNode\fP *node)" .br .ti -1c .RI "\fBvoid\fP \fBremoveAllNodes\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvoid\fP \fBreplaceNode\fP (int idx, \fBSoNode\fP *\fBnewnode\fP)" .br .ti -1c .RI "\fBvoid\fP \fBreplaceNode\fP (\fBSoNode\fP *\fBoldnode\fP, \fBSoNode\fP *\fBnewnode\fP)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBdeleteValues\fP (int start, int \fBnum\fP=\-1)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBinsertSpace\fP (int start, int \fBnum\fP)" .br .in -1c Public Member Functions inherited from \fBSoMField\fP .in +1c .ti -1c .RI "\fBvirtual\fP \fB~SoMField\fP ()" .br .ti -1c .RI "int \fBgetNum\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBsetNum\fP (\fBconst\fP int \fBnum\fP)" .br .ti -1c .RI "SbBool \fBset1\fP (\fBconst\fP int index, \fBconst\fP char *\fBconst\fP \fBvaluestring\fP)" .br .ti -1c .RI "\fBvoid\fP \fBget1\fP (\fBconst\fP int index, \fBSbString\fP &\fBvaluestring\fP)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBenableDeleteValues\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvirtual\fP SbBool \fBisDeleteValuesEnabled\fP (\fBvoid\fP) \fBconst\fP" .br .in -1c Public Member Functions inherited from \fBSoField\fP .in +1c .ti -1c .RI "\fBvirtual\fP \fB~SoField\fP ()" .br .ti -1c .RI "\fBvoid\fP \fBsetIgnored\fP (SbBool \fBignore\fP)" .br .ti -1c .RI "SbBool \fBisIgnored\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBsetDefault\fP (SbBool \fBdefaultVal\fP)" .br .ti -1c .RI "SbBool \fBisDefault\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "SbBool \fBisOfType\fP (\fBconst\fP \fBSoType\fP type) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBenableConnection\fP (SbBool \fBflag\fP)" .br .ti -1c .RI "SbBool \fBisConnectionEnabled\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "SbBool \fBconnectFrom\fP (\fBSoEngineOutput\fP *master, SbBool \fBnotnotify\fP=FALSE, SbBool append=FALSE)" .br .ti -1c .RI "SbBool \fBappendConnection\fP (\fBSoEngineOutput\fP *master, SbBool \fBnotnotify\fP=FALSE)" .br .ti -1c .RI "\fBvoid\fP \fBdisconnect\fP (\fBSoEngineOutput\fP *\fBengineoutput\fP)" .br .ti -1c .RI "SbBool \fBisConnectedFromEngine\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "SbBool \fBgetConnectedEngine\fP (\fBSoEngineOutput\fP *&master) \fBconst\fP" .br .ti -1c .RI "SbBool \fBconnectFrom\fP (\fBSoField\fP *master, SbBool \fBnotnotify\fP=FALSE, SbBool append=FALSE)" .br .ti -1c .RI "SbBool \fBappendConnection\fP (\fBSoField\fP *master, SbBool \fBnotnotify\fP=FALSE)" .br .ti -1c .RI "\fBvoid\fP \fBdisconnect\fP (\fBSoField\fP *\fBfield\fP)" .br .ti -1c .RI "SbBool \fBisConnectedFromField\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "SbBool \fBgetConnectedField\fP (\fBSoField\fP *&master) \fBconst\fP" .br .ti -1c .RI "int \fBgetNumConnections\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "int \fBgetForwardConnections\fP (\fBSoFieldList\fP &\fBslavelist\fP) \fBconst\fP" .br .ti -1c .RI "int \fBgetConnections\fP (\fBSoFieldList\fP &\fBmasterlist\fP) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBdisconnect\fP (\fBvoid\fP)" .br .ti -1c .RI "SbBool \fBisConnected\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBsetContainer\fP (\fBSoFieldContainer\fP *\fBcont\fP)" .br .ti -1c .RI "\fBSoFieldContainer\fP * \fBgetContainer\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "SbBool \fBset\fP (\fBconst\fP char *\fBvaluestring\fP)" .br .ti -1c .RI "\fBvoid\fP \fBget\fP (\fBSbString\fP &\fBvaluestring\fP)" .br .ti -1c .RI "SbBool \fBshouldWrite\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBtouch\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBstartNotify\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBnotify\fP (\fBSoNotList\fP *\fBnlist\fP)" .br .ti -1c .RI "SbBool \fBenableNotify\fP (SbBool on)" .br .ti -1c .RI "SbBool \fBisNotifyEnabled\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBaddAuditor\fP (\fBvoid\fP *f, \fBSoNotRec::Type\fP type)" .br .ti -1c .RI "\fBvoid\fP \fBremoveAuditor\fP (\fBvoid\fP *f, \fBSoNotRec::Type\fP type)" .br .ti -1c .RI "int \fBoperator==\fP (\fBconst\fP \fBSoField\fP &f) \fBconst\fP" .br .ti -1c .RI "int \fBoperator!=\fP (\fBconst\fP \fBSoField\fP &f) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBconnectionStatusChanged\fP (int \fBnumconnections\fP)" .br .ti -1c .RI "SbBool \fBisReadOnly\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBcopyConnection\fP (\fBconst\fP \fBSoField\fP *fromfield)" .br .ti -1c .RI "\fBvirtual\fP SbBool \fBread\fP (\fBSoInput\fP *input, \fBconst\fP \fBSbName\fP &name)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBwrite\fP (\fBSoOutput\fP *\fBout\fP, \fBconst\fP \fBSbName\fP &name) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBsetFieldType\fP (int type)" .br .ti -1c .RI "int \fBgetFieldType\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "SbBool \fBgetDirty\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvoid\fP \fBsetDirty\fP (SbBool dirty)" .br .ti -1c .RI "\fBvoid\fP \fBevaluate\fP (\fBvoid\fP) \fBconst\fP" .br .in -1c .SS "Static Public Member Functions" .in +1c .ti -1c .RI "\fBstatic\fP \fBvoid\fP * \fBcreateInstance\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBSoType\fP \fBgetClassTypeId\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBinitClass\fP (\fBvoid\fP)" .br .in -1c Static Public Member Functions inherited from \fBSoMField\fP .in +1c .ti -1c .RI "\fBstatic\fP \fBSoType\fP \fBgetClassTypeId\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBatexit_cleanup\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBinitClass\fP (\fBvoid\fP)" .br .in -1c Static Public Member Functions inherited from \fBSoField\fP .in +1c .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBinitClass\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBinitClasses\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBvoid\fP \fBcleanupClass\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBstatic\fP \fBSoType\fP \fBgetClassTypeId\fP (\fBvoid\fP)" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBdeleteAllValues\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBcopyValue\fP (int to, int from)" .br .ti -1c .RI "\fBvirtual\fP int \fBfieldSizeof\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP * \fBvaluesPtr\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBsetValuesPtr\fP (\fBvoid\fP *ptr)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBallocValues\fP (int \fBnum\fP)" .br .in -1c Protected Member Functions inherited from \fBSoMField\fP .in +1c .ti -1c .RI "\fBSoMField\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBmakeRoom\fP (int \fBnewnum\fP)" .br .ti -1c .RI "\fBvirtual\fP \fBSoNotRec\fP \fBcreateNotRec\fP (\fBSoBase\fP *container)" .br .ti -1c .RI "\fBvoid\fP \fBsetChangedIndex\fP (\fBconst\fP int \fBchgidx\fP)" .br .ti -1c .RI "\fBvoid\fP \fBsetChangedIndices\fP (\fBconst\fP int \fBchgidx\fP=\-1, \fBconst\fP int \fBnumchgind\fP=0)" .br .in -1c Protected Member Functions inherited from \fBSoField\fP .in +1c .ti -1c .RI "\fBSoField\fP (\fBvoid\fP)" .br .ti -1c .RI "\fBvoid\fP \fBvalueChanged\fP (SbBool \fBresetdefault\fP=TRUE)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBevaluateConnection\fP (\fBvoid\fP) \fBconst\fP" .br .ti -1c .RI "\fBvirtual\fP SbBool \fBreadConnection\fP (\fBSoInput\fP *\fBin\fP)" .br .ti -1c .RI "\fBvirtual\fP \fBvoid\fP \fBwriteConnection\fP (\fBSoOutput\fP *\fBout\fP) \fBconst\fP" .br .ti -1c .RI "SbBool \fBisDestructing\fP (\fBvoid\fP) \fBconst\fP" .br .in -1c .SS "Protected Attributes" .in +1c .ti -1c .RI "\fBSoNode\fP ** \fBvalues\fP" .br .in -1c Protected Attributes inherited from \fBSoMField\fP .in +1c .ti -1c .RI "int \fBnum\fP" .br .ti -1c .RI "int \fBmaxNum\fP" .br .ti -1c .RI "SbBool \fBuserDataIsUsed\fP" .br .in -1c .SS "Additional Inherited Members" Public Types inherited from \fBSoField\fP .in +1c .ti -1c .RI "enum \fBFieldType\fP { \fBNORMAL_FIELD\fP = 0, \fBEVENTIN_FIELD\fP, \fBEVENTOUT_FIELD\fP, \fBEXPOSED_FIELD\fP }" .br .in -1c .SH "Detailed Description" .PP The \fBSoMFNode\fP class is a container for nodes\&. This field container stores an array of pointers to nodes\&. It takes care of the necessary functionality for handling copy, import and export operations\&. .PP Note that node pointers stored in field instances of this type may be \fCNULL\fP pointers\&. .PP \fBSee also\fP .RS 4 \fBSoNode\fP, \fBSoSFNode\fP .RE .PP .SH "Member Function Documentation" .PP .SS "\fBvoid\fP * SoMFNode::createInstance (\fBvoid\fP)\fC [static]\fP" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .br .br Creates a new instance of the class type corresponding to the \fBSoType\fP object\&. .br .SS "\fBSoType\fP SoMFNode::getClassTypeId (\fBvoid\fP)\fC [static]\fP" This static method returns the \fBSoType\fP object associated with objects of this class\&. .br .SS "\fBSoType\fP SoMFNode::getTypeId (\fBvoid\fP) const\fC [virtual]\fP" Returns the type identification of an object derived from a class inheriting \fBSoField\fP\&. This is used for runtime type checking and 'downward' casting\&. .br .PP Implements \fBSoField\fP\&. .SS "\fBvoid\fP SoMFNode::copyFrom (\fBconst\fP \fBSoField\fP & f)\fC [virtual]\fP" Copy value(s) from \fIf\fP into this field\&. \fIf\fP must be of the same type as this field\&. .PP Implements \fBSoField\fP\&. .SS "SbBool SoMFNode::isSame (\fBconst\fP \fBSoField\fP & f) const\fC [virtual]\fP" Check for equal type and value(s)\&. .PP Implements \fBSoField\fP\&. .SS "\fBvirtual\fP \fBvoid\fP SoMFNode::deleteAllValues (\fBvoid\fP)\fC [protected]\fP, \fC [virtual]\fP" .PP Implements \fBSoMField\fP\&. .SS "\fBvirtual\fP \fBvoid\fP SoMFNode::copyValue (int to, int from)\fC [protected]\fP, \fC [virtual]\fP" .PP Implements \fBSoMField\fP\&. .SS "\fBconst\fP \fBSoNode\fP ** SoMFNode::getValues (\fBconst\fP int start) const\fC [inline]\fP" Returns a pointer to the values array\&. .br .SS "\fBvoid\fP SoMFNode::initClass (\fBvoid\fP)\fC [static]\fP" Internal method called upon initialization of the library (from \fBSoDB::init()\fP) to set up the type system\&. .SS "\fBvoid\fP SoMFNode::fixCopy (SbBool copyconnections)\fC [virtual]\fP" This method is internally called after \fBSoField::copyFrom()\fP during scene graph copies, and should do the operations necessary for fixing up the field instance after it has gotten a new value\&. .PP The default method in the \fBSoField\fP superclass does nothing\&. .PP The application programmer should normally not need to consider this method, unless he constructs a complex field type which contains new references to container instances (i\&.e\&. nodes or engines)\&. Overriding this method is then necessary to update the reference pointers, as they could have been duplicated during the copy operation\&. .PP Reimplemented from \fBSoField\fP\&. .SS "SbBool SoMFNode::referencesCopy (\fBvoid\fP) const\fC [virtual]\fP" Returns \fCTRUE\fP if this field has references to any containers in the scene graph which are also duplicated during the copy operation\&. .PP Note that this method \fIonly\fP is valid to call during copy operations\&. .PP See also the note about the relevance of the \fBfixCopy()\fP method for application programmers, as it is applicable on this method as well\&. .PP Reimplemented from \fBSoField\fP\&. .SS "\fBvoid\fP SoMFNode::addNode (\fBSoNode\fP * node)" Adds a node at the end of the array\&. .PP This function is an extension for Coin, and it is not available in the original SGI Open Inventor \fBv2\&.1\fP API\&. .br .PP \fBSince\fP .RS 4 Coin \fB2\&.0\fP .RE .PP .SS "\fBvoid\fP SoMFNode::insertNode (\fBSoNode\fP * node, int idx)" Inserts a node at index \fIidx\fP\&. .PP This function is an extension for Coin, and it is not available in the original SGI Open Inventor \fBv2\&.1\fP API\&. .br .PP \fBSince\fP .RS 4 Coin \fB2\&.0\fP .RE .PP .SS "\fBSoNode\fP * SoMFNode::getNode (int idx) const" Returns the node at index \fIidx\fP\&. .PP This function is an extension for Coin, and it is not available in the original SGI Open Inventor \fBv2\&.1\fP API\&. .br .PP \fBSince\fP .RS 4 Coin \fB2\&.0\fP .RE .PP .SS "int SoMFNode::findNode (\fBconst\fP \fBSoNode\fP * node) const" Returns the index for the first instance of \fInode\fP in the field, or -1 if not found\&. .PP This function is an extension for Coin, and it is not available in the original SGI Open Inventor \fBv2\&.1\fP API\&. .br .PP \fBSince\fP .RS 4 Coin \fB2\&.0\fP .RE .PP .SS "int SoMFNode::getNumNodes (\fBvoid\fP) const" Returns the number of nodes in this field\&. .PP This function is an extension for Coin, and it is not available in the original SGI Open Inventor \fBv2\&.1\fP API\&. .br .PP \fBSince\fP .RS 4 Coin \fB2\&.0\fP .RE .PP .SS "\fBvoid\fP SoMFNode::removeNode (int idx)" Removes the node at index \fIidx\fP\&. .PP This function is an extension for Coin, and it is not available in the original SGI Open Inventor \fBv2\&.1\fP API\&. .br .PP \fBSince\fP .RS 4 Coin \fB2\&.0\fP .RE .PP .SS "\fBvoid\fP SoMFNode::removeNode (\fBSoNode\fP * node)" Removes the first instance of \fInode\fP in the field\&. .PP This function is an extension for Coin, and it is not available in the original SGI Open Inventor \fBv2\&.1\fP API\&. .br .PP \fBSince\fP .RS 4 Coin \fB2\&.0\fP .RE .PP .SS "\fBvoid\fP SoMFNode::removeAllNodes (\fBvoid\fP)" Removes all nodes from the field\&. .PP This function is an extension for Coin, and it is not available in the original SGI Open Inventor \fBv2\&.1\fP API\&. .br .PP \fBSince\fP .RS 4 Coin \fB2\&.0\fP .RE .PP .SS "\fBvoid\fP SoMFNode::replaceNode (int idx, \fBSoNode\fP * newnode)" Replaces the node at index \fIidx\fP with \fInewnode\fP\&. .PP This function is an extension for Coin, and it is not available in the original SGI Open Inventor \fBv2\&.1\fP API\&. .br .PP \fBSince\fP .RS 4 Coin \fB2\&.0\fP .RE .PP .SS "\fBvoid\fP SoMFNode::replaceNode (\fBSoNode\fP * oldnode, \fBSoNode\fP * newnode)" Replaces the first instance of \fIoldnode\fP with \fInewnode\fP\&. .PP This function is an extension for Coin, and it is not available in the original SGI Open Inventor \fBv2\&.1\fP API\&. .br .PP \fBSince\fP .RS 4 Coin \fB2\&.0\fP .RE .PP .SS "\fBvirtual\fP \fBvoid\fP SoMFNode::deleteValues (int start, int numarg = \fC\-1\fP)\fC [virtual]\fP" Remove value elements from index \fIstart\fP up to and including index \fIstart\fP + \fInum\fP - 1\&. .PP Elements with indices larger than the last deleted element will be moved downwards in the value array\&. .PP If \fInum\fP equals -1, delete from index \fIstart\fP and to the end of the array\&. .PP Reimplemented from \fBSoMField\fP\&. .SS "\fBvirtual\fP \fBvoid\fP SoMFNode::insertSpace (int start, int numarg)\fC [virtual]\fP" Insert \fInum\fP 'slots' for new value elements from \fIstart\fP\&. The elements already present from \fIstart\fP will be moved 'upward' in the extended array\&. .PP Reimplemented from \fBSoMField\fP\&. .SH "Author" .PP Generated automatically by Doxygen for Coin from the source code\&.