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)

VolPack                                                                                        vpSetVoxelSize(3)