Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
vpTranspose(3)		   Library Functions Manual		vpTranspose(3)

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  re-
       turns 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)

VolPack								vpTranspose(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=volpack-Transpose&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help