# IRiNodeItem Interface Reference

Inherits IDispatch, and IDispatch.

List of all members.

## Public Member Functions
HRESULT | Delete ([in] BSTR nodeName)
HRESULT | ConnectTo ([in] BSTR bSourceNodeName,[in] BSTR bSourceConName,[in] BSTR bDestNodeName,[in] BSTR bDestConName)
HRESULT | Disconnect ([in] BSTR bSourceNodeName,[in] BSTR bSourceConName,[in] BSTR bDestNodeName,[in] BSTR bDestConName)
HRESULT | ReconnectFrom ([in] BSTR bSrc1NodeName,[in] BSTR bSrc1ConName,[in] BSTR bSrc2NodeName,[in] BSTR bSrc2ConName,[in] BSTR bDestNodeName,[in] BSTR bDestConName)
HRESULT | ReconnectTo ([in] BSTR bSourceNodeName,[in] BSTR bSourceConName,[in] BSTR bDest1NodeName,[in] BSTR bDest1ConName,[in] BSTR bDest2NodeName,[in] BSTR bDest2ConName)
HRESULT | ConRemove ([in] BSTR szNodeName,[in] BSTR szConName)
HRESULT | ConReset ([in] BSTR szNodeName,[in] BSTR szConName)
HRESULT | ConCreate ([in] BSTR szNodeName,[in] BSTR szNewConName,[in] BSTR szNewType,[in] VARIANT vNewflags)
HRESULT | DisconnectAll ([in] BSTR bNodeName,[in] BSTR bConName)
HRESULT | SetFrame ([in] BSTR szRootName,[in] RtFloat frame)
HRESULT | DisconnectAllInputs ([in] BSTR bNodeName,[in] BSTR bConName)
HRESULT | DisconnectAllOutputs ([in] BSTR bNodeName,[in] BSTR bConName)
HRESULT | Select ([in] BSTR szNodeName)
HRESULT | SelectionLength ([in] BSTR bsNodeSelection,[out, retval] RtUlong *pSelectionLength)
HRESULT | SelectionGetAt ([in] BSTR bsNodeSelection,[in] RtUlong index,[out, retval] VARIANT *pVal)
## Properties
VARIANT * | Value ([in] BSTR bNodeName,[in] BSTR bConName)`[get, set]`
VARIANT | Value ([in] BSTR bNodeName,[in] BSTR bConName)`[set]`
VARIANT * | ExportConnector ([in] BSTR bSourceNodeName,[in] BSTR bSourceConName,[in] BSTR bDestNodeName,[in] VARIANT vConnect,[in] VARIANT vSetValue)`[get]`
VARIANT * | Value ([in] BSTR bNodeName,[in] BSTR bConName)`[get]`
VARIANT * | Create ([in] BSTR idName,[in] VARIANT vOwner)`[get]`
VARIANT * | Rename ([in] BSTR bsFullNodeName,[in] BSTR bsNewShortNodeName)`[get]`
VARIANT * | Copy ([in] VARIANT idName,[in] VARIANT vOwner)`[get]`
VARIANT * | SafeRename ([in] BSTR bsFullNodeName,[in] BSTR bsNewShortNodeName)`[get]`
VARIANT * | ConRename ([in] BSTR bsFullNodeName,[in] BSTR bsConName,[in] BSTR bsNewConName)`[get]`
RtBOOL * | ConExists ([in] BSTR szNodeName,[in] BSTR szConName)`[get]`
RtBOOL * | ConDataTypeExists ([in] BSTR szNodeName,[in] BSTR szDataType)`[get]`
RtUlong * | SubObjectCount ([in] BSTR szNodeName)`[get]`
VARIANT * | SubObject ([in] BSTR szNodeName,[in] RtUlong index)`[get]`
VARIANT * | Owner ([in] BSTR szNodeName)`[get]`
VARIANT * | FirstSelected`[get]`
VARIANT * | Move ([in] VARIANT idName,[in] VARIANT vOwner)`[get]`
RtBOOL * | Exists ([in] BSTR szNodeName)`[get]`
RtBOOL * | IsRenderable ([in] BSTR szNodeName)`[get]`
RtBOOL * | IsLight ([in] BSTR szNodeName)`[get]`
RtBOOL * | IsCamera ([in] BSTR szNodeName)`[get]`
VARIANT * | ConDataType ([in] BSTR szNodeName,[in] BSTR szConName)`[get]`
RtUlong * | SelectedCount`[get]`
VARIANT * | Selected ([in] RtUlong index)`[get]`
VARIANT * | Selection`[get]`
VARIANT * | ShortName ([in] BSTR bsFullNodeName)`[get]`
RtBOOL * | IsEndCon ([in] BSTR szNodeName,[in] BSTR szConName)`[get]`
RtUlong * | LinkedInputNodeCount ([in] BSTR szNodeName,[in] BSTR szConName)`[get]`
VARIANT * | LinkedInputNode ([in] BSTR szNodeName,[in] BSTR szConName,[in] RtUlong index)`[get]`
RtUlong * | LinkedOutputNodeCount ([in] BSTR szNodeName,[in] BSTR szConName)`[get]`
VARIANT * | LinkedOutputNode ([in] BSTR szNodeName,[in] BSTR szConName,[in] RtUlong index)`[get]`
VARIANT * | NearValue ([in] BSTR bNodeName,[in] BSTR bConName)`[get]`
VARIANT | NearValue ([in] BSTR bNodeName,[in] BSTR bConName)`[set]`
VARIANT * | LookupParentValue ([in] BSTR bConName)`[get]`
VARIANT * | AccessFnSet ([in] BSTR bNodeName)`[get]`
VARIANT * | AccessNearFnSet ([in] BSTR bNodeName)`[get]`

## Detailed Description

The IRiNodeItem interface provides very important methods for manipulating, inspecting and connecting objects and their attributes in the scene.
Root-level name in the scripting engine's name space: Node

## Member Function Documentation

HRESULT IRiNodeItem::Delete | ( | [in] BSTR | nodeName | ) |

Deletes given object (and all its connections if any).

Parameters:

  | nodeName | [in] Full name of object to be deleted.

Example: delete Cube object form the scene.

     Node.Delete( '/Project/Space 3D/Cube')

HRESULT IRiNodeItem::ConnectTo | ( | [in] BSTR | bSourceNodeName,
|  | [in] BSTR | bSourceConName,
|  | [in] BSTR | bDestNodeName,
|  | [in] BSTR | bDestConName |
| ) |  |  |

Creates new link between 2 objects.

Parameters:

  | bSourceNodeName | [in] Full name of source object for link.
  | bSourceConName | [in] Name of source (output) connector in the source object.
  | bDestNodeName | [in] Full name of destination object for link.
  | bDestConName | [in] Name of destination (input) connector in the destination object.

Example: connect subobjects in the Gear object.

     Node.ConnectTo(Gear, 'outMesh', Shape,'Input Mesh')

HRESULT IRiNodeItem::Disconnect | ( | [in] BSTR | bSourceNodeName,
|  | [in] BSTR | bSourceConName,
|  | [in] BSTR | bDestNodeName,
|  | [in] BSTR | bDestConName |
| ) |  |  |

Erases existing link between 2 objects.

Parameters:

  | bSourceNodeName | [in] Full name of source object for link.
  | bSourceConName | [in] Name of source (output) connector in the source object.
  | bDestNodeName | [in] Full name of destination object for link.
  | bDestConName | [in] Name of destination (input) connector in the destination object.

Example: disconnect subobjects in the Gear object

     Node.Disconnect(Gear, 'outMesh', Shape,'Input Mesh');

HRESULT IRiNodeItem::ReconnectFrom | ( | [in] BSTR | bSrc1NodeName,
|  | [in] BSTR | bSrc1ConName,
|  | [in] BSTR | bSrc2NodeName,
|  | [in] BSTR | bSrc2ConName,
|  | [in] BSTR | bDestNodeName,
|  | [in] BSTR | bDestConName |
| ) |  |  |

ReconnectFrom allows destruction of an existing link (source1) and creation of new link (source2) to the destination connector.

Parameters:

  | bSrc1NodeName | [in] Full name of source object for link.
  | bSrc1ConName | [in] Source con name.
  | bSrc2NodeName | [in] Source #2's full name.
  | bSrc2ConName | [in] Source #2's con name.
  | bDestNodeName | [in] Destination full node name.
  | bDestConName | [in] Destination con name.

HRESULT IRiNodeItem::ReconnectTo | ( | [in] BSTR | bSourceNodeName,
|  | [in] BSTR | bSourceConName,
|  | [in] BSTR | bDest1NodeName,
|  | [in] BSTR | bDest1ConName,
|  | [in] BSTR | bDest2NodeName,
|  | [in] BSTR | bDest2ConName |
| ) |  |  |

ReconnectTo allows destruction of an existing link (destination1) and creation of new link (destination2) from the source connector.

Parameters:

  | bSourceNodeName | [in] Full name of source object for link.
  | bSourceConName | [in] Source con name.
  | bDest1NodeName | [in] Destination full node name.
  | bDest1ConName | [in] Destination con name.
  | bDest2NodeName | [in] Destination #2 full node name.
  | bDest1ConName | [in] Destination #2 con name.

HRESULT IRiNodeItem::ConRemove | ( | [in] BSTR | szNodeName,
|  | [in] BSTR | szConName |
| ) |  |  |

Removes given connector.

Parameters:

  | szNodeName | [in] Full name of object.
  | szConName | [in] Name of connector to be removed.

Example: Remove connector.

     Node.ConRemove('/Project/Space 3D/Cube', 'Mesh')

HRESULT IRiNodeItem::ConReset | ( | [in] BSTR | szNodeName,
|  | [in] BSTR | szConName |
| ) |  |  |

Resets given connector (i.e. sets default value for it).

Parameters:

  | szNodeName | [in] Full name of object.
  | szConName | [in] Name of connector to be removed.

Example: Reset connector

     Node.ConReset('/Project/Space 3D/Cube', 'Mesh')

HRESULT IRiNodeItem::ConCreate | ( | [in] BSTR | szNodeName,
|  | [in] BSTR | szNewConName,
|  | [in] BSTR | szNewType,
|  | [in] VARIANT | vNewflags |
| ) |  |  |

Creates new connector.

Parameters:

  | szNodeName | [in] Full name of object.
  | szNewConName | [in] Name of connector to be created.
  | szNewType | [in] New connector type (float, double, string, ulong).
  | vNewflags | [in] Flags of the new connector (4 = input, 2 = output, 32 = hidden …).

Example: Create new output connector of string type.

     Node.ConCreate('/Project/Space 3D/Cube', 'Note', 'string',2)

HRESULT IRiNodeItem::DisconnectAll | ( | [in] BSTR | bNodeName,
|  | [in] BSTR | bConName |
| ) |  |  |

Disconnects all links from specific connector of specific node.

Parameters:

  | bNodeName | [in] Full name of the object.
  | bConName | [in] Name of connector to disconnect.

Example: Disconnect the connector.

     Node.DisconnectAll('/Project/Space 3D/Cube', 'Matrix'))

HRESULT IRiNodeItem::SetFrame | ( | [in] BSTR | szRootName,
|  | [in] RtFloat | frame |
| ) |  |  |

Set animation frame for given object / scene.

Parameters:

  | szRootName | [in] Full name of object / scene.
  | frame | [in] Frame number (floating).

HRESULT IRiNodeItem::DisconnectAllInputs | ( | [in] BSTR | bNodeName,
|  | [in] BSTR | bConName |
| ) |  |  |

Disconnects all input links from given connector of given node.

- Useful mainly for encapsulators where one connector can have input and output links as well.
- Sub-objects exports are also links.

Parameters:

  | bNodeName | [in] Full name of object.
  | bConName | [in] Name of connector to disconnect.

Example: Disconnect all input links of the connector

     Node.DisconnectAllInputs('/Project/Space 3D/Cube', 'Matrix'))

HRESULT IRiNodeItem::DisconnectAllOutputs | ( | [in] BSTR | bNodeName,
|  | [in] BSTR | bConName |
| ) |  |  |

Disconnects all output links from specific connector of specific node.

- Useful mainly for encapsulators where one connector can have input and output links as well.

Parameters:

  | bNodeName | [in] Full name of object.
  | bConName | [in] Name of connector to disconnect.

Example: Disconnect output links of the connector.

     Node.DisconnectAllOutputs('/Project/Space 3D/Cube', 'Mesh'))

HRESULT IRiNodeItem::Select | ( | [in] BSTR | szNodeName | ) |

Selects given object:

- The object will be the only one selected after this operation.

Parameters:

  | szNodeName | [in] Full name of object.

HRESULT IRiNodeItem::SelectionLength | ( | [in] BSTR | bsNodeSelection,
|  | [out, retval] RtUlong * | pSelectionLength |
| ) |  |  |

Gets length (number of objects) in given selection string.

Remarks:
  Obtained using the Selection method.

Parameters:

  | bsNodeSelection | [in] Objects selection string (semicolon separated full object names).

Returns:
  pSelectionLength [out,retval] Returns length of given selection (number of objects).

HRESULT IRiNodeItem::SelectionGetAt | ( | [in] BSTR | bsNodeSelection,
|  | [in] RtUlong | index,
|  | [out, retval] VARIANT * | pVal |
| ) |  |  |

Gets one object from selection string.

Remarks:
  Obtained using the Selection method.

Parameters:

  | bsNodeSelection | [in] Objects selection string (semicolon separated full object names).
  | index | [in] Zero based index of object to be retrieved (0..SelectionLength).

Returns:
  pVal [out,retval] Returns i-th object name from the selection passed.

Example: Loop trough the selection and perform complex stuff.

     sel = Node.Selection();
     for (i = 0; i < Node.SelectionLength(sel); i++) {
      Node.Select(Node.SelectionGetAt(sel, i));
            // do some stuff here
        }

## Property Documentation

VARIANT IRiNodeItem::Value`[get, set]`

Sets value of given connector for given object.

Parameters:

  | bNodeName | [in] Full name identification of object.
  | bConName | [in] Connector name.
  | newVal | [in] New value of the connector.

Example: Set value of the 'Matrix' connector for Cube object.

     Node.Value('/Project/Space 3D/Cube', 'Matrix') = val

VARIANT IRiNodeItem::Value([in] BSTR bNodeName, [in] BSTR bConName)`[set]`

Sets value of given connector for given object.

Parameters:

  | bNodeName | [in] Full name identification of object.
  | bConName | [in] Connector name.
  | newVal | [in] New value of the connector.

Example: Set value of the 'Matrix' connector for Cube object.

     Node.Value('/Project/Space 3D/Cube', 'Matrix') = val

VARIANT * IRiNodeItem::ExportConnector`[get]`

Exports given input or output connector.

Parameters:

  | bSourceNodeName | [in] Full name of source object for link.
  | bSourceConName | [in] Name of source (output) connector in the source object.
  | bDestNodeName | [in] Full name of destination object for link (if empty, owner object will be used by default).
  | vConnect | [in] Connect immediately flag.
  | vSetValue | [in] Set value immediately flag.

Returns:
  pVal [out,retval] Returns name of the newly created exported connector.

Example: Export connector from Shape subobject.

     Node.ExportConnector(Shape, 'Mesh', '', 1, 1);

VARIANT* IRiNodeItem::Value([in] BSTR bNodeName, [in] BSTR bConName)`[get]`

Gets value of specific connector of specific object.

Parameters:

  | bNodeName | [in] Full name identification of object.
  | bConName | [in] Connector name.

Returns:
  pVal [out, retval] Returns value of the connector, if exists .

Example: Get value of the 'ObjMatrix' connector from Cube object

     val = Node.Value('/Project/Space 3D/Cube', 'ObjMatrix')

VARIANT* IRiNodeItem::Create([in] BSTR idName, [in] VARIANT vOwner)`[get]`

Creates object instance of given type in particular encapsulator

Parameters:

  | idName | [in] Identifier of tS object prototype (see Nodes reference doc for full list of available objects).
  | vOwner | [in] Full name of owner (encapsulator) for newly created object.

Returns:
  bName [out, retval] Returns full name of newly created object.

Example: create new encapsulator object

     Encaps = Node.Create('Kernel Package/Object', '/Project/Space 3D')

VARIANT* IRiNodeItem::Rename([in] BSTR bsFullNodeName, [in] BSTR bsNewShortNodeName)`[get]`

Renames given object.

Remarks:
  Note: use SafeRename variant if you cannot ensure new name not exists already in the scene.

Parameters:

  | bsFullNodeName | [in] Full name of object.
  | bsNewShortNodeName | [in] New short name of object (without full path).

Returns:
  pVal [out, retval] Returns full name of object after renaming.

Example: Rename object.

     Node.Rename('/Project/Space 3D/Cube', 'MyNiceCube')

VARIANT* IRiNodeItem::Copy([in] VARIANT idName, [in] VARIANT vOwner)`[get]`

Makes copy of the given object.

Parameters:

  | idName | [in] Full name of source object.
  | vOwner | [in] Full name of owner object for newly created copy.

Returns:
  pVal [out,retval] Returns full name of the created object.

Example: Copy object.

     Node.Copy('/Project/Space 3D/Cube', '/Project/Space 3D/MyGroup')

VARIANT* IRiNodeItem::SafeRename([in] BSTR bsFullNodeName, [in] BSTR bsNewShortNodeName)`[get]`

Safely renames given object. If object with desired name already exists, similar name will be generated instead (e.g. 'Cube, 1' instead of 'Cube')

Parameters:

  | bsFullNodeName | [in] Full name of object.
  | bsNewShortNodeName | [in] New short name of object (without full path).

Returns:
  pVal [out,retval] Returns full name of object after renaming.

Example: Safe Rename object

     Node.SafeRename('/Project/Space 3D/Cube', 'MyNiceCube')

VARIANT* IRiNodeItem::ConRename([in] BSTR bsFullNodeName, [in] BSTR bsConName, [in] BSTR bsNewConName)`[get]`

Renames existing connector.

Parameters:

  | bsFullNodeName | [in] Full name of object.
  | bsConName | [in] Name of connector to be renamed.
  | bsNewConName | [in] Desired new connector name.

Returns:
  pVal [out, retval] Returns actual new connector name.

Example: Rename connector of string type.

     Node.ConRename('/Project/Space 3D/Cube', 'Mesh', 'MyMesh')

RtBOOL* IRiNodeItem::ConExists([in] BSTR szNodeName, [in] BSTR szConName)`[get]`

Tests for given connector existence (by connector name).

Parameters:

  | szNodeName | [in] Full name of object.
  | szConName | [in] Name of connector to test.

Returns:
  bExist [out,retval] Returns true if the connector exists, false otherwise.

Example: Test connector existence.

     if (Node.ConExists('/Project/Space 3D/Cube', 'Matrix'))
      System.Alert('Connector Matrix exists in the object');

RtBOOL* IRiNodeItem::ConDataTypeExists([in] BSTR szNodeName, [in] BSTR szDataType)`[get]`

Tests for given connector existence. (by connector type).

Parameters:

  | szNodeName | [in] Full name of object.
  | szDataType | [in] Name of data type (data object) to test.

Returns:
  bExist [out,retval] Returns true if at least one connector of given data type exists in the object, false otherwise.

Example: Test mesh data type connector existence.

     if (Node.ConDataTypeExists('/Project/Space 3D/Cube', ' Space 3D Package/Mesh Data'))
      System.Alert('mesh is present in the object');

RtUlong* IRiNodeItem::SubObjectCount([in] BSTR szNodeName)`[get]`

Gets number of sub-objects of given object.

Parameters:

  | szNodeName | [in] Full name of object.

Returns:
  nSubObj [out,retval] Returns number of sub-objects.

Example: Traverse sub-objects of Cube object.

     nSubObj = Node.SubObjectCount('/Project/Space 3D/Cube');
     for (i = 0; i < nSubObj; i++)
      System.Trace(Node.SubObject('/Project/Space 3D/Cube', i));

VARIANT* IRiNodeItem::SubObject([in] BSTR szNodeName, [in] RtUlong index)`[get]`

Gets sub-object name for given object and index.

Parameters:

  | szNodeName | [in] Full name of object.
  | index | [in] Index of sub-object (from range 0 .. SubObjectCount-1).

Returns:
  subObjName [out,retval]] Returns short name of sub-object.

Example: Traverse subobjects of Cube object.

     nSubObj = Node.SubObjectCount('/Project/Space 3D/Cube');
     for (i = 0; i < nSubObj; i++)
      System.Trace(Node.SubObject('/Project/Space 3D/Cube', i));

VARIANT* IRiNodeItem::Owner([in] BSTR szNodeName)`[get]`

Gets owner (parent) of given object.

Parameters:

  | szNodeName | [in] Full name of object.

Returns:
  ownerName [out,retval] Returns full name of the owner object.

Example: Discover Owner of a Cube object.

     owner = Node.Owner('/Project/Space 3D/Cube');

VARIANT* IRiNodeItem::FirstSelected`[get]`

Gets the current selected object.

Returns:
  pVal [out,retval] Returns full name of the current selected object.

Example: Get selection.

     selName = Node.FirstSelected()

VARIANT* IRiNodeItem::Move([in] VARIANT idName, [in] VARIANT vOwner)`[get]`

Moves the object.

Parameters:

  | idName | [in] Full name of the source object.
  | vOwner | [in] Full name of the new owner/destination object (the source object will be moved there).

Returns:
  pVal [out, retval] Returns full name of the moved object.

Example: Move object.

     Node.Move('/Project/Space 3D/Cube', '/Project/Space 3D/MyGroup')

RtBOOL* IRiNodeItem::Exists([in] BSTR szNodeName)`[get]`

Tests existence of given object (by name).

Parameters:

  | szNodeName | [in] Full name of object.

Returns:
  pVal [out,retval] Returns TRUE if the object exists in the scene, FALSE otherwise.

Example: Test object existence.

     if (Node.Exists('/Project/Space 3D/Cube'))
      System.Alert('the object exists!');

RtBOOL* IRiNodeItem::IsRenderable([in] BSTR szNodeName)`[get]`

Tests if given object is renderable.

- Test if an object contains a mesh.
- Perhaps you wish to test for existence of a matrix.
- Test a material so it is recognized by renderers...

Parameters:

  | szNodeName | [in] Full name of object.

Returns:
  pVal [out,retval] Returns TRUE if the object is renderable, FALSE otherwise.

Example: Test if object is renderable.

     if (Node.IsRenderable('/Project/Space 3D/Cube'))
      System.Alert('the object is renderable!');

RtBOOL* IRiNodeItem::IsLight([in] BSTR szNodeName)`[get]`

Tests if given object is a light:

- It contains light-specific attributes(s).

Parameters:

  | szNodeName | [in] Full name of object.

Returns:
  pVal [out, retval] Returns TRUE if the object is a light, FALSE otherwise.

Example: Test if object is a light.

     if (Node.IsLight('/Project/Space 3D/SpotLight, 1'))
      System.Alert('the object is a light!');

RtBOOL* IRiNodeItem::IsCamera([in] BSTR szNodeName)`[get]`

Tests if given object is a camera:

- It contains camera-specific attributes(s).

Parameters:

  | szNodeName | [in]Full name of object.

Returns:
  pVal [out, retval] Returns TRUE if the object is a camera, FALSE otherwise.

Example: Test if object is a camera.

     if (Node.IsCamera('/Project/Space 3D/Camera'))
      System.Alert('the object is a camera!');

VARIANT* IRiNodeItem::ConDataType([in] BSTR szNodeName, [in] BSTR szConName)`[get]`

Gets data type (in string form) of specified connector in specific node.

Parameters:

  | szNodeName | [in] Full name of object.
  | szConName | [in] Connector name.

Returns:
  pVal [out, retval] Returns data type identification.

RtUlong* IRiNodeItem::SelectedCount`[get]`

Gets number of currently selected objects.

Returns:
  pNumSelected [out,retval] Returns number of selected objects.

VARIANT* IRiNodeItem::Selected([in] RtUlong index)`[get]`

Gets one objects from current selection.

Parameters:

  | index | [in] Zero based index of object to be retrieved (0..SelectedCount-1).

Returns:
  pVal [out, retval] Returns full name of i-th selected object.

VARIANT * IRiNodeItem::Selection`[get]`

Gets entire objects selection in one string:

- Semicolon separated object names.
- Useful when you need to remember original selection.

@return pVal [out, retval] Returns entire objects selection string

VARIANT* IRiNodeItem::ShortName([in] BSTR bsFullNodeName)`[get]`

Gets object's short name:

- The name without full path.
- Useful e.g. when passed later into the Rename method.

Parameters:

  | bsFullNodeName | [in] Full name of object.

Returns:
  pVal [out,retval] Returns short name extracted from the full object's name.

RtBOOL* IRiNodeItem::IsEndCon([in] BSTR szNodeName, [in] BSTR szConName)`[get]`

Tests if given connector is an end connector.

Parameters:

  | szNodeName | [in] Full name of object.
  | szConName | [in] Connector name.

Returns:
  pVal [out,retval] Returns TRUE if the connector is an end connector, FALSE otherwise.

RtUlong* IRiNodeItem::LinkedInputNodeCount([in] BSTR szNodeName, [in] BSTR szConName)`[get]`

Gets number of linked input nodes for given connector.

Parameters:

  | szNodeName | [in] Full name of object.
  | szConName | [in] Connector name.

Returns:
  pNumLinked [out,retval] Returns number of linked input nodes.

VARIANT* IRiNodeItem::LinkedInputNode([in] BSTR szNodeName, [in] BSTR szConName, [in] RtUlong index)`[get]`

Gets linked input nodes for given connector and index.

Parameters:

  | szNodeName | [in] Full name of object.
  | szConName | [in] Connector name.
  | index | [in] Index of linked input node (from range 0 .. LinkedInputNodeCount-1).

Returns:
  pVal [out,retval] Returns full name of given linked node.

RtUlong* IRiNodeItem::LinkedOutputNodeCount([in] BSTR szNodeName, [in] BSTR szConName)`[get]`

Gets number of linked output nodes for given connector.

Parameters:

  | szNodeName | [in] Full name of object.
  | szConName | [in] Connector name.

Returns:
  pNumLinked [out,retval] Returns number of linked output nodes.

VARIANT* IRiNodeItem::LinkedOutputNode([in] BSTR szNodeName, [in] BSTR szConName, [in] RtUlong index)`[get]`

Gets linked output nodes for given connector and index.

Parameters:

  | szNodeName | [in] Full name of object.
  | szConName | [in] Connector name.
  | index | [in] Index of linked output node (from range 0 .. LinkedOutputNodeCount-1).

Returns:
  pVal [out,retval] Returns full name of given linked node.

VARIANT* IRiNodeItem::NearValue([in] BSTR bNodeName, [in] BSTR bConName)`[get]`

Gets value of given connector of given near object:

- i.e. located in the same container, or a few levels up/down.

Parameters:

  | bNodeName | [in] Relative name identification of object.
  | bConName | [in] Connector name.

Returns:
  pVal [out,retval] Returns value of the connector, if exists.

Example: get value of the 'ObjMatrix' connector from Cube object that exists in the same container as caller object

     val = Node.NearValue('Cube', 'ObjMatrix')

note: above code is shorter form of:

     val = Node.Value( System.ThisOwner() + '/Cube', 'ObjMatrix')

get value of the 'ObjMatrix' connector from Cube object that exists one level up

     val = Node.NearValue('../Cube', 'ObjMatrix')

get value of the 'ObjMatrix' connector from Cube object that exists in Board sub-container (one level deeper than caller)

     val = Node.NearValue('Board/Cube', 'ObjMatrix')

get value of the 'ObjMatrix' connector from caller (this) object. Useful e.g. for panel button actions

     val = Node.NearValue('', 'ObjMatrix')

VARIANT IRiNodeItem::NearValue([in] BSTR bNodeName, [in] BSTR bConName)`[set]`

Sets value of specific connector for specific near object:

- i.e. located in the same container, or a few levels up/down.

Parameters:

  | bNodeName | [in] Relative name identification of object.
  | bConName | [in] Connector name.
  | newVal | [in] New value of the connector.

Example: Set value of the 'Matrix' connector for Cube object that exists in the same container as caller object

     Node.NearValue('Cube', 'Matrix') = val

Note: above code is shorter form of:

     Node.Value( System.ThisOwner() + '/Cube', 'ObjMatrix') = val

See Node.NearValue get property for more examples.

VARIANT* IRiNodeItem::LookupParentValue([in] BSTR bConName)`[get]`

Lookup value of specific connector in parents of the caller object:

- Starting lookup from direct owner up to system root.
- Returns value from the nearest parent that contains given connector.

Parameters:

  | bConName | [in] Connector name to lookup.

Returns:
  pVal [out,retval] Return value.

Example: Lookup value of A connector in parent containers.

- Throws an error if none.

       A = Node.LookupParentValue('A')

VARIANT* IRiNodeItem::AccessFnSet([in] BSTR bNodeName)`[get]`

Access function set object.

- Once accessed, all its public functions / variables may be called and used.

Parameters:

  | bNodeName | [in] Full name of function set object.

Returns:
  pVal [out,retval] Return function set dispatch object.

Example: Access ExtendedMathFnSet user-defined function set and calculate factorial using the fn set.

     fn = Node.AccessFnSet( "/Project/Space 3D/ExtendedMathFnSet" );
     fact = fn.Factorial( 7 )

VARIANT* IRiNodeItem::AccessNearFnSet([in] BSTR bNodeName)`[get]`

Access near function set object.

- i.e. located in the same container, or a few levels up/down.
- Once accessed, all its public functions / variables may be called and used.

Parameters:

  | bNodeName | [in] Relative name of function set object (see Node.NearValue desc for details).

Returns:
  pVal [out, retval] Return function set dispatch object.

Example: Access ExtendedMathFnSet user-defined function set, located in current container, and calculate factorial using the fn set.

     fn = Node.AccessNearFnSet( "ExtendedMathFnSet" );
     fact = fn.Factorial( 7 )