## 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 *type*s
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

*icetBoundingBox*(3),
*icetDataReplicationGroup*(3),
*icetDrawCallback*(3),
*icetGLDrawCallback*(3)