oracular (3) Transpose.3.gz

Provided by: libvolpack1-dev_1.0b3-10_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)