NAME
vpStoreRawVolume, vpStoreMinMaxOctree, vpStoreClassifiedVolume,
vpStoreContext - store volume data structures to a file
SYNOPSIS
#include <volpack.h>
vpResult
vpStoreRawVolume(vpc, fd)
vpContext *vpc;
int fd;
vpResult
vpStoreMinMaxOctree(vpc, fd)
vpContext *vpc;
int fd;
vpResult
vpStoreClassifiedVolume(vpc, fd)
vpContext *vpc;
int fd;
vpResult
vpStoreContext(vpc, fd)
vpContext *vpc;
int fd;
ARGUMENTS
vpc VolPack context from vpCreateContext.
fd File descriptor from open(2), open for writing.
DESCRIPTION
These functions are used to store volume data structures from a
rendering context into files in the format read by the VolPack file
reading routines (see vpLoadRawVolume(3)).
vpStoreRawVolume creates a 3D voxel array file. The file includes
information about the size of the volume and the layout of the voxels
as well as the volume data itself.
vpStoreMinMaxOctree creates a min-max octree file. The file includes
information about the size of the volume and the layout of the voxels
as well as the octree itself.
vpStoreClassifiedVolume creates a preclassified volume data file. The
file includes information about the size of the volume and the layout
of the voxels as well as the volume data itself.
vpStoreContext creates a rendering context file. The file includes all
rendering parameters except volume data and callback functions. The
contents of any lookup tables for shading and classification are also
stored.
The function used to write data to the files can be set by calling
vpSetCallback with the VP_WRITE_FUNC option. This could be used to
implement a file-compression system, for example.
STATE VARIABLES
The current file I/O parameters can be retrieved with the following
state variable codes (see vpGeti(3)): VP_WRITE_FUNC.
ERRORS
The normal return value is VP_OK. The following error return values
are possible:
VPERROR_IO
The file writing function returned an error value (in which case
the external variable errno should contain an operating-system
specific error code), or the file system is full.
VPERROR_BAD_VOLUME
The volume dimensions are invalid, or there is no voxel data in
the context.
VPERROR_BAD_SIZE
There is no min-max octree in the volume (vpStoreMinMaxOctree
only).
VPERROR_BAD_VOXEL
The voxel fields in the rendering context have not been properly
defined.
SEE ALSO
VolPack(3), vpCreateContext(3), vpLoadRawVolume(3)