cxGeoPolysDefine - define a polygon set object
#include <cx/Geometry.h>

cxGeo cxGeoPolysDefine( int npoint, float *point, int nindex, int *index )
integer function cxGeoPolysDefine(n,point, nindex,INDEX)
integer npoint
real point(3, npoint)
integer nindex
integer index(nindex)
Number of points.
An array of XYZ triples for vertices.
Number of indices.
Indices into the points array.
This function creates a set of polygons. The vertices are supplied in point and their connectivity is given in index.

Indexing of vertices is zero-based, i.e. the first vertex is referenced by index 0, and the last by npoint - 1. An index element value of -1 indicates the end of a polygon.

The return value is a tag for this object that may be used to reference it at a later time with cxGeoFocus(3E).

Valid attributes are colors, normals, and transparencies. Attribute distribution may be CX_GEO_PER_OBJECT, CX_GEO_PER_FACE, CX_GEO_PER_VERTEX, or CX_GEO_PER_VERTEX_INDEXED.

Polygons specified by cxGeoPolysDefine must have their vertices supplied in a counter-clockwise fashion so that the implicit frontfacing/backfacing normal for the polygon is computed correctly according to the "right-hand rule". Specifying a normal for the polygon using cxGeoNormalAdd will not override this frontfacing/backfacing normal computation for purposes of rendering. If you do not adhere to this ordering, you may get unexpected results when the polygon is rendered in 3-D rendering modules which display the geometry.

Last modified: Mon Nov 6 16:33:18 GMT 2000
[ Documentation Home ]
© The Numerical Algorithms Group Ltd, Oxford UK. 1996