DoVarQuadList(3D)

NAME
DoVarQuadList - Create a variable quadrilateral list primitive object

SYNOPSIS
C:
DtObject DoVarQuadList(colormodel,
		vertlocs, vertnorms, vertcolors, quadcount)
DtColorModel colormodel;
DtReal vertlocs[];
DtReal vertnorms[];
DtReal vertcolors[];
DtInt quadcount;

FORTRAN:
INTEGER*4 DOVQDL(COLMOD, VTXLOC, VTXNRM, VTXCLR, QUDCNT)
INTEGER*4 COLMOD
REAL*8 VTXLOC(*)
REAL*8 VTXNRM(*)
REAL*8 VTXCLR(*)
INTEGER*4 QUDCNT

DESCRIPTION
DoVarQuadList creates a primitive object that defines a variable list of independent quadrilaterals.

The main difference between a variable quadrilateral list and a quadrilateral list is that a variable quadrilateral list does not make a copy of the vertex data into its own data space. It simply maintains pointers to the vertex data (locations, normals and colors) in user space. A call to DpUpdVarQuadList <DPUVQL> informs a variable quadrilateral list object that the user data has changed.

The parameter colormodel specifies the color model used if vertex colors are provided. The parameter vertlocs is an array of vertex locations. The parameter vertnorms is an array of vertex normals. If vertex normals are not available use DcNullPtr <DCNULL>. The parameter vertcolors is an array of vertex colors. If vertex colors are not available use DcNullPtr <DCNULL>.

The parameter quadcount specifies the total number of quadrilaterals in the mesh. Therefore, vertlocs -- and when supplied, vertnorms and vertcolors -- must contain data for 4*quadcount vertices.

The geometric normal to each quadrilateral is calculated using the right-hand rule (when the fingers of the right hand point in the order of the vertices, the thumb points in the direction of the normal). These geometric normal calculations require that all quadrilaterals be planar. These normals are sometimes used for backface culling and facet shading.

Texture mapping indices are assigned to variable quadrilateral lists using the DpUpdVarQuadListUV and DpUpdVarQuadListUVW functions.

ERRORS
DoVarQuadList must be called with at least four vertices.

[WARNING - invalid parameter]

DoVarQuadList will issue a warning if a zero vertex normal is calculated by Dore.

[WARNING - quad normals sum to 0 at vertex, check for back to back quads]

SEE ALSO
DpUpdVarQuadList(3D), DoQuadList(3D), DoVarLineList(3D), DoVarPointList(3D), DoVarSimplePolygonMesh(3D), DoVarTriangleStrip(3D), *** UPDATE THIS!!! ***