A volume object represents a mapping from a three-dimensional array of data to a three-dimensional array of voxel colors, which, when drawn, are projected to two dimensions.

An IDLgrVolume object is an atomic graphic object; it is one of the basic drawable elements of the IDL Object Graphics system, and it is not a container for other objects.

Creating a Volume Object


A volume object contains a three dimensional data array of voxel values and a set of rendering attributes. The voxel array is mapped to colors and opacity values through a set of lookup tables in the volume object. Several rendering methods are provided to draw the volume to a destination.

To create a volume object, create a three dimensional array of voxels and pass them to the IDLgrVolume::Init method. Voxel arrays must be of BYTE type. For example, the following code will create a simple volume data set and create a volume object which uses it:

data = BYTARR(64,64,64, /NOZERO)
FOR i=0,63 DO data[*,i,0:i] = i*2 
data[5:15, 5:15, 5:55] = 128 
data[45:55, 45:55, 5:15] = 255
myvolume = OBJ_NEW('IDLgrVolume', data)
XOBJVIEW, myvolume

The volume contains a shaded prism along with two brighter cubes (one located within the prism).

Superclasses


IDLitComponent

Creation


See IDLgrVolume::Init.

Properties


Objects of this class have the following properties. See IDLgrVolume Properties for details on individual properties.

ALL

ALPHA_CHANNEL

AMBIENT

BOUNDS

CLIP_PLANES

COMPOSITE_FUNCTION

DATA0

DATA1

DATA2

DATA3

DEPTH_CUE

HIDE

HINTS

INTERPOLATE

LIGHTING_MODEL

OPACITY_TABLE0

OPACITY_TABLE1

PARENT

REGISTER_PROPERTIES

RENDER_STEP

RGB_TABLE0

RGB_TABLE1

SHADER

TWO_SIDED

VALID_DATA

VOLUME_SELECT

XCOORD_CONV

XRANGE

YCOORD_CONV

YRANGE

ZBUFFER

ZCOORD_CONV

ZERO_OPACITY_SKIP

ZRANGE

In addition, objects of this class inherit the properties of all superclasses of this class.

Methods


This class has the following methods:

In addition, this class inherits the methods of its superclasses (if any).

Version History


5.0

Introduced

5.6

Added CLIP_PLANES keyword

6.0

Deprecated CUTTING_PLANES property

6.1

Added ALPHA_CHANNEL property

6.2

Removed NO_COPY property and documented as a keyword on IDLgrVolume::Init and IDLgrVolume::SetProperty

6.4

Added SHADER property