Chapter 5. Volumizer API at a Glance

In chapters one through four, you learned about a subsection of the Volumizer API. This chapter provides a high-level overview of the entire API.

Part Two of this book, “Advanced Topics,” describes in greater depth the advanced Volumizer concepts, classes, and methods not already covered in Part One.

Sections in this chapter include:

Functional Categories

The classes in the Volumizer API fall into one of the following functional categories:

  • Classes that define a geometry, such as voVertexData, voFaceSet, and voIndexedFaceSet.

  • Classes that perform operations on volumetric geometry, such as voGeometryActions.

  • Classes that define appearance, such as voTexture3D, voBrick, and voBrickSet.

  • Classes that perform operations on an appearance, such as voAppearanceActions.

  • All other classes.

Class Hierarchy

Figure 5-1 shows the hierarchy of Volumizer classes. Child classes are shown to the right of their parent class.

Because the hierarchy is shallow, the classes have been grouped according to function.

Figure 5-1. Volumizer Class Hierarchy Divided By Function

Figure 5-1 Volumizer Class Hierarchy Divided By Function

Brief Descriptions of the Volumizer Classes

This section provides a very brief description of each class in the Volumizer API. The classes are divided into the same sections shown in Figure 5-1.

Appearance-Related Classes

 

voAppearanceActions

Implements operations on volume appearance, for example, textures.

voBrick

An anchored voTexture3D; that is, a texture that has position, in addition to sizes associated with it.

voBrickSet

A set of one or more bricks that define a large array of voxels.

voBrickSetCollection

Implements a collection of voBrickSets, that is, a set of sets of bricks.

voBrickSetCollectionIterator

Iterator for stepping through the collection of voBrickSets.

voBrickSetIterator

Iterator for stepping through the set of bricks.

voInterpolationTypeScope

An enum that specifies two- or three-dimensional interpolation.

voOptimizeVolumeTypeScope

An enum that specifies types of optimizations.

voPartialBrickTypeScope

An enum that specifies how to handle partially filled bricks.

voTexture3D

Atomic chunk of texture (3D or 2D) that maps directly on the hardware-supported textures of the underlying graphics API implementation, for example, GL_TEXTURE_3D_EXT and GL_TEXTURE_2D in OpenGL.

 

 

Geometry-Related Classes

 

voGeometryActions

Implements operations on volume geometry, for example, TetraSets, and transient geometry generated in the polygonization process.

voIndexedFaceSet

An indexed geometry set describing a collection of polygons.

voIndexedFaceSetIterator

An interator for the voIndexedFaceSet class.

voIndexedSet

Abstract base class for indexed geometry sets.

voIndexedSetIterator

An abstract base class for geometry set iterators.

voIndexedTetraSet

An indexed geometry set describing a collection of tetrahedra.

voIndices

Data structure maintaining generic index information.

voPlaneOrientationScope

Specifies the alignment of the volume.

voSamplingPlaneSet

An class describing a set of parallel planes.

voSamplingSurfaceSet

An abstract class describing a set of sampling surfaces, for example., planes and spheres.

voVertexData

Data structure maintaining per-vertex information.

voutCone

Implements a cone abstract geometry class

voutCylinder

Implements a cylinder abstract geometry class

voutGeoSphere

Implements a sphere abstract geometry class tessellated via sub division

voutGeometry

Base class for all utility geometry classes

voutIndexedHexaSet

Implements a strip of hexahedra (boxes).

voutIndexedHexaStrip

Implements a strip of hexahedra (boxes).

voutIndexedPrismBaseStrip

Implements a strip of prisms, each connected to each other by a top/bottom face.

voutIndexedPrismEdgeStrip

Implements a strip of prisms, each connected to each other at a single edge.

voutIndexedPrismFaceStrip

Implements a strip of prisms, each connected to each other by a side face.

voutIndexedPrismSet

Implements a set of prisms

voutIndexedPyramidSet

Implements a set of pyramids.

voutIndexedPyramidStrip

Implements a strip of pyramids.

voutIndexedSet

Abstract base class for indexed utility geometry sets.

voutIndexedTetraEdgeStrip

Implements a strip of tetrahedra, connected at a single edge.

voutIndexedTetraFaceStrip

Implements a strip of tetrahedra, connected at a single point.

voutSphere

Implements a sphere abstract geometry class

 

 

Other Classes

 

voCache

A structure for preserving transient data (for example, geometry resulting from polygonization) from frame to frame.

voDrawActionCache

A class for maintaining transient data (primarily geometry) from frame to frame.

voError

An error handling class.

voLookupTable

An abstract class describing lookup tables.

voLookupTablePost

Post-interpolation lookup table.

voLookupTablePre

Pre-interpolation lookup table.

voRenderingModeScope

Determines monochrome or color rendering

voSortAction

Implements sorting of a brick set.

voutPerfMeter

An API-specific set of timers used to time the phases of the volume rendering process. (utility)

voutTimer

Generic cumulative timer. (utility)