pset_of_fill_area_sets3_data(3g) — Subroutines
Name
pset_of_fill_area_sets3_data − Specifies the 3D form of the set of fill area sets with data primitive.
Operating States: PHOP, ∗, STOP, ∗
PHIGS PLUS function
Creates a structure element
Syntax
void pset_of_fill_area_sets3_data (
Pint colr_type, /∗ (I) Color type ∗/
const Pset_of_fill_area_sets_data ∗set_data, /∗ (I) Fill area set
data ∗/
const Pedge_flag_set_list ∗edge_flags, /∗ (I) List of edge flag
sets ∗/
const Pvertex3_list ∗vertex_list, /∗ (I) Vertex list ∗/
const Pcontour_set_list ∗contours /∗ (I) List of contour
sets ∗/
)
Data Structures
typedef struct {
Pint num_sets; /∗ number of fill area sets ∗/
Pint num_data_per_facet; /∗ number of data values per
facet ∗/
Pcolrv_ptr facet_colrvs; /∗ list of facet colors ∗/
Pvec3 ∗facet_norms; /∗ list of facet normals ∗/
Pfloat ∗facet_data; /∗ list of facet data lists ∗/
} Pset_of_fill_area_sets_data;
typedef union {
Pint ∗colr_inds; /∗ pointer to color indexes ∗/
Pcolr_rep_ptr colr_reps; /∗ pointer to color representations ∗/
} Pcolrv_ptr;
typedef union {
Prgb ∗rgb; /∗ pointer to RGB color values ∗/
Pcieluv ∗cieluv; /∗ pointer to CIELUV color values ∗/
Phls ∗hls; /∗ pointer to HLS color values ∗/
Phsv ∗hsv; /∗ pointer to HSV color values ∗/
Pdata ∗unsupp; /∗ pointer to unsupported color
values ∗/
} Pcolr_rep_ptr;
typedef struct {
Pfloat red; /∗ red intensity ∗/
Pfloat green; /∗ green intensity ∗/
Pfloat blue; /∗ blue intensity ∗/
} Prgb;
typedef struct {
Pfloat cieluv_x; /∗ x coefficient ∗/
Pfloat cieluv_y; /∗ y coefficient ∗/
Pfloat cieluv_y_lum; /∗ y luminance ∗/
} Pcieluv;
typedef struct {
Pfloat hue; /∗ hue ∗/
Pfloat lightness; /∗ lightness ∗/
Pfloat satur; /∗ saturation ∗/
} Phls;
typedef struct {
Pfloat hue; /∗ hue ∗/
Pfloat satur; /∗ saturation ∗/
Pfloat value; /∗ value ∗/
} Phsv;
typedef struct {
size_t size; /∗ size of data ∗/
void ∗data; /∗ pointer to the data ∗/
} Pdata;
typedef struct {
Pfloat delta_x; /∗ delta x value ∗/
Pfloat delta_y; /∗ delta y value ∗/
Pfloat delta_z; /∗ delta z value ∗/
} Pvec3;
typedef struct {
Pint num_edge_flag_sets; /∗ number of edge flag sets ∗/
Pedge_flag_set ∗edge_flag_sets; /∗ list of edge flag sets ∗/
} Pedge_flag_set_list;
typedef struct {
Pint num_lists; /∗ number of edge flag lists ∗/
Pedge_flag_list ∗edge_flags; /∗ list of edge flag lists ∗/
} Pedge_flag_set;
typedef struct {
Pint num_edges; /∗ number of edges in list ∗/
Pedge_flag ∗edge_flags; /∗ list of edge flags ∗/
} Pedge_flag_list;
typedef enum {
PEDGE_OFF, /∗ edges off ∗/
PEDGE_ON /∗ edges on ∗/
} Pedge_flag;
typedef struct {
Pint num_vertices; /∗ number of vertices ∗/
Pint num_data_per_vertex; /∗ number of data values per
vertex ∗/
Ppoint3 ∗vertex_points; /∗ list of vertex points ∗/
Pcolrv_ptr vertex_colrvs; /∗ list of vertex colors ∗/
Pvec3 ∗vertex_norms; /∗ list of vertex normals ∗/
Pfloat ∗vertex_data; /∗ list of vertex data lists ∗/
} Pvertex3_list;
typedef struct {
Pfloat x; /∗ x coordinate ∗/
Pfloat y; /∗ y coordinate ∗/
Pfloat z; /∗ z coordinate ∗/
} Ppoint3;
typedef struct {
Pint num_contour_sets; /∗ number of contour sets ∗/
Pcontour_set ∗contours; /∗ list of contour sets ∗/
} Pcontour_set_list;
typedef struct {
Pint num_lists; /∗ number of contour lists ∗/
Pint_list ∗contours; /∗ list of contour lists ∗/
} Pcontour_set;
typedef struct {
Pint num_ints; /∗ number of Pints in the list ∗/
Pint ∗ints; /∗ list of integers ∗/
} Pint_list;
Description
pset_of_fill_area_sets3_data specifies the three-dimensional form of the set of fill area sets with data primitive. Depending on the current edit mode, this function either inserts the new structure element directly after the element indicated by the pointer or replaces the element indicated by the pointer. The pointer then points to the new set of fill area sets 3 with data element.
You can supply data for the facet color, facet normal, and facet application-specific information for each facet (each fill area set). If you specify information for one facet, it is required for all the facets.
You supply the vertex coordinates for each vertex data and can supply data for the vertex color, vertex normal, and vertex application-specific information for each vertex. If you specify information for one vertex, it is required for all the vertices.
If you specify facet or vertex colors, you must also specify a color type.
When Digital PHIGS interprets this element, it generates a number of fill area sets. An index value of 1 selects the first vertex in the vertex data list, a value of 2 selects the second vertex, and so on. The function selects the vertices that define each fill area using a list of lists of indexes. Each list of indexes specifies a polygon boundary, which is implicitly closed (to define an area). Digital PHIGS binds the current values of the set of fill area sets with data attributes to the primitive.
If a set of fill area sets 3 with data element contains a polygon boundary with less than three points, the function will not display the polygon.
If Digital PHIGS is in immediate mode, it performs this function immediately, but the function does not create a structure element.
You can pass a null value for the set_data or edge_flags arguments because that data is optional.
Digital PHIGS Version 4.1 does not support this function.
See Also
padd_names_set
pinq_edge_facs
pinq_int_facs
premove_names_set
pset_back_int_colr
pset_back_int_shad_method
pset_back_int_style
pset_back_int_style_ind
pset_back_refl_model
pset_back_refl_props
pset_depth_cue_ind
pset_edge_colr
pset_edge_colr_ind
pset_edge_flag
pset_edge_ind
pset_edgetype
pset_edgewidth
pset_facet_cull_mode
pset_facet_disting_mode
pset_hlhsr_id
pset_indiv_asf
pset_int_colr
pset_int_colr_ind
pset_int_ind
pset_int_shad_method
pset_int_style
pset_int_style_ind
pset_light_source_st
pset_pick_id
pset_refl_model
pset_refl_props
pset_view_ind