Class SoVolumeShape
- java.lang.Object
-
- All Implemented Interfaces:
SafeDisposable
- Direct Known Subclasses:
SoSlice,SoVolumeRender
public abstract class SoVolumeShape extends SoLdmShape
Abstract base class for slices,SoVolumeSkin,SoHeightFieldRender, andSoVolumeRendernodes. This class defines common properties for theSoOrthoSlice,SoObliqueSlice,SoFenceSlice,SoVolumeSkin,SoHeightFieldRenderandSoVolumeRendernodes.The
interpolationfield controls how the texture is interpolated.The
compositionfield is deprecated and should not be used. Instead specify the composition mode for volume rendering using theSoVolumeRendernode.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSoVolumeShape.CompositionsDeprecated.As of Open Inventor 9.1.0.0.static classSoVolumeShape.InterpolationsInterpolation mode.-
Nested classes/interfaces inherited from class com.openinventor.inventor.nodes.SoShape
SoShape.ShapeTypes
-
Nested classes/interfaces inherited from class com.openinventor.inventor.nodes.SoNode
SoNode.RenderModes
-
Nested classes/interfaces inherited from class com.openinventor.inventor.Inventor
Inventor.ConstructorCommand
-
-
Field Summary
Fields Modifier and Type Field Description SoSFEnum<SoVolumeShape.Compositions>compositionDeprecated.As of Open Inventor 9.1.0.0.SoSFEnum<SoVolumeShape.Interpolations>interpolationInterpolation mode.-
Fields inherited from class com.openinventor.inventor.nodes.SoShape
boundingBoxIgnoring
-
Fields inherited from class com.openinventor.inventor.Inventor
VERBOSE_LEVEL, ZeroHandle
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidsetRenderProgress(SoProgressIndicator ps)Set an application definedSoProgressIndicatorobject which will raise an event before and after the rendering task, before and after each subtask (in this case: Texture creation and Geometry creation) and after each step in the subtasks which represents in most cases individual tiles of data.-
Methods inherited from class com.openinventor.inventor.nodes.SoShape
getShapeType, isPrimitiveRestartAvailable, isPrimitiveRestartAvailable
-
Methods inherited from class com.openinventor.inventor.nodes.SoNode
affectsState, callback, copy, copy, distribute, doAction, getAlternateRep, getBoundingBox, getByName, getMatrix, getPrimitiveCount, getRenderEngineMode, getRenderUnitID, GLRender, GLRenderBelowPath, GLRenderInPath, GLRenderOffPath, grabEventsCleanup, grabEventsSetup, handleEvent, isBoundingBoxIgnoring, isOverride, pick, rayPick, search, setOverride, touch, write
-
Methods inherited from class com.openinventor.inventor.fields.SoFieldContainer
copyFieldValues, copyFieldValues, enableNotify, fieldsAreEqual, get, getAllFields, getEventIn, getEventOut, getField, getFieldName, hasDefaultValues, isNotifyEnabled, set, setToDefaults
-
Methods inherited from class com.openinventor.inventor.misc.SoBase
dispose, getName, isDisposable, isSynchronizable, setName, setSynchronizable
-
Methods inherited from class com.openinventor.inventor.Inventor
getNativeResourceHandle
-
-
-
-
Field Detail
-
interpolation
public final SoSFEnum<SoVolumeShape.Interpolations> interpolation
Interpolation mode. . Default is LINEAR. NOTE: In most cases on modern graphics boards, indexed textures are used, so this refers to interpolation of volume data values.
-
composition
@Deprecated(since="9.1.0.0") public final SoSFEnum<SoVolumeShape.Compositions> composition
Deprecated.As of Open Inventor 9.1.0.0. See SoVolumeRender.renderMode field.Specifies color composition mode. . Default is ALPHA_BLENDING.ALPHA_BLENDING blends the R, G, and B components for each pixel based on the their alpha values.
SUM_INTENSITY draws the sum of the R, G, and B components for each pixel.
MAX_INTENSITY draws the maximum R, G, and B components for each pixel.
MIN_INTENSITY draws the minimum R, G, and B components for each pixel.
Note: In all modes, blending is done against the background color of the scene (or the object behind the volume). This means that, using MIN_INTENSITY for example, if the background color is black then 0,0,0 is already the minimum RGB value and the volume will not be visible. Generally when using MIN_INTENSITY the background color should be set to white (1,1,1) and when using MAX_INTENSITY or SUM_INTENSITY the background color should be set to black (0,0,0). To set the background color see the setBackgroundColor method of the appropriate RenderArea class, for example
SoWinRenderAreaon Windows.- Since:
- Open Inventor 5.0.3
Warning Deprecated since Open Inventor 9100. See
SoVolumeRender.renderModefield.
-
-
Method Detail
-
setRenderProgress
public void setRenderProgress(SoProgressIndicator ps)
Set an application definedSoProgressIndicatorobject which will raise an event before and after the rendering task, before and after each subtask (in this case: Texture creation and Geometry creation) and after each step in the subtasks which represents in most cases individual tiles of data.SoProgressIndicator.onBeginTask/SoProgressIndicator.onEndTaskwill be raised only one time per frame : "Rendering".SoProgressIndicator.onBeginSubTask/SoProgressIndicator.onEndSubTaskwill be raised 2 times per frame : "Loading Texture" and "Create Geometry".SoProgressIndicator.onEndStepwill be raised several times per subtask.
Track loading progression with
SoProgressIndicator.onEndStepevent of SubTask "Loading Texture":- NumSteps represents here the number of tiles to load to reach the "stable rendering state".
- NumStepsDone represents here the number of tiles currently loaded since the last NumSteps reset.
- The two numbers are reset when the viewer is moving the camera.
Limitations :
- if
SoLDMResourceParameters.maxMainMemory(CPU Mem) is lower thanSoLDMResourceParameters.maxTexMemory/SoLDMResourceParameters.max2DTexMemory(GPU mem/GPU mem for slices) the number of steps to reach the "stable rendering state" will be bigger than expected (the progress bar will stop without reaching the end). - if screen resolution culling is activated (see
SoLDMGlobalResourceParameters.setScreenResolutionCulling) the number of steps to reach the "stable rendering state" might be lower than expected (progress bar reaches the end but loading might continue). - Not yet supported by
SoFenceSliceand SoHeighFieldRender.
If set to NULL no events will be raised. Default is NULL.
- Since:
- Open Inventor 2023.2
-
-