GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
vpClassifyScalars(3) FreeBSD Library Functions Manual vpClassifyScalars(3)

vpClassifyScalars - create a preclassified volume from scalar data

#include <volpack.h>

vpResult

vpClassifyScalars(vpc, scalar_data, length, scalar_field, gradient_field, norm_field)

vpContext *vpc;
unsigned char *scalars;
int size;
int scalar_field, gradient_field, norm_field;

vpc
VolPack context from vpCreateContext.
scalar_data
A 3D array containing one 8-bit scalar value for each voxel in the volume.
length
Size of scalar_data in bytes.
scalar_field
Field number identifying a voxel field for storing the scalar value.
gradient_field
Field number identifying a voxel field for storing the gradient magnitude of the scalar value.
norm_field
Field number identifying a voxel field for storing the surface normal vector for the voxel.

vpClassifyScalars combines the functionality of vpVolumeNormals and vpClassifyVolume to produce a preclassified volume directly from a 3D array of scalar values without creating a 3D voxel array. This routine is useful for preparing large data sets for rendering with a fixed classification function, especially if the 3D voxel array would be too large to fit in main memory. The primary limitation is that the only fields each voxel may contain are the fields produced by vpVolumeNormals: an 8-bit scalar value, and 8-bit gradient and/or a 16-bit surface normal vector. See also vpClassifyScanline for processing one scanline of a scalar array at a time.

To use the function, first define the volume size, voxel size, and voxel fields as you would before calling vpVolumeNormals. However, there is no need to call vpSetRawVoxels. Also define the opacity transfer function (see vpSetClassifierTable(3)). Then call vpClassifyScalars with the same arguments you would use for vpVolumeNormals; see vpVolumeNormals(3) for more details. The result is a preclassified volume, as described in vpClassifyVolume(3). If a voxel array has been declared it is not used or modified.

Any existing preclassified volume data is destroyed.

Information about the current preclassified volume can be retrieved with the following state variable codes (see vpGeti(3)): VP_VIEW_X_SIZE, VP_VIEW_Y_SIZE, VP_VIEW_Z_SIZE, VP_VIEW_X_AXIS, VP_VIEW_Y_AXIS, VP_VIEW_Z_AXIS.

The normal return value is VP_OK. The following error return values are possible:
VPERROR_BAD_VOXEL
The voxel size or the voxel fields have not been specified or have been incorrectly specified.
VPERROR_BAD_CLASSIFIER
The opacity transfer function tables have invalid sizes or are associated with invalid voxel fields or have been incorrectly specified.

VolPack(3), vpCreateContext(3), vpVolumeNormals(3), vpSetClassifierTable(3), vpClassifyVolume(3), vpClassifyScanline(3)
VolPack

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.