Click or drag to resize
SoFullPath Class

Path that allows access to hidden children.

Inheritance Hierarchy

Namespace: OIV.Inventor
Assembly: OIV.Inventor (in OIV.Inventor.dll) Version: 10.3.0.0 (10.3.0.0)
Syntax
public class SoFullPath : SoPath

The SoFullPath 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(SoNode)

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

(Inherited from SoPath.)
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(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

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.

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

get instance Index from tail

Public methodGetLength Obsolete.

Returns length of path chain (number of nodes).

Public methodGetName

Returns the name of an instance.

(Inherited from SoBase.)
Public methodGetNode(Int32)

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

(Inherited from SoPath.)
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 node (within its parent) in the chain, counting backward from the tail node.

Public methodGetStringName (Inherited from SoBase.)
Public methodGetTail

Returns the last node 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

The OIV.Inventor.SoPath.Push(System.Int32) and OIV.Inventor.SoFullPath.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.

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.

(Inherited from SoPath.)
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).

Top
Remarks

This class allows expert users to examine "hidden" children in paths. For example children inside a nodeKit. OIV.Inventor.SoPath allows access from the head node down to the first node with hidden children, but no further. Casting an OIV.Inventor.SoPath to an OIV.Inventor.SoFullPath (which is always guaranteed to be safe) allows you to access hidden children. OIV.Inventor.SoFullPath overrides some OIV.Inventor.SoPath methods to make this possible.

You need OIV.Inventor.SoFullPath, for example, to get the actual tail of the pick path (the geometry node) when picking geometry in node kits. For example:

SoPath path = ...
SoNode tail = ((SoFullPath)path).GetTail();

NOTE: Applying an action on an OIV.Inventor.SoFullPath may not give the expected result. When applying an action on an OIV.Inventor.SoFullPath, the "hidden" children will not be traversed. If you want to apply an action on all the children in the path, use the following technique:
SoPath path = ...
SoPath tempPath = ((SoFullPath)path).Copy();
action.Apply( tempPath );

FILE FORMAT/DEFAULT

OIV.Inventor.SoPath {
[head node]
[number of remaining indices]
[index]
&...
[index]
}

See Also