public class SoSeparator extends SoGroup
Caching:
The SoSeparator node provides caching of state during rendering and during bounding box computation. This feature can be explicitly enabled or disabled by setting the renderCaching and boundingBoxCaching fields. By default, these fields are set to AUTO, which means that Open Inventor decides whether to build a cache based on internal heuristics.
 
Note that during the caching process, insufficient memory errors can happen, due to hardware limitations (ex: GPU memory). In this case, to prevent bad rendering or a crash, Open Inventor will disable caching for the current Separator by setting its renderCaching field to OFF. In this case, we recommend to split the Separator's scene graph into several sub-scene graphs each with a new Separator as the head node.
 
Note that setting the renderCaching policy to OFF will prevent this specific Separator from building a cache but it does 
  not  prevent Separator nodes higher in the scene graph from building a cache that includes this Separator. In other words, during traversal it will not invalidate a currently open cache created by a Separator above this one. To invalidate any open cache and prevent this Separator from being cached, create an SoCallback node and use it to call the SoCacheElement's invalidate() method. This may reduce rendering performance.
 
The directVizCaching field is 
  only  used when DirectViz rendering is enabled. It controls the way DirectViz internal objects are built. When an SoSeparator node is traversed with directVizCaching set to ON, DirectViz will build one internal object for all the shapes below, and the directVizCaching field is ignored for all of the SoSeparator nodes below. Default value is OFF.
 
Culling:
Separators can also perform culling during rendering and picking. Culling skips over traversal of the separator's children if they are not going to be rendered or picked, based on the comparison of the separator's bounding box with the current view volume. Culling is controlled by the renderCulling and pickCulling fields. These are also set to AUTO by default; however, render culling can be expensive (and can interfere with render caching), so the AUTO heuristics leave it disabled unless specified otherwise. Note that if renderCulling is ON, the SoSeparator will prohibit auto-caching, so that no SoSeparator (or other render caching node) above this node in the scene graph will automatically create a render cache.
 
Fast edit:
The fast editing feature allows you to modify parts of a scene without redrawing the entire scene. For example, you could use it to interactively move a small object in a large scene that takes a long time to redraw. Fast editing must be enabled using SoGLRenderAction.setFastEditSavePolicy.
 
The fastEditing field enables fast editing for the sub-graph under the SoSeparator. Possible values are DISABLE, KEEP_ZBUFFER, and CLEAR_ZBUFFER. Using KEEP_ZBUFFER means that the fast edit geometry is depth buffered against the other objects in the scene, and using CLEAR_ZBUFFER means that the fast edit geometry will be drawn on top of the other objects of the scene. If several SoSeparators have the CLEAR_ZBUFFER flag set, they are drawn in the order in which they appear in the scene. The last separator in the scene will be topmost on the screen.
 
Fast edit performance:
SoSeparator of your scene graph should not enable the fast editing feature. Otherwise, performance will be very poor.
 Fast edit limitations:
File format/default:
Separator {
| renderCaching | AUTO | 
| boundingBoxCaching | AUTO | 
| directVizCaching | OFF | 
| renderCulling | AUTO | 
| pickCulling | AUTO | 
| fastEditing | DISABLE | 
| renderUnitID | -1 | 
Action behavior:
SoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction, SoGetMatrixAction, SoHandleEventAction, SoRayPickAction, SoSearchAction
 
 Saves the current traversal state, traverses all children, and restores the previous traversal state. Sets: SoCacheElement
 
See also:
SoSelection, SoTransformSeparator, SoBufferRegion, SoDirectVizManager.
| Modifier and Type | Class and Description | 
|---|---|
| static class  | SoSeparator.CachingsPossible values for caching. | 
| static class  | SoSeparator.FastEditingsFast editing policy enumeration values. | 
| static class  | SoSeparator.RenderUnitIds | 
Inventor.ConstructorCommand| Modifier and Type | Field and Description | 
|---|---|
| static int | AUTODeprecated. 
 Use  SoSeparator.Cachings.AUTOinstead. | 
| SoSFEnum<SoSeparator.Cachings> | boundingBoxCachingWhether to cache during bounding box traversal. | 
| static int | CLEAR_ZBUFFERDeprecated. 
 Use  SoSeparator.FastEditings.CLEAR_ZBUFFERinstead. | 
| SoSFEnum<SoSeparator.Cachings> | directVizCachingWhether to cache during OpenRTRT rendering traversal. | 
| static int | DISABLEDeprecated. 
 Use  SoSeparator.FastEditings.DISABLEinstead. | 
| SoSFEnum<SoSeparator.FastEditings> | fastEditingSpecifies the fast edit mode of the separator node. | 
| static int | KEEP_ZBUFFERDeprecated. 
 Use  SoSeparator.FastEditings.KEEP_ZBUFFERinstead. | 
| static int | OFFDeprecated. 
 Use  SoSeparator.Cachings.OFFinstead. | 
| static int | ONDeprecated. 
 Use  SoSeparator.Cachings.ONinstead. | 
| SoSFEnum<SoSeparator.Cachings> | pickCullingWhether to cull during picking traversal. | 
| SoSFEnum<SoSeparator.Cachings> | renderCachingWhether to cache during rendering traversal. | 
| SoSFEnum<SoSeparator.Cachings> | renderCullingWhether to cull during rendering traversal. | 
| SoSFInt32 | renderUnitIdUsed during the ScaleViz depth compositing process, this field specifies which render unit (OIRU) will render the sub scene graph below this separator. | 
boundingBoxIgnoringVERBOSE_LEVEL, ZeroHandle| Constructor and Description | 
|---|
| SoSeparator()Creates a separator node with default settings. | 
| SoSeparator(int nChildren)Constructor that takes approximate number of children. | 
| Modifier and Type | Method and Description | 
|---|---|
| static int | getNumRenderCaches()Deprecated. 
 As of Open Inventor 8.0, use  SoDB.getNumRenderCaches()instead. | 
| static void | setNumRenderCaches(int howMany)Deprecated. 
 As of Open Inventor 8.0, use  SoDB.setNumRenderCaches(int)instead. | 
addChild, findChild, getChild, getNumChildren, insertChild, removeAllChildren, removeChild, removeChild, replaceChild, replaceChildaffectsState, callback, copy, copy, distribute, doAction, getAlternateRep, getBoundingBox, getByName, getMatrix, getPrimitiveCount, getRenderUnitID, GLRender, GLRenderBelowPath, GLRenderInPath, GLRenderOffPath, grabEventsCleanup, grabEventsSetup, handleEvent, isBoundingBoxIgnoring, isOverride, pick, rayPick, search, setOverride, touch, writecopyFieldValues, copyFieldValues, enableNotify, fieldsAreEqual, get, getAllFields, getEventIn, getEventOut, getField, getFieldName, hasDefaultValues, isNotifyEnabled, set, setToDefaultsdispose, getEXTERNPROTO, getName, getPROTO, isDisposable, isSynchronizable, setName, setSynchronizablegetAddress, getNativeResourceHandle, startInternalThreads, stopInternalThreads@Deprecated public static final int OFF
SoSeparator.Cachings.OFF instead.@Deprecated public static final int ON
SoSeparator.Cachings.ON instead.@Deprecated public static final int AUTO
SoSeparator.Cachings.AUTO instead.@Deprecated public static final int DISABLE
SoSeparator.FastEditings.DISABLE instead.@Deprecated public static final int KEEP_ZBUFFER
SoSeparator.FastEditings.KEEP_ZBUFFER instead.@Deprecated public static final int CLEAR_ZBUFFER
SoSeparator.FastEditings.CLEAR_ZBUFFER instead.public final SoSFEnum<SoSeparator.Cachings> renderCaching
public final SoSFEnum<SoSeparator.Cachings> boundingBoxCaching
public final SoSFEnum<SoSeparator.Cachings> renderCulling
public final SoSFEnum<SoSeparator.Cachings> pickCulling
public final SoSFEnum<SoSeparator.Cachings> directVizCaching
public final SoSFEnum<SoSeparator.FastEditings> fastEditing
FastEditing. Default is DISABLE.
 
public final SoSFInt32 renderUnitId
SoSeparator.
 
public SoSeparator()
public SoSeparator(int nChildren)
@Deprecated public static void setNumRenderCaches(int howMany)
SoDB.setNumRenderCaches(int) instead.@Deprecated public static int getNumRenderCaches()
SoDB.getNumRenderCaches() instead.Generated on July 23, 2025, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com