Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pset_data_map_method(3g) — PHIGS 5.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

pset_data_map_method(3g)  —  Subroutines

Name

pset_data_map_method − Specifies the data mapping method used to display front-facing portions of area primitives. 

 
Operating States: PHOP, ∗, STOP, ∗
PHIGS PLUS function
Creates a structure element

Syntax

void pset_data_map_method (
  const Pdata_map_rep   ∗method    /∗ (I) Data mapping method ∗/
)

Data Structures

typedef struct {
    Pint                method;       /∗ data mapping method ∗/
    Psource_select_listselectors;    /∗ list of source selectors ∗/
    union Pdata_map_rep_data {
        struct Pdata_map_rep_single_uniform {
            Pint        ind;            /∗ data value index ∗/
            Pfloat      lower_limit;    /∗ lower range limit ∗/
            Pfloat      upper_limit;    /∗ upper range limit ∗/
            Pint        colr_type;      /∗ color type ∗/
            Pcolrv_list colr_values;    /∗ list of color values ∗/
        } single_uniform;
        struct Pdata_map_rep_single_non_uniform {
            Pint        ind;            /∗ data value index ∗/
            Pfloat_list range;          /∗ range boundaries ∗/
            Pint        colr_type;      /∗ color type ∗/
            Pcolrv_list colr_values;    /∗ list of color values ∗/
        } single_non_uniform;
        struct Pdata_map_rep_bi_uniform {
            Pint        inds[2];          /∗ data value indexes ∗/
            Pfloat      lower_limit_a;    /∗ lower limit of Ra range ∗/
            Pfloat      upper_limit_a;    /∗ upper limit of Ra range ∗/
            Pfloat      lower_limit_b;    /∗ lower limit of Rb range ∗/
            Pfloat      upper_limit_b;    /∗ upper limit of Rb range ∗/
            Pint        colr_type;        /∗ color type ∗/
            Pcolrv_set  colr_values;      /∗ list of color value lists ∗/
        } bi_uniform;
        struct Pdata_map_rep_bi_non_uniform {
            Pint        inds[2];       /∗ data value indexes ∗/
            Pfloat_list range_a;       /∗ Ra range boundaries ∗/
            Pfloat_set  range_b;       /∗ Rb range boundaries ∗/
            Pint        colr_type;     /∗ color type ∗/
            Pcolrv_set  colr_values;   /∗ array of color values ∗/
        } bi_non_uniform;
    } data;
} Pdata_map_rep;
    typedef struct {
        Pint             num_selectors;    /∗ number of selectors ∗/
        Psource_select  ∗selectors;        /∗ list of source selectors ∗/
    } Psource_select_list;
        typedef enum {
            PB_SOURCE_SELECT_COLR_ASPECT,    /∗ color aspect ∗/
            PB_SOURCE_SELECT_VERT_COLR,      /∗ vertex color ∗/
            PB_SOURCE_SELECT_VERT_DATA,      /∗ vertex data ∗/
            PB_SOURCE_SELECT_FACET_COLR,     /∗ facet color ∗/
            PB_SOURCE_SELECT_FACET_DATA      /∗ facet data ∗/
        } Psource_select;
    typedef struct {
        Pint           num_colrs;    /∗ number of colors ∗/
        Pcolrv_ptr     colrs;        /∗ list of color values ∗/
    } Pcolrv_list;
        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 {
        Pint          num_lists;   /∗ number of color value lists ∗/
        Pcolrv_list  ∗colrs;       /∗ list of color value lists ∗/
    } Pcolrv_set;
    typedef struct {
        Pint      num_floats;   /∗ number of floats in list ∗/
        Pfloat   ∗floats;       /∗ list of floats ∗/
    } Pfloat_list;
    typedef struct {
        Pint          num_lists;   /∗ number of float lists ∗/
        Pfloat_list  ∗floats;      /∗ list of float lists ∗/
    } Pfloat_set;

Constants

Data Structure Constants  Constant                   Description
---------------------------------------------------------------------------
Data mapping methods      PDATA_MAP_METHOD_COLR      Digital PHIGS uses any
                                                     colors specified with
                                                     the output primitive
                                                     as the source of
                                                     color.
                          PDATA_MAP_METHOD_SINGLE_   Digital PHIGS maps a
                          UNIFORM                    single data value to
                                                     a color selected from
                                                     a specified list of
                                                     colors.  Digital PHIGS
                                                     selects the color
                                                     based on the
                                                     relationship of the
                                                     data value to a
                                                     specified data range.
                          PDATA_MAP_METHOD_SINGLE_   Digital PHIGS maps a
                          NON_UNIFORM                single data value to
                                                     a color selected from
                                                     a specified list of
                                                     colors.  Digital PHIGS
                                                     selects the color
                                                     based on the
                                                     relationship of the
                                                     data value to a
                                                     specified set of data
                                                     ranges.
                          PDATA_MAP_METHOD_BI_       Digital PHIGS maps two
                          UNIFORM                    data values to a
                                                     single color selected
                                                     from one of a set of
                                                     color lists. The
                                                     first value specifies
                                                     the list to use, and
                                                     the second value
                                                     specifies which color
                                                     to select from that
                                                     list.
                          PDATA_MAP_METHOD_BI_       Digital PHIGS maps two
                          NON_UNIFORM                data values to a
                                                     single color selected
                                                     from one of a set of
                                                     color lists. Digital
                                                     PHIGS selects the
                                                     color based on the
                                                     relationships of the
                                                     data values to a
                                                     specified set of data
                                                     ranges.
---------------------------------------------------------------------------

Description

pset_data_map_method specifies the data mapping method Digital PHIGS uses to display front-facing portions of area primitives.  Depending on the edit mode, this function either inserts the new structure element directly after the pointer or replaces the element indicated by the pointer.  The pointer then points to the new set data mapping method element. 

During structure traversal, Digital PHIGS sets the current data mapping method entry in the PHIGS traversal state list to the value associated with the element.  When the current data mapping method ASF entry in the state list is INDIVIDUAL, Digital PHIGS uses this value to display subsequent front-facing portions of area primitives.  If the specified data mapping method is not available on a workstation, Digital PHIGS uses data mapping method 1. 

If Digital PHIGS is in immediate mode, it performs this function immediately, but the function does not create a structure element. 

Digital PHIGS Version 4.1 does not support this function.

See Also

pinq_data_map_facs
pinq_data_map_rep
pset_data_map_rep

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