Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pset_edge_rep_plus(3g) — PHIGS 5.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

pset_edge_rep_plus(3g)  —  Subroutines

Name

pset_edge_rep_plus − Modifies the entries in the extended edge bundle table. 

Operating States: PHOP, WSOP, ∗, ∗
PHIGS PLUS function

Syntax

void pset_edge_rep_plus (
  Pint                       wsid,   /∗ (I) Workstation identifier ∗/
  Pint                       index,  /∗ (I) Edge index ∗/
  const Pedge_bundle_plus   ∗rep     /∗ (I) Extended edge representation ∗/
)

Data Structures

typedef struct {
    Pedge_flag   flag;       /∗ edge flag ∗/
    Pint         type;       /∗ edge type ∗/
    Pfloat       width;      /∗ edge width scale factor ∗/
    Pgcolr       colr;       /∗ edge color ∗/
} Pedge_bundle_plus;
    typedef enum {
        PEDGE_OFF,   /∗ edges off ∗/
        PEDGE_ON     /∗ edges on ∗/
    } Pedge_flag;
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;

Constants

Data Structure Constants     Constant         Description
---------------------------------------------------------------------------
Edge types                   PLINE_SOLID      Solid edge.  This is the
                                              default value.
                             PLINE_DASH       Dashed edge.
                             PLINE_DOT        Dotted edge.
                             PLINE_DOTDASH    Dashed-dotted edge.
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.
---------------------------------------------------------------------------

Other, nonstandard edge types are available.  See Constants.

Description

pset_edge_rep_plus allows you to modify the entries in the extended edge bundle table in the workstation state list by defining a new index.  There are four entries in the table: edge flag, edge type, edge width scale factor, and edge color. 

  The edge flag enables or disables the ability to draw edges.  The edge type defines the line type used to draw the edges. 

During structure traversal, Digital PHIGS multiplies the edge width scale factor by the nominal edge width on a workstation.  The workstation maps the result to the nearest available edge width. 

The edge color is either an indirect or direct color in a specified color model.  If you specify an indirect color and the color index is unavailable, Digital PHIGS uses color index 1 during structure reversal. 

The extended edge 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.  Redefine any table entry using this function. 

When Digital PHIGS displays area-defining primitives during structure traversal, the current edge index in the PHIGS PLUS traversal state list refers to an entry in the extended edge bundle table.  If the current edge index is not present in the extended edge bundle table, Digital PHIGS uses edge 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 edge index does not exist in the extended table, Digital PHIGS uses edge index 1. 

See Also

pfill_area_set
pfill_area_set3
pfill_area_set_data
pfill_area_set3_data
pe_fill_area_set_wshape
pe_fill_area_set3_wshape
pgdp
pgdp3
pinq_edge_facs
pinq_edge_rep_plus
pnon_uniform_b_spline_surf3
pquad_mesh3_data
pset_edge_colr
pset_edge_flag
pset_edge_ind
pset_edge_rep
pset_edgetype
pset_indiv_asf
ptri_strip3_data

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