ISOSurfaceVolumeData
Defines a data set where each voxel is treated as a raw value, and from those values surfaces can be determined. A surface is defined to be the boundary between different regions of iso values, when that difference is greater than the surfaceTolerance amount.
Inheritance
Code
XML encoding
<ISOSurfaceVolumeData showBBox='FALSE' logFeature='' render='TRUE' bboxSize='-1 -1 -1' bboxCenter='0 0 0' swapped='FALSE' sliceThickness='1 1 1' dimensions='1 1 1' surfaceTolerance='0' contourStepSize='0' surfaceValues='' />
Classic encoding
ISOSurfaceVolumeData { showBBox FALSE logFeature [""] render TRUE bboxSize -1 -1 -1 bboxCenter 0 0 0 swapped FALSE sliceThickness 1 1 1 dimensions 1 1 1 surfaceTolerance 0 contourStepSize 0 surfaceValues [] }
Interface
Filter: X3D only | Avalon only | All
id | Name | DataType | PartType | Default | ValueType | Description |
---|---|---|---|---|---|---|
renderStyle | MFNode | inputOutput | [VolumeRenderStyle] | For each isosurface extracted from the data set, a separate render style may be assigned using the renderStyle node. The rendering styles are taken from the renderStyles field corresponding to the index of the surface value defined. In the case where automatic contours are being extracted using the step size, the explicit surface value shall use the first declared render style, and then render styles are assigned starting from the smallest iso value. In all cases, if there are insufficient render styles defined for the number of isosurfaces to be rendered, the last style shall be used for all surfaces that don't have an explicit style set. | ||
gradients | SFNode | inputOutput | NULL | [Texture] | The gradient field may be used to provide explicit per-voxel gradient direction information for determining surface boundaries rather than having it implicitly calculated by the implementation. | |
surfaceValues | MFFloat | inputOutput | (-inf, inf) | This data representation has one of three possible modes of operation based on the values of the two fields surfaceValues and contourStepSize. If surfaceValues has a single value defined, then render the isosurface that corresponds to that value. If surfaceValues has more than a single value defined then the contourStepSize field is ignored and surfaces corresponding to those nominated values are rendered. | ||
contourStepSize | SFFloat | inputOutput | 0 | (-inf, inf) | If contourStepSize is non-zero, then also render all isosurfaces that are multiples of that step size from the initial surface value. For example, with a surface value of 0.25 and a step size of 0.1, then any additional isosurfaces at 0.05, 0.15, 0.35, 0.45, etc shall also be rendered. If contourStepSize is left at the default value of zero, only that single iso value is rendered as a surface. | |
surfaceTolerance | SFFloat | inputOutput | 0 | [0, inf) | A surface is defined to be the boundary between different regions of iso values, when that difference is greater than the surfaceTolerance amount. | |
dimensions | SFVec3f | inputOutput | 1 1 1 | [0, inf) | The dimensions field specifies the dimensions of this geometry in the local coordinate space using standard X3D units. It is assumed the volume is centered around the local origin. If the bounding box size is set, it will typically be the same size as the dimensions. If value is (-1,-1,-1) then the internally calculated size will be used. | |
voxels | MFNode | inputOutput | [Texture] | The voxels field provides the raw voxel information to be used by the specific rendering styles. The value is any Texture3D type and may have any number of colour components defined. The specific interpretation for the values at each voxel shall be defined by the value of the renderStyle field. If more than one node is defined for this field then each node after the first shall be treated as a mipmap level of monotonically decreasing size. Each level should be half the dimensions of the previous level. | ||
renderSettings | MFNode | inputOutput | [VolumeRenderSettings] | The renderSettings field allows the user to specify specific rendering options to be used on this volumetric object. If the value is not specified by the user, the implementation uses default settings for ray generation, acceleration and normals. | ||
swapped | SFBool | inputOutput | FALSE | especially 16 bit volumes are sometimes swapped | ||
sliceThickness | SFVec3f | inputOutput | 1 1 1 | [0, inf) | The sliceThickness field specifies the slice thickness (if given). | |
bboxCenter | SFVec3f | initializeOnly | 0 0 0 | Bounding box center: position offset from origin of local coordinate system. | ||
bboxSize | SFVec3f | initializeOnly | -1 -1 -1 | Bounding box size: automatically calculated, can be specified as an optimization or constraint. | ||
render | SFBool | inputOutput | TRUE | Flag to control the visibility of the node or subtree | ||
showBBox | SFBool | inputOutput | FALSE | Show Bounding Box of Subtree. | ||
logFeature | MFString | inputOutput | state, child, parent, route, eventIn, eventOut | controls the logging of changes, state: log state changes (e.g. live), child: log child add/remove, parent: log parent add/remove, route: log route add/remove; eventIn: log receiving of events, eventOut: log sending of events: guiView, runtime system should create node-view, guiEdit: runtime system should create node-editeverything: log everything | ||
metadata | SFNode | inputOutput | MetadataObject | container for payload metadata inside MetadataSet element |