Previous Next Up Title Contents Index Functions Index Top Library

QUADRILATERAL MESH 3 WITH DATA

PQUAD_MESH3_DATA


CALL SEQUENCE

void pquad_mesh3_data (
)

TYPES

typedef struct {
	Pint_size	dims;	/* facet array dimensions	*/
	Pint	num_data_per_facet;	/* number of data values per facet	*/
	Pcolrv_ptr	facet_colrvs;	/* array of facet colour values	*/
	Pvec3	*facet_norms;	/* array of facet normals	*/
	Pfloat	*facet_data;	/* array of facet data lists	*/
} Pfacet_array;

typedef union {
	Pint	*color_inds;	/* pointer to colour indices	*/
	Pcolr_rep_ptr	colr_reps;	/* pointer to colour representations	*/
} Pcolrv_ptr;

typedef union {
	Prgb	*rgb;	/* pointer to RGB colour values	*/
	Pcieluv	*cieluv;	/* pointer to CIELUV colour values	*/
	Phls	*hls;	/* pointer to HLS colour values	*/
	Phsv	*hsv;	/* pointer to HSV colour values	*/
} Pcolr_rep_ptr;

typedef struct {
	Pint_size	dims;	/* edge flag array dimensions	*/
	Pedge_flag_pair	*edge_flags;	/* array of edge flag pairs	*/
} Pedge_flag_array;

typedef Pedge_flag Pedge_flag_pair[2];

typedef enum {
	PEDGE_OFF,
	PEDGE_ON
} Pedge_flag;

typedef struct {
	Pint_size	dims;	/* dimensions of vertex array	*/
	Pint	num_data_per_vertex;	/* number of data values per vertex	*/
	Ppoint3	*vertex_points;	/* array of vertex points	*/
	Pcolrv_ptr	vertex_colrvs;	/* array of vertex colours	*/
	Pvec3	*vertex_norms;	/* array of vertex normals	*/
	Pfloat	*vertex_data;	/* array of vertex data lists	*/
} Pvertex3_array;

PHIGS STATE

(PHOP,*,STOP,*)

EFFECT

This function specifies the 3D characteristics of the quadrilateral mesh with data primitive .

The QUADRILATERAL MESH 3 WITH DATA element is inserted in the open structure after element pointer or replaces the element indicated by element pointer, depending on the edit mode value. Element pointer is updated and points to the QUADRILATERAL MESH 3 WITH DATA structure element. The values specified in the function are associated with the element.

A NULL value for the facet_data or edge_flags parameters indicates the corresponding optional data is not supplied.

When an element of this type is interpreted, a mesh of (M -1) x (N -1) connected quadrilaterals is generated, where the mesh is defined by a two-dimensional M x N array of vertex data, The data in each set of four neighbouring array elements defines a quadrilateral. The current values of the quadrilateral mesh 3 with data attributes specified in and stored in the traversal state list are bound to the primitive.

The set of quadrilaterals need not be coplanar. Individual quadrilaterals in the mesh may be non-planar, in which case they are rendered in a workstation dependent way that preserves the edges and ensures that the displayed geometry of the primitive is invariant under transformation. The method used to generate and/or decompose the quadrilateral mesh is workstation dependent.

A QUADRILATERAL MESH 3 WITH DATA element containing less than two vertex data elements in either array dimension will be placed in the open structure. When such an element is interpreted it will have no visual effect.

The array of edge visibility flags consists of a flag for each edge of the quadrilateral mesh. The edge visibility flags, if specified, are arranged in a three-dimensional M x N x 2 array. For i ranging from 1 to M, and j ranging from 1 to N, the (i,j,1) array element specifies the edge flag for the edge between the vertices i, j and i + 1j, and the (i, j, 2) array element specifies the edge flag for the edge between the vertices i, j and i, j + 1. For those array elements corresponding to i > M or j + 1 > N the edge flag entry in the array is not used. If edge visibility flags are specified, an edge will only be displayed when the edge flag aspect is ON.

Attributes associated with Quadrilateral Mesh With Data:

INTERIOR STYLE

INTERIOR STYLE INDEX

INTERIOR COLOUR

EDGE FLAG

EDGE TYPE

EDGE WIDTH SCALE FACTOR

EDGE COLOUR

DATA MAPPING METHOD

EXTENSION TO THE PHIGS STANDARD

If used in one of the two GPHIGS specific modes NRS or NDDS, the effect of this function is different from the effect described in the standard.

In NRS mode, (see OPEN PIPE), the element is not stored in a structure. It is sent to the workstation on which the pipe is opened.

In NDDS mode, (see BEGIN NON DUPLICATE DATA STORE), the element is stored in the structure but its content is not copied into the CSS. GPHIGS stores only the pointer to the user's data.

See GPHIGS user guide for more details on NRS and NDDS modes.

ERRORS

5
Ignoring function, function requires state (PHOP,*, STOP,*)
513
Ignoring function, inconsistent edge flag specification

SEE ALSO

open structure, open pipe (ext), begin non duplicate data storage (ext), quadrilateral mesh with data, inquire current element content, inquire current element type and size, set data mapping representation


Previous Next Up Title Contents Index Functions Index Top Library