NAME
vpSetRawVoxels - specify an array of volume data
SYNOPSIS
#include <volpack.h>
vpResult
vpSetRawVoxels(vpc, voxels, size, xstride, ystride, zstride)
vpContext *vpc;
void *voxels;
int size;
int xstride, ystride, zstride;
ARGUMENTS
vpc VolPack context from vpCreateContext.
voxels 3D array of voxels.
size Size of the voxel array in bytes.
xstride
Number of bytes from the beginning of one voxel to the beginning
of the next voxel in the first array dimension.
ystride
Number of bytes from the beginning of one voxel to the beginning
of the next voxel in the second array dimension.
zstride
Number of bytes from the beginning of one voxel to the beginning
of the next voxel in the third array dimension.
DESCRIPTION
vpSetRawVoxels is used to specify a 3D array that contains the volume
data. The array must be large enough for the volume dimensions
specified with vpSetVolumeSize and the voxel size specified with
vpSetVoxelSize. The data in the array may be initialized before or
after calling vpSetRawVoxels.
Some of the VolPack routines operate faster if the volume is stored in
z-major order (xstride < ystride < zstride) but it is not strictly
necessary.
The voxel array is not automatically deallocated when the context is
destroyed with vpDestroyContext. The application is responsible for
managing the memory associated with the volume array.
The voxel array can be a very large data structure, possibly larger
than available main memory. It is sometimes possible to precompute the
optimized data structures required for the fast rendering algorithm
without explicitly allocating a voxel array. See vpClassifyScalars(3).
During the call to vpSetRawVoxels, any existing precomputed volume data
structures in the context are destroyed.
STATE VARIABLES
The current voxel array parameters can be retrieved with the following
state variable codes (see vpGeti(3)): VP_VOXEL_DATA,
VP_VOXEL_DATA_SIZE, VP_VOXEL_XSTRIDE, VP_VOXEL_YSTRIDE,
VP_VOXEL_ZSTRIDE.
ERRORS
The routine always returns VP_OK.
SEE ALSO
VolPack(3), vpCreateContext(3)