---
name: "SoNodeKitPath"
section: "3"
platform: "linux"
package: "coin"
version: "1:4.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/SoNodeKitPath"
---

# SoNodeKitPath(3)

The SoNodeKitPath class is a path that contains only nodekit nodes.

## NAME

SoNodeKitPath - The **SoNodeKitPath** class is a path that contains only nodekit nodes.

## SYNOPSIS

\#include \<Inventor/SoNodeKitPath.h\>

Inherits **SoPath**.

### Public Member Functions

int **getLength** (void) const\
 **SoNode** \* **getTail** (void) const\
 **SoNode** \* **getNode** (const int idx) const\
 **SoNode** \* **getNodeFromTail** (const int idx) const\
 void **truncate** (const int length)\
 void **pop** (void)\
 void **append** (**SoBaseKit** \*childKit)\
 void **append** (const **SoNodeKitPath** \*fromPath)\
 SbBool **containsNode** (**SoBaseKit** \*node) const\
 int **findFork** (const **SoNodeKitPath** \*path) const\

Public Member Functions inherited from **SoPath** **SoPath** (const int approxlength=4)\
 **SoPath** (**SoNode** \*const head)\
 **SoPath** (const **SoPath** &rhs)\
 **SoPath** & **operator=** (const **SoPath** &rhs)\
 virtual **SoType** **getTypeId** (void) const\
 Returns the type identification of an object derived from a class inheriting **SoBase**. This is used for runtime type checking and *downward"*casting. void **setHead** (**SoNode** \*const head)\
 **SoNode** \* **getHead** (void) const\
 void **append** (const int childindex)\
 void **append** (**SoNode** \*const node)\
 void **append** (const **SoPath** \*const frompath)\
 void **push** (const int childindex)\
 void **pop** (void)\
 **SoNode** \* **getTail** (void) const\
 **SoNode** \* **getNode** (const int index) const\
 **SoNode** \* **getNodeFromTail** (const int index) const\
 int **getIndex** (const int index) const\
 int **getIndexFromTail** (const int index) const\
 int **getLength** (void) const\
 void **truncate** (const int length)\
 int **findFork** (const **SoPath** \*const path) const\
 int **findNode** (const **SoNode** \*const node) const\
 SbBool **containsNode** (const **SoNode** \*const node) const\
 SbBool **containsPath** (const **SoPath** \*const path) const\
 **SoPath** \* **copy** (const int startfromnodeindex=0, int numnodes=0) const\
 void **insertIndex** (**SoNode** \*const parent, const int newindex)\
 void **removeIndex** (**SoNode** \*const parent, const int oldindex)\
 void **replaceIndex** (**SoNode** \*const parent, const int index, **SoNode** \*const newchild)\
 SbBool **isRelevantNotification** (**SoNotList** \*const l) const\
 virtual void **write** (**SoWriteAction** \*action)\

Public Member Functions inherited from **SoBase** void **ref** (void) const\
 void **unref** (void) const\
 void **unrefNoDelete** (void) const\
 int32\_t **getRefCount** (void) const\
 void **touch** (void)\
 SbBool **isOfType** (**SoType** type) const\
 Returns TRUE if the type of this object is either of the same type or inherited from *type*.  virtual **SbName** **getName** (void) const\
 virtual void **setName** (const **SbName** &newname)\
 virtual void **startNotify** (void)\
 virtual void **notify** (**SoNotList** \*l)\
 void **addAuditor** (void \*const auditor, const **SoNotRec::Type** type)\
 void **removeAuditor** (void \*const auditor, const **SoNotRec::Type** type)\
 const **SoAuditorList** & **getAuditors** (void) const\
 virtual void **addWriteReference** (**SoOutput** \*out, SbBool isfromfield=FALSE)\
 SbBool **shouldWrite** (void)\
 void **assertAlive** (void) const\

### Protected Member Functions

**SoNodeKitPath** (const int approxLength)\
 virtual **~SoNodeKitPath** ()\

Protected Member Functions inherited from **SoPath** virtual **~SoPath** ()\
 void **auditPath** (const SbBool flag)\

Protected Member Functions inherited from **SoBase** **SoBase** (void)\
 virtual **~SoBase** ()\
 virtual void **destroy** (void)\
 SbBool **hasMultipleWriteRefs** (void) const\
 SbBool **writeHeader** (**SoOutput** \*out, SbBool isgroup, SbBool isengine) const\
 void **writeFooter** (**SoOutput** \*out) const\
 virtual const char \* **getFileFormatName** (void) const\
 virtual **SoNotRec** **createNotRec** (void)\

### Additional Inherited Members

Static Public Member Functions inherited from **SoPath** static void **initClass** (void)\
 Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.     static **SoType** **getClassTypeId** (void)\
 This static method returns the **SoType** object associated with objects of this class.     static **SoPath** \* **getByName** (const **SbName** name)\
 static int **getByName** (const **SbName** name, **SoPathList** &l)\

Static Public Member Functions inherited from **SoBase** static void **initClass** (void)\
 Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.  static **SoType** **getClassTypeId** (void)\
 This static method returns the **SoType** object associated with objects of this class.  static void **addName** (**SoBase** \*const base, const char \*const name)\
 static void **removeName** (**SoBase** \*const base, const char \*const name)\
 static void **incrementCurrentWriteCounter** (void)\
 static void **decrementCurrentWriteCounter** (void)\
 static **SoBase** \* **getNamedBase** (const **SbName** &name, **SoType** type)\
 static int **getNamedBases** (const **SbName** &name, **SoBaseList** &baselist, **SoType** type)\
 static SbBool **read** (**SoInput** \*input, **SoBase** \*&base, **SoType** expectedtype)\
 static void **setInstancePrefix** (const **SbString** &c)\
 static void **setTraceRefs** (SbBool trace)\
 static SbBool **getTraceRefs** (void)\
 static SbBool **connectRoute** (**SoInput** \*input, const **SbName** &fromnodename, const **SbName** &fromfieldname, const **SbName** &tonodename, const **SbName** &tofieldname)\
 static SbBool **readRoute** (**SoInput** \*input)\

Protected Types inherited from **SoBase** enum **BaseFlags** { **IS\_ENGINE** = 0x01, **IS\_GROUP** = 0x02 }\

Static Protected Member Functions inherited from **SoBase** static uint32\_t **getCurrentWriteCounter** (void)\
 static void **staticDataLock** (void)\
 static void **staticDataUnlock** (void)\

## Detailed Description

The **SoNodeKitPath** class is a path that contains only nodekit nodes.

All other nodes are hidden from the user.

## Constructor & Destructor Documentation

### SoNodeKitPath::SoNodeKitPath (const int approxLength) \[protected\]

A constructor.

### SoNodeKitPath::~SoNodeKitPath () \[protected\], \[virtual\]

The destructor.

## Member Function Documentation

### int SoNodeKitPath::getLength (void ) const

Returns the length of the path (the number of nodekit nodes).

### SoNode \* SoNodeKitPath::getTail (void ) const

Returns the tail of the path (the last nodekit in the path).

### SoNode \* SoNodeKitPath::getNode (const int idx) const

Returns nodekit number *idx* in path.

### SoNode \* SoNodeKitPath::getNodeFromTail (const int idx) const

Returns nodekit number *idx* in the path, from the tail.

### void SoNodeKitPath::truncate (const int length)

Truncates the path at nodekit number *length*.

### void SoNodeKitPath::pop (void )

Pops off the last nodekit (truncates at last tail).

### void SoNodeKitPath::append (SoBaseKit \* childKit)

Appends *childKit* to the path. childKit should be a part in the tail nodekit of this path. In effect, the path from the tail to first occurrence of *childKit* will be appended to the path.

### void SoNodeKitPath::append (const SoNodeKitPath \* fromPath)

Appends the nodekit path to this path. Head of *fromPath* must be a part in the current tail.

### SbBool SoNodeKitPath::containsNode (SoBaseKit \* node) const

Returns TRUE if *node* is in this path.

### int SoNodeKitPath::findFork (const SoNodeKitPath \* path) const

Returns the index of last common nodekit, or -1 if head node differs.

## Author

Generated automatically by Doxygen for Coin from the source code.
