Click or drag to resize
SoNodeKitPath Class

Path that points to a list of hierarchical nodekits.

Inheritance Hierarchy

Namespace: OIV.Inventor
Assembly: OIV.Inventor (in OIV.Inventor.dll) Version: 2024.1.0.0 (2024.1.0)
Syntax
public class SoNodeKitPath : SoPath

The SoNodeKitPath type exposes the following members.

Methods
  NameDescription
Public methodAppend(Int32)

Adds node to end of chain; the node is the childIndex'th child of the current tail node.

(Inherited from SoPath.)
Public methodAppend(SoBaseKit)

Adds childKit to end of chain; uses first occurrence of childKit as a part within current last nodekit.

Public methodAppend(SoNode)

Adds node to end of chain; uses the first occurrence of childNode as child of current tail node.

(Inherited from SoPath.)
Public methodAppend(SoNodeKitPath)

Adds all nodekits in fromPath's chain to end of chain; the head node of fromPath must be the same as or a child of the current tail node.

Public methodAppend(SoPath)

Adds all nodes in fromPath's chain to end of chain; the head node of fromPath must be the same as or a child of the current tail node.

(Inherited from SoPath.)
Public methodContainsNode(Type)

Returns true if the node type is found anywhere in the path chain.

(Inherited from SoPath.)
Public methodContainsNode(SoBaseKit)

Returns true if the passed nodekit is found anywhere in the path chain.

Public methodContainsNode(SoNode)

Returns true if the node is found anywhere in the path chain.

(Inherited from SoPath.)
Public methodContainsPath

Returns true if the nodes in the chain in the passed path are contained (in consecutive order) in this path chain.

(Inherited from SoPath.)
Public methodCopy
Calls Copy(System.Int32(0), System.Int32(0)).
(Inherited from SoPath.)
Public methodCopy(Int32)
Calls Copy(startFromNodeIndex, System.Int32(0)).
(Inherited from SoPath.)
Public methodCopy(Int32, Int32)

Creates and returns a new path that is a copy of some or all of this path.

(Inherited from SoPath.)
Public methodDispose
Releases all resources used by SoDisposable.
(Inherited from SoDisposable.)
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Public methodFindFork(SoNodeKitPath)

If the two paths have different head nodes, this returns -1.

Public methodFindFork(SoPath)

If the two paths have different head nodes, this returns -1.

(Inherited from SoPath.)
Public methodGetHashCode
Overrides GetHashCode().
(Inherited from SoNetBase.)
Public methodGetHead

Returns the first node in a path chain.

(Inherited from SoPath.)
Public methodGetIndex

Returns the index of the i'th node (within its parent) in the chain.

(Inherited from SoPath.)
Public methodGetIndexFromTail

Returns the index of the i'th node (within its parent) in the chain, counting backward from the tail node.

(Inherited from SoPath.)
Public methodGetInstanceIndex

Returns the index of the instance inside the parent OIV.Inventor.Nodes.SoMultipleInstance, OIV.Inventor.Nodes.SoMultipleCopy or OIV.Inventor.Nodes.SoArray group.

(Inherited from SoPath.)
Public methodGetInstanceIndexFromTail

Returns the index of the i'th node instance (within its parent, if it is a OIV.Inventor.Nodes.SoMultipleInstance, OIV.Inventor.Nodes.SoMultipleCopy or OIV.Inventor.Nodes.SoArray group in the chain, counting backward from the tail node.

(Inherited from SoPath.)
Public methodGetLength

Returns length of path chain (number of nodekits).

Public methodGetName

Returns the name of an instance.

(Inherited from SoBase.)
Public methodGetNode(Int32)

Returns the i'th node in the nodekit path.

Public methodGetNode(Type, Int32)

Returns the first node and its index, from the head of the given type in the chain.

(Inherited from SoPath.)
Public methodGetNodeFromTail

Returns the i'th nodekit in the chain, counting backward from the tail nodekit.

Public methodGetStringName (Inherited from SoBase.)
Public methodGetTail

Return the last nodekit in a path chain.

Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIsSynchronizable

Gets the ScaleViz synchronizable state of this object.

(Inherited from SoBase.)
Public methodPop

Pops the last nodekit off the end of the path.

Public methodPush

The OIV.Inventor.SoPath.Push(System.Int32) and OIV.Inventor.SoPath.Pop() methods allow a path to be treated as a stack; they push a node at the end of the chain and pop the last node off.

(Inherited from SoPath.)
Public methodSetHead

Sets head node (first node in chain).

(Inherited from SoPath.)
Public methodSetName (Inherited from SoBase.)
Public methodSetSynchronizable

Sets this to be a ScaleViz synchronizable object.

(Inherited from SoBase.)
Public methodToString
Converts this SoBase structure to a human readable string.
(Inherited from SoBase.)
Public methodTouch

Marks an instance as modified, simulating a change to it.

(Inherited from SoBase.)
Public methodTruncate

Truncates the path chain, removing all nodes from index start on.

Top
Properties
  NameDescription
Public propertyFullPath
This property allows you to retrieve a SoFullPath from an SoPath.
(Inherited from SoPath.)
Public propertyIsDisposable
ISafeDisposable interface implementation.
(Inherited from SoDisposable.)
Public propertyLength

Returns length of path chain (number of nodes).

(Inherited from SoPath.)
Top
Remarks

OIV.Inventor.SoNodeKitPath is a subclass of OIV.Inventor.SoPath that lets you look at nodekits below the top nodekit in the path. Since nodekits have hidden children, when you call OIV.Inventor.SoNodeKitPath.GetTail() on a regular path, it returns the top-most nodekit on the path. This occurs even though the path might contain extra internal information leading to a node far deeper in the scene graph. For example, when picking an object inside an OIV.Inventor.Nodekits.SoSceneKit, the regular path would end at the scenekit. But a nodekit path would continue further down listing the other nodekits below it in the path.

Intermediary (private) nodes between nodekits are not included in the nodekit path.

Note that there is no constructor for an OIV.Inventor.SoNodeKitPath, so you can not create one. Rather, you cast an (OIV.Inventor.SoPath *) into an (OIV.Inventor.SoNodeKitPath *), which returns nodekit-style values from all the same questions as OIV.Inventor.SoPath.

Also, some methods of OIV.Inventor.SoPath may not be called on an OIV.Inventor.SoNodeKitPath. Any methods which take a regular OIV.Inventor.Nodes.SoNode as an argument (except for OIV.Inventor.SoPath.SetHead(OIV.Inventor.Nodes.SoNode)) are not accessible, and replaced by methods that take an OIV.Inventor.Nodekits.SoBaseKit as an argument instead. Methods which allow the programmer to refer to the child index of a node beneath its parent are also inaccessible; since an OIV.Inventor.SoNodeKitPath only shows nodekits and hides any private parts, successive nodekits in the path may not actually be parent and child.

See Also