---
name: "SoSeparatorKit"
section: "3iv"
platform: "linux"
package: "inventor-doc"
version: "2.1.6+ds-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SoSeparatorKit/3iv"
---

# SoSeparatorKit(3iv)

separator nodekit class

## NAME

SoSeparatorKit — separator nodekit class

## INHERITS FROM

SoBase \> SoFieldContainer \> SoNode \> SoBaseKit \> SoSeparatorKit

## SYNOPSIS

**#include \<Inventor/nodekits/SoSeparatorKit.h\>**

**enum CacheEnabled {** **SoSeparatorKit::OFF**	Never build or use a cache\
 **SoSeparatorKit::ON**	Always try to build a cache\
 **SoSeparatorKit::AUTO**	Automatic caching\
 **}**

Fields from class SoSeparatorKit:

**SoSFEnum**	**renderCaching**\
 **SoSFEnum**	**boundingBoxCaching**\
 **SoSFEnum**	**renderCulling**\
 **SoSFEnum**	**pickCulling**

Parts from class SoSeparatorKit:

**(SoPickStyle)**	**pickStyle**\
 **(SoAppearanceKit)**	**appearance**\
 **(SoUnits)**	**units**\
 **(SoTransform)**	**transform**\
 **(SoTexture2Transform)**	**texture2Transform**\
 **(SoNodeKitListPart)**	**childList**

Parts from class SoBaseKit:

**(SoNodeKitListPart)**	**callbackList**

Methods from class SoSeparatorKit:

	**SoSeparatorKit()**\
 **static const SoNodekitCatalog \***\
 	**getClassNodekitCatalog() const**\
 **static SoType**	**getClassTypeId()**

Methods from class SoBaseKit:

**virtual const SoNodekitCatalog \***\
 	**getNodekitCatalog() const**\
 **virtual SoNode \***	**getPart(const SbName &partName, SbBool makeIfNeeded)**\
 **SbString**	**getPartString(const SoBase \*part)**\
 **virtual SoNodeKitPath \***	**createPathToPart(const SbName &partName, SbBool makeIfNeeded, const SoPath \*pathToExtend = NULL)**\
 **virtual SbBool**	**setPart(const SbName &partName, SoNode \*newPart)**\
 **SbBool**	**set(char \*partName, char \*parameters)**\
 **SbBool**	**set(char \*nameValuePairs)**\
 **static SbBool**	**isSearchingChildren()**\
 **static void**	**setSearchingChildren(SbBool newVal)**

Methods from class SoNode:

**void**	**setOverride(SbBool state)**\
 **SbBool**	**isOverride() const**\
 **SoNode \***	**copy(SbBool copyConnections = FALSE) const**\
 **virtual SbBool**	**affectsState() const**\
 **static SoNode \***	**getByName(const SbName &name)**\
 **static int**	**getByName(const SbName &name, SoNodeList &list)**

Methods from class SoFieldContainer:

**void**	**setToDefaults()**\
 **SbBool**	**hasDefaultValues() const**\
 **SbBool**	**fieldsAreEqual(const SoFieldContainer \*fc) const**\
 **void**	**copyFieldValues(const SoFieldContainer \*fc, SbBool copyConnections = FALSE)**\
 **void**	**get(SbString &fieldDataString)**\
 **virtual int**	**getFields(SoFieldList &resultList) const**\
 **virtual SoField \***	**getField(const SbName &fieldName) const**\
 **SbBool**	**getFieldName(const SoField \*field, SbName &fieldName) const**\
 **SbBool**	**isNotifyEnabled() const**\
 **SbBool**	**enableNotify(SbBool flag)**

Methods from class SoBase:

**void**	**ref()**\
 **void**	**unref() const**\
 **void**	**unrefNoDelete() const**\
 **void**	**touch()**\
 **virtual SoType**	**getTypeId() const**\
 **SbBool**	**isOfType(SoType type) const**\
 **virtual void**	**setName(const SbName &name)**\
 **virtual SbName**	**getName() const**

Macros from class SoBaseKit:

**SO\_GET\_PART(kit, partName, partClass)**

**SO\_CHECK\_PART(kit, partName, partClass)**

## DESCRIPTION

**A nodekit that is used for creating nodekit hierarchies. SoSeparatorKit** contains a *transform* part, a *childList* part, and a few others in its catalog. The *transform* part (an **SoTransform** node) affects all of the children in the **childList**. Each of these children must be an **SoSeparatorKit** or from a class that is derived from **SoSeparatorKit** (e.g., **SoShapeKit** and **SoWrapperKit**). Since all members of the *childList* are in turn **SoSeparatorKit**s, and each contains a *transform*, these nested lists allow you to create a hierarchy of motion, in which each *transform* affects an entire subgraph of nodekits.

The other parts added to the catalog for the **SoSeparatorKit** are *pickStyle*, *appearance*, *units* and *texture2Transform*. Furthermore, since **SoSeparator** is derived from **SoBaseKit**, it inherits the *callbackList* part. This is a list of **SoCallback** and/or **SoEventCallback** nodes which enable the **SoSeparatorKit** to perform special callbacks whenever an action is applied to it.

By creating the *pickStyle* part, a user can alter the pick style for the entire nodekit hierarchy. The *appearance* part is an **SoAppearanceKit** nodekit. Note that all parts contained in the **SoAppearanceKit** catalog can be accessed as if they were part of the **SoSeparatorKit**. For example:

```
myMtl = mySepKit->getPart("material",TRUE)
```

  and

```
mySepKit->setPart("material",myMtl)
```

  See **SoBaseKit** for further explanation.

## FIELDS

**SoSFEnum**	**renderCaching**\
 Set render caching mode. Default is **AUTO**.

**SoSFEnum**	**boundingBoxCaching**\
 Set bounding box caching mode. Default is **ON**. Setting this value to **AUTO** is equivalent to **ON — automatic culling is not implemented.**

**SoSFEnum**	**renderCulling**\
 Set render culling mode. Default is **OFF**. Setting this value to **AUTO** is equivalent to **ON — automatic culling is not implemented.**

**SoSFEnum**	**pickCulling**\
 Set pick culling mode. Default is **AUTO**.

## PARTS

**(SoPickStyle)**	**pickStyle**\
 An **SoPickStyle** property node that can be used to set the picking style of its children. This part is **NULL** by default, but is created automatically if necessary.

**(SoAppearanceKit)**	**appearance**\
 An **SoAppearanceKit** nodekit which can be used to set the appearance properties of its children. This part is **NULL** by default, but is created automatically if necessary.

**(SoUnits)**	**units**\
 An **SoUnits** node which can be used to set the types of units, (e.g., feet), of its children. This part is **NULL** by default, but is created automatically if necessary.

**(SoTransform)**	**transform**\
 An **SoTransform** node which can be used to set the overall position, orientation, and scale of its children. This part is **NULL** by default, but is created automatically if necessary.

**(SoTexture2Transform)**	**texture2Transform**\
 An **SoTexture2Transform** node which can be used to apply a transformation to any textures used by its children. This part is **NULL** by default, but is created automatically if necessary.

**(SoNodeKitListPart)**	**childList**\
 This part contains the children nodekits of this **SoSeparatorKit**. This part is a *list part* and can have multiple children. This part is **NULL** by default, but is created automatically when the first child is added to the *childList*. Also, when asked to build a member of the *childList*, the separatorKit will build an **SoShapeKit** by default. So if the *childList* part is NULL, and you call: **getPart("childList\[0\]", TRUE)**, the separator kit will create the *childList* and add an **SoShapeKit** as the new element in the list.

## METHODS

	**SoSeparatorKit()**\
 Constructor.

**static const SoNodekitCatalog \***\
 	**getClassNodekitCatalog() const**\
 Returns an **SoNodekitCatalog** for the class **SoSeparatorKit**.

**static SoType**	**getClassTypeId()**\
 Returns type identifier for this class.

## CATALOG PARTS

| | | | |
| --- | --- | --- | --- |
| **All parts** |
|  |  |  | **NULL by** |
| **Part Name** | **Part Type** | **Default Type** | **Default** |
|  |
| callbackList | NodeKitListPart | -- | yes |
| pickStyle | PickStyle | -- | yes |
| appearance | AppearanceKit | -- | yes |
| units | Units | -- | yes |
| transform | Transform | -- | yes |
| texture2Transform | Texture2Transform | -- | yes |
| childList | NodeKitListPart | -- | yes |
|  |

| | | |
| --- | --- | --- |
| **Extra information for list parts from above table** |
| **Part Name** | **Container Type** | **Permissible Types** |
|  |
| callbackList | Separator | Callback, EventCallback |
| childList | Separator | ShapeKit, SeparatorKit |
|  |

## FILE FORMAT/DEFAULTS

```
SeparatorKit {
renderCaching	AUTO
boundingBoxCaching	AUTO
renderCulling	AUTO
pickCulling	AUTO
callbackList	NULL
pickStyle	NULL
appearance	NULL
units	NULL
transform	NULL
texture2Transform	NULL
childList	NULL
}
```

## SEE ALSO

**SoAppearanceKit, SoBaseKit, SoCameraKit, SoLightKit, SoNodeKit, SoNodeKitDetail, SoNodeKitListPart, SoNodeKitPath, SoNodekitCatalog, SoSceneKit, SoShapeKit, SoWrapperKit**
