Provided by: libvolpack1-dev_1.0b3-3_amd64 bug

NAME

       vpClassifyScalars - create a preclassified volume from scalar data

SYNOPSIS

       #include <volpack.h>

       vpResult
       vpClassifyScalars(vpc, scalar_data, length, scalar_field, gradient_field, norm_field)
           vpContext *vpc;
           unsigned char *scalars;
           int size;
           int scalar_field, gradient_field, norm_field;

ARGUMENTS

       vpc    VolPack context from vpCreateContext.

       scalar_data
              A 3D array containing one 8-bit scalar value for each voxel in the volume.

       length Size of scalar_data in bytes.

       scalar_field
              Field number identifying a voxel field for storing the scalar value.

       gradient_field
              Field  number  identifying  a voxel field for storing the gradient magnitude of the
              scalar value.

       norm_field
              Field number identifying a voxel field for storing the surface  normal  vector  for
              the voxel.

DESCRIPTION

       vpClassifyScalars  combines  the  functionality of vpVolumeNormals and vpClassifyVolume to
       produce a preclassified volume directly from a 3D array of scalar values without  creating
       a 3D voxel array.  This routine is useful for preparing large data sets for rendering with
       a fixed classification function, especially if the 3D voxel array would be  too  large  to
       fit in main memory.  The primary limitation is that the only fields each voxel may contain
       are the fields produced by vpVolumeNormals: an 8-bit  scalar  value,  and  8-bit  gradient
       and/or  a  16-bit  surface  normal vector.  See also vpClassifyScanline for processing one
       scanline of a scalar array at a time.

       To use the function, first define the volume size, voxel size, and  voxel  fields  as  you
       would  before  calling vpVolumeNormals.  However, there is no need to call vpSetRawVoxels.
       Also define the  opacity  transfer  function  (see  vpSetClassifierTable(3)).   Then  call
       vpClassifyScalars  with  the  same  arguments  you  would  use  for  vpVolumeNormals;  see
       vpVolumeNormals(3) for more details.  The result is a preclassified volume,  as  described
       in vpClassifyVolume(3).  If a voxel array has been declared it is not used or modified.

       Any existing preclassified volume data is destroyed.

STATE VARIABLES

       Information  about  the  current  preclassified volume can be retrieved with the following
       state variable codes  (see  vpGeti(3)):  VP_VIEW_X_SIZE,  VP_VIEW_Y_SIZE,  VP_VIEW_Z_SIZE,
       VP_VIEW_X_AXIS, VP_VIEW_Y_AXIS, VP_VIEW_Z_AXIS.

ERRORS

       The normal return value is VP_OK.  The following error return values are possible:

       VPERROR_BAD_VOXEL
              The voxel size or the voxel fields have not been specified or have been incorrectly
              specified.

       VPERROR_BAD_CLASSIFIER
              The opacity transfer function tables have invalid  sizes  or  are  associated  with
              invalid voxel fields or have been incorrectly specified.

SEE ALSO

       VolPack(3),      vpCreateContext(3),      vpVolumeNormals(3),     vpSetClassifierTable(3),
       vpClassifyVolume(3), vpClassifyScanline(3)