Routines (alphabetical) > Object Classes > Graphics Object Classes > IDLgrVolume

# IDLgrVolume

Superclasses | Creation | Properties | Methods | Version History

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:

- IDLgrVolume::Cleanup
- IDLgrVolume::ComputeBounds
- IDLgrVolume::GetCTM
- IDLgrVolume::GetProperty
- IDLgrVolume::GetVertexAttributeData
- IDLgrVolume::Init
- IDLgrVolume::PickVoxel
- IDLgrVolume::SetProperty
- IDLgrVolume::SetVertexAttributeData

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