ppolyline_set3_colr(3g) — Subroutines
Name
ppolyline_set3_colr − Generates a set of unconnected 3D polylines, where color information can be specified for each vertex.
Operating States: PHOP, ∗, STOP, ∗
PHIGS PLUS function
Creates a structure element
Syntax
void ppolyline_set3_colr (
Pint colr_type, /∗ (I) Color type. ∗/
const Pvertex3_set ∗vertex_data /∗ (I) List of vertex lists.
Digital PHIGS uses only
the vertex points and
color portions of the
data pointed to by this
argument, and ignores
all other data. ∗/
)
Data Structures
typedef struct {
Pint num_lists; /∗ number of vertex lists ∗/
Pvertex3_list ∗vertices; /∗ list of vertex lists ∗/
} Pvertex3_set;
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; /∗ ignored by Digital PHIGS ∗/
Pfloat ∗vertex_data; /∗ ignored by Digital PHIGS ∗/
} Pvertex3_list;
typedef struct {
Pfloat x; /∗ x coordinate ∗/
Pfloat y; /∗ y coordinate ∗/
Pfloat z; /∗ z coordinate ∗/
} Ppoint3;
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;
Constants
Defined Argument Constant Description
---------------------------------------------------------------------------
colr_type PCOLR_INDIRECT Indirect (indexed) color
PCOLR_RGB Direct specification of red,
green, and blue
PCOLR_CIELUV Direct specification in the format
of the Commission Internationale
de l’Eclairage
PCOLR_HSV Direct specification of hue,
saturation, and value
PCOLR_HLS Direct specification of hue,
lightness, and saturation
---------------------------------------------------------------------------
Description
ppolyline_set3_colr generates a set of unconnected polylines, where color information can be specified for each vertex.
Depending on the 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 polyline set 3 with color element.
If the data per vertex flag indicates that you have specified a color per vertex, you must also have specified a color type for this primitive.
A point sequence with less than two points is considered degenerate and is treated in an implementation-dependent manner.
During structure traversal, Digital PHIGS generates an unconnected set of sequences of connected straight lines, starting from the first vertex coordinate point of each sequence and ending at the last vertex coordinate point for each sequence.
If Digital PHIGS is in immediate mode, it performs this function immediately, but the function does not create a structure element.
Digital PHIGS uses only the vertex points and color portions of the data pointed to by vertex_data. Digital PHIGS ignores all the other data.
See Also
padd_names_set
pinq_line_facs_plus
ppolyline
ppolyline3
pe_polyline_set
pe_polyline_set3
premove_names_set
pset_depth_cue_ind
pset_hlhsr_id
pset_indiv_asf
pset_linetype
pset_linewidth
pset_pick_id
pset_line_colr
pset_line_colr_ind
pset_line_ind
pset_line_shad_method
pset_rend_colr_model
pset_view_ind