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
, andSoVolumeRender
nodes. This class defines common properties for theSoOrthoSlice
,SoObliqueSlice
,SoFenceSlice
,SoVolumeSkin
,SoHeightFieldRender
andSoVolumeRender
nodes.The
interpolation
field controls how the texture is interpolated.The
composition
field is deprecated and should not be used. Instead specify the composition mode for volume rendering using theSoVolumeRender
node.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SoVolumeShape.Compositions
Deprecated.As of Open Inventor 9.1.0.0.static class
SoVolumeShape.Interpolations
Interpolation 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>
composition
Deprecated.As of Open Inventor 9.1.0.0.SoSFEnum<SoVolumeShape.Interpolations>
interpolation
Interpolation 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 void
setRenderProgress(SoProgressIndicator ps)
Set an application definedSoProgressIndicator
object 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
SoWinRenderArea
on Windows.- Since:
- Open Inventor 5.0.3
Warning Deprecated since Open Inventor 9100. See
SoVolumeRender.renderMode
field.
-
-
Method Detail
-
setRenderProgress
public void setRenderProgress(SoProgressIndicator ps)
Set an application definedSoProgressIndicator
object 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.onEndTask
will be raised only one time per frame : "Rendering".SoProgressIndicator.onBeginSubTask
/SoProgressIndicator.onEndSubTask
will be raised 2 times per frame : "Loading Texture" and "Create Geometry".SoProgressIndicator.onEndStep
will be raised several times per subtask.
Track loading progression with
SoProgressIndicator.onEndStep
event 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
SoFenceSlice
and SoHeighFieldRender.
If set to NULL no events will be raised. Default is NULL.
- Since:
- Open Inventor 2023.2
-
-