DpUpdVarSimplePolygonMesh(3D)

NAME
DpUpdVarSimplePolygonMesh - Update a variable simple polygon mesh primitive object

SYNOPSIS
C:
void DpUpdVarSimplePolygonMesh(object,
		vertlocs, vertnorms, vertcolors,
		shape, decompose, recompute_norms)
DtObject object;
DtReal vertlocs[];
DtReal vertnorms[];
DtReal vertcolors[];
DtShapeType shape;
DtFlag decompose;
DtFlag recompute_norms;

FORTRAN:
CALL DPUVSM(OBJECT, VTXLOC, VTXNRM,
		VTXCLR, SHAPE, DECOMP,
		CMPNRM)
INTEGER*4 OBJECT
REAL*8 VTXLOC(*)
REAL*8 VTXNRM(*)
REAL*8 VTXCLR(*)
INTEGER*4 SHAPE
INTEGER*4 DECOMP
INTEGER*4 CMPNRM

DESCRIPTION
DpUpdVarSimplePolygonMesh updates a variable simple polygon mesh primitive object.

The parameter object is the handle to the object.

The parameter vertlocs is an array of vertex locations. If the vertex locations have not been modified use DcNullPtr <DCNULL>. The number of vertices, the number of polygons and the mesh connectivity cannot be modified.

The parameter vertnorms is an array of vertex normals. If the vertex normals have not been modified use DcNullPtr <DCNULL>. vertnorms must be a null pointer if vertex normals were not provided when the object was created with DoVarSimplePolygonMesh <DOVSPM>.

The parameter vertcolors is an array of vertex colors. If the vertex colors have not been modified use DcNullPtr <DCNULL>. vertcolors must be a null pointer if vertex colors were not provided when the object was created with DoVarSimplePolygonMesh <DOVSPM>.

The parameter shape hints at the geometry of the polygons in the mesh. The possible values for shape are:

DcConvex <DCCNVX>
    Path is wholly convex.

DcConcave <DCCNCV>
    Path may be concave but not self-intersecting.

Note that the shape must not be DcComplex <DCCPLX>. If the vertex locations have been modified then the shape may not be the same as when the object was created. The parameter decompose specifies whether the polygons need to be redecomposed for rendering if the vertex locations have been modified.

The parameter recompute_norms specifies whether normals should be recomputed if vertlocs is not DcNullPtr <DCNULL>. The vertex normals will only be recomputed if smoothflag was set when the object was created with DoVarSimplePolygonMesh <DOVSPM>, and if the shading needs them.

ERRORS
DpUpdVarSimplePolygonMesh will fail if the polygon shape is specified as DcComplex.

[WARNING - value out of range]

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

[WARNING - triangle normals sum to 0 at vertex, check for back to back triangles]

DpUpdVarSimplePolygonMesh will fail if an invalid object is specified.

[WARNING - invalid or deleted object]

DpUpdVarSimplePolygonMesh will fail if vertex normals are specified for an object that did not possess them originally.

[WARNING - value out of range]

DpUpdVarSimplePolygonMesh will fail if vertex colors are specified for an object that did not possess them originally.

[WARNING - value out of range]

SEE ALSO
DoVarSimplePolygonMesh(3D)