SoNodeKitPath is a subclass of
SoPath that lets you look at nodekits below the top nodekit in the path. Since nodekits have hidden children, when you call
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
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
SoNodeKitPath, so you can not create one. Rather, you cast an
(SoPath *) into an
(SoNodeKitPath *), which returns nodekit-style values from all the same questions as
SoPath.
Also, some methods of
SoPath may not be called on an
SoNodeKitPath. Any methods which
take a regular
SoNode as an argument (except for
setHead()) are not accessible, and replaced by methods that take an
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 a
SoNodeKitPath only shows nodekits and hides any private parts, successive nodekits in the path may not actually be parent and child.