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

NAME

       vpTranspose - transpose a volume

SYNOPSIS

       #include <volpack.h>

       vpResult
       vpTranspose(vpc, axis)
           vpContext *vpc;
           int axis;

ARGUMENTS

       vpc    VolPack context from vpCreateContext.

       axis   Axis  which should have the smallest stride after transposing (VP_X_AXIS, VP_Y_AXIS
              or VP_Z_AXIS).

DESCRIPTION

       vpTranspose is used to transpose the 3D voxel array to optimize the memory  stride  for  a
       particular  principal  viewing  axis.  The intended way to use this function is to set the
       viewing  transformation,  call  vpGeti  with  the  VP_VIEW_AXIS  argument  to   find   the
       corresponding  viewing  axis,  and  then call vpTranspose with that axis.  Transposing the
       data changes the arrangement of the data stored in the 3D voxel array.  The  voxel  stride
       state variables are updated to reflect this change, so the viewing transformation does not
       need to be changed after transposing.   If  the  volume  is  already  transposed  for  the
       requested axis then it returns immediately without modifying the voxel array.

       This  function  is  useful only for rendering large 3D voxel arrays.  This function has no
       affect on the preclassified volume data.

STATE VARIABLES

       Relevant variables  may  be  retrieved  with  the  following  state  variable  codes  (see
       vpGeti(3)): VP_VIEW_AXIS, VP_VOXEL_XSTRIDE, VP_VOXEL_YSTRIDE, VP_VOXEL_ZSTRIDE.

ERRORS

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

       VPERROR_BAD_OPTION
              The axis argument is invalid.

       VPERROR_BAD_VOLUME
              The 3D voxel array is missing or invalid.

       VPERROR_BAD_VOXEL
              The voxel fields are incorrectly specified.

SEE ALSO

       VolPack(3), vpCreateContext(3)