1vpTranspose(3) Library Functions Manual vpTranspose(3)
2
3
4
6 vpTranspose - transpose a volume
7
9 #include <volpack.h>
10
11 vpResult
12 vpTranspose(vpc, axis)
13 vpContext *vpc;
14 int axis;
15
17 vpc VolPack context from vpCreateContext.
18
19 axis Axis which should have the smallest stride after transposing
20 (VP_X_AXIS, VP_Y_AXIS or VP_Z_AXIS).
21
23 vpTranspose is used to transpose the 3D voxel array to optimize the
24 memory stride for a particular principal viewing axis. The intended
25 way to use this function is to set the viewing transformation, call
26 vpGeti with the VP_VIEW_AXIS argument to find the corresponding viewing
27 axis, and then call vpTranspose with that axis. Transposing the data
28 changes the arrangement of the data stored in the 3D voxel array. The
29 voxel stride state variables are updated to reflect this change, so the
30 viewing transformation does not need to be changed after transposing.
31 If the volume is already transposed for the requested axis then it
32 returns immediately without modifying the voxel array.
33
34 This function is useful only for rendering large 3D voxel arrays. This
35 function has no affect on the preclassified volume data.
36
38 Relevant variables may be retrieved with the following state variable
39 codes (see vpGeti(3)): VP_VIEW_AXIS, VP_VOXEL_XSTRIDE,
40 VP_VOXEL_YSTRIDE, VP_VOXEL_ZSTRIDE.
41
43 The normal return value is VP_OK. The following error return values
44 are possible:
45
46 VPERROR_BAD_OPTION
47 The axis argument is invalid.
48
49 VPERROR_BAD_VOLUME
50 The 3D voxel array is missing or invalid.
51
52 VPERROR_BAD_VOXEL
53 The voxel fields are incorrectly specified.
54
56 VolPack(3), vpCreateContext(3)
57
58
59
60VolPack vpTranspose(3)