Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pset_line_rep_plus(3g) — PHIGS 5.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026