Synopsis

#include <IceT.h>

void icetBoundingVertices( IceTInt size,
IceTEnum type,
IceTSizeType stride,
IceTSizeType count,
const IceTVoid * pointer );

Description

icetBoundingVertices is used to tell IceT what the bounds of the geometry drawn by the callback registered with icetDrawCallback or icetGLDrawCallback are. The bounds are assumed to be the convex hull of the vertices given. The user should take care to make sure that the drawn geometry actually does fit within the convex hull, or the data may be culled in unexpected ways. IceT runs most efficiently when the bounds given are tight (match the actual volume of the data well) and when the number of vertices given is minimal.

The size parameter specifies the number of coordinates given for each vertex. Coordinates are given in X-Y-Z-W order. Any Y or Z coordinate not given (because size is less than 3) is assumed to be 0.0, and any W coordinate not given (because size is less than 4) is assumed to be 1.0.

The type parameter specifies in what data type the coordinates are given. Valid types are ICET_SHORT, ICET_INT, ICET_FLOAT, and ICET_DOUBLE, which correspond to types IceTShort, IceTInt, IceTFloat, and IceTDouble, respectively.

The stride parameter specifies the offset between consecutive vertices in bytes. If stride is 0, the array is assumed to be tightly packed.

The count parameter specifies the number of vertices to set.

The pointer parameter is an array of vertices with the first vertex starting at the first byte.

If data replication is being used, each process in a data replication group should register the same bounding vertices that encompass the entire geometry. By default there is no data replication, so unless you call icetDataReplicationGroup, all process can have their own bounds.

Errors

ICET_INVALID_ENUM

Raised if type is not one of ICET_SHORT, ICET_INT, ICET_FLOAT, or ICET_DOUBLE.

Warnings

None.

Bugs

None known.

Copyright

Copyright (C)2003 Sandia Corporation

Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software.

This source code is released under the New BSD License.

See Also