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)