Man Linux: Main Page and Category List

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)