pset_line_rep_plus(3g) — Subroutines
Name
pset_line_rep_plus − Modifies the entries in the extended polyline bundle table.
Operating States: PHOP, WSOP, ∗, ∗
PHIGS PLUS function
Syntax
void pset_line_rep_plus (
Pint wsid, /∗ (I) Workstation identifier ∗/
Pint index, /∗ (I) Polyline index ∗/
const Pline_bundle_plus ∗rep /∗ (I) Extended polyline
representation ∗/
)
Data Structures
typedef struct {
Pint type; /∗ line type ∗/
Pfloat width; /∗ line width scale factor ∗/
Pgcolr colr; /∗ polyline color ∗/
Pint shad_method; /∗ polyline shading method ∗/
Pcurve_approx_crit approx_crit; /∗ curve approximation criteria ∗/
} Pline_bundle_plus;
typedef struct {
Pint colr_type; /∗ color type ∗/
Pcolrv colr_value; /∗ color value ∗/
} Pgcolr;
typedef union {
Pint colr_ind; /∗ color index ∗/
Pcolr_rep colr_rep; /∗ color representation ∗/
} Pcolrv;
typedef union {
Prgb rgb; /∗ red, green, and blue color
specification ∗/
Pcieluv cieluv; /∗ CIELUV color specification ∗/
Phls hls; /∗ hue, lightness, and saturation
color specification ∗/
Phsv hsv; /∗ hue, saturation, and value color
specification ∗/
Pdata unsupp; /∗ color in an unsupported color
model ∗/
int impl_dep; /∗ implementation-defined ∗/
} Pcolr_rep;
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 {
Pint type; /∗ curve approximation criteria type ∗/
union Pcurve_approx_crit_data {
struct Pcurve_approx_const_param_subd {
Pint count; /∗ count ∗/
} const_param_subd;
struct Pcurve_approx_chordal_size_wc {
Pfloat approx; /∗ approximation value ∗/
} chordal_size_wc;
struct Pcurve_approx_chordal_size_npc {
Pfloat approx; /∗ approximation value ∗/
} chordal_size_npc;
struct Pcurve_approx_chordal_size_dc {
Pfloat approx; /∗ approximation value ∗/
} chordal_size_dc;
struct Pcurve_approx_chordal_dev_wc {
Pfloat approx; /∗ approximation value ∗/
} chordal_dev_wc;
struct Pcurve_approx_chordal_dev_npc {
Pfloat approx; /∗ approximation value ∗/
} chordal_dev_npc;
struct Pcurve_approx_chordal_dev_dc {
Pfloat approx; /∗ approximation value ∗/
} chordal_dev_dc;
struct Pcurve_approx_rel_wc {
Pfloat approx; /∗ approximation value ∗/
} rel_wc;
struct Pcurve_approx_rel_npc {
Pfloat approx; /∗ approximation value ∗/
} rel_npc;
struct Pcurve_approx_rel_dc {
Pfloat approx; /∗ approximation value ∗/
} rel_dc;
Pdata unsupp; /∗ unsupported curve approximation
criteria data ∗/
} data;
} Pcurve_approx_crit;
Constants
Data Structure Constants Constant Description
---------------------------------------------------------------------------
Line types PLINE_SOLID Solid line. This is
the default value.
PLINE_DASH Dashed line.
PLINE_DOT Dotted line.
PLINE_DOTDASH Dashed-dotted line.
Color types 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
Shading methods PLINE_SHAD_METHOD_ No interpolation,
NONE constant shading
PLINE_SHAD_METHOD_COLR Linear interpolation of
color
Curve approximation PCURVE_APPROX_WS_DEP Workstation-dependent
types method
PCURVE_APPROX_CONST_ Constant parametric
PARAM_SUBD subdivision between
knots
PCURVE_APPROX_CHORDAL_ Chordal size, in world
SIZE_WC coordinate units
PCURVE_APPROX_CHORDAL_ Chordal size, in
normalized projection
units
PCURVE_APPROX_CHORDAL_ Chordal size, in device
SIZE_DC coordinate units
PCURVE_APPROX_CHORDAL_ Chordal deviation, in
DEV_WC world coordinates
PCURVE_APPROX_CHORDAL_ Chordal deviation, in
DEV_NPC normalized projection
coordinates
PCURVE_APPROX_CHORDAL_ Chordal deviation, in
DEV_DC device coordinates
PCURVE_APPROX_REL_WC Relative, in world
coordinate units
PCURVE_APPROX_REL_NPC Relative, in normalized
projection coordinates
PCURVE_APPROX_REL_DC Relative, in device
coordinate units
---------------------------------------------------------------------------
Other, nonstandard line types are available. See Constants.
Description
pset_line_rep_plus allows you to modify the entries in the extended polyline bundle table in the workstation state list by defining a new index. There are five entries in the table: line type, line width scale factor, polyline color, polyline shading method, and curve approximation criteria.
The extended polyline bundle table in the workstation state list has predefined entries taken from the workstation description table. A number of these entries are predefined for every workstation of category OUTPUT and OUTIN. You can redefine any table entry using this function, including predefined entries.
When Digital PHIGS displays polylines during structure traversal, the current polyline index in the PHIGS PLUS traversal state list refers to an entry in the extended polyline bundle table. If the current polyline index is not present in the extended polyline bundle table, Digital PHIGS uses polyline index 1. The setting of the corresponding ASF determines which of the aspects in an entry Digital PHIGS uses.
During structure traversal, if the current polyline index does not exist in the extended table, Digital PHIGS uses polyline index 1.
See Also
panno_text_rel
panno_text_rel3
pinq_line_facs_plus
pinq_line_rep_plus
pinq_ws_st_table
pnon_uniform_b_spline_curve3
ppolyline
ppolyline3
pe_polyline_set
pe_polyline_set3
ppolyline_set3_colr
pset_curve_approx_crit
pset_indiv_asf
pset_linetype
pset_linewidth
pset_line_colr
pset_line_colr_ind
pset_line_ind
pset_line_rep