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

NAME

       vpSetVoxelSize - define the size of a voxel

SYNOPSIS

       #include <volpack.h>

       vpResult
       vpSetVoxelSize(vpc, bytes_per_voxel, num_voxel_fields, num_shade_fields, num_classify_fields)
           vpContext *vpc;
           int bytes_per_voxel;
           int num_voxel_fields;
           int num_shade_fields;
           int num_classify_fields;

ARGUMENTS

       vpc    VolPack context from vpCreateContext.

       bytes_per_voxel
              Size of one voxel in bytes.

       num_voxel_fields
              Number of fields in a voxel.

       num_shade_fields
              Number of voxel fields that are arguments to the shading function.

       num_classify_fields
              Number of voxel fields that are arguments to the opacity transfer function.

DESCRIPTION

       vpSetVoxelSize is used to define the size in bytes and the number of fields in a voxel.  Each voxel field
       is analogous to a field in a C structure and the  contents  of  each  field  is  user-defined.   See  the
       vpSetVoxelField   function   (vpSetVoxelField(3))  for  setting  the  size  and  offset  of  each  field.
       vpSetVoxelSize should be called before vpSetVoxelField and before any functions that access the  contents
       of a voxel.

       Typically,  some  of  the voxel fields are used as arguments to a shading function and some (possibly the
       same) fields are used as arguments to an opacity transfer function (for classification).  The fields that
       are  used  for  shading  should  come  first, i.e. they should have the smallest offsets, followed by any
       fields that are only used for classification.  The classification fields can then be stripped off to save
       space  during  the precomputation stage for the fast rendering algorithm.  The parameter num_shade_fields
       indicates the number of fields (starting from the first) that must not be stripped off.

       The parameter num_clsfy_fields indicates the total number of fields that are used as  parameters  to  the
       opacity  transfer  function.   These fields do not necessarily have to be contiguous, although any fields
       that are not also used for shading should be the last fields in the voxel.

       If the call to vpSetVoxelSize succeeds, any existing precomputed volume data structures  in  the  context
       are destroyed.

STATE VARIABLES

       The  current  voxel  size  parameters  can  be  retrieved  with  the  following state variable codes (see
       vpGeti(3)): VP_BYTES_PER_VOXEL, VP_VOXEL_FIELD_COUNT, VP_SHADE_FIELD_COUNT, VP_CLASSIFY_FIELD_COUNT.

ERRORS

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

       VPERROR_LIMIT_EXCEEDED
              The number of voxel fields exceeds the implementation limit.   This  limit  can  be  increased  by
              editing volpack.h and recompiling the library.

       VPERROR_BAD_VALUE
              Either num_clsfy_fields or num_shade_fields is out of range.

SEE ALSO

       VolPack(3), vpCreateContext(3), vpSetVoxelField(3)