Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pset_param_surf_rep(3g) — PHIGS 5.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

pset_param_surf_rep(3g)  —  Subroutines

Name

pset_param_surf_rep − Associates the parametric surface index with the specified parameters. 

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

Syntax

void pset_param_surf_rep (
  Pint                     wsid,    /∗ (I) Workstation identifier ∗/
  Pint                     index,   /∗ (I) Parametric surface index  ∗/
  const Pparam_surf_rep   ∗rep      /∗ (I) Parametric surface
                                           representation ∗/
)

Data Structures

typedef struct {
    Psurf_approx_crit   approx_crit;    /∗ surface approximation
                                           criteria ∗/
    Pparam_surf_chars   chars_data;     /∗ parametric surface
                                           characteristics data ∗/
} Pparam_surf_rep;
    typedef struct {
        Pint    type;  /∗ surface approximation criteria type∗/
        union Psurf_approx_crit_data {
            struct Psurf_approx_const_param_subd {
                Pint   u_count;   /∗ u count ∗/
                Pint   v_count;   /∗ v count ∗/
            } const_param_subd;
            struct Psurf_approx_chordal_size_wc {
                Pfloat  u_approx;  /∗ u approximation value
                Pfloat  v_approx;  /∗ v approximation value ∗/
            } chordal_size_wc;
            struct Psurf_approx_chordal_size_npc {
                Pfloat  u_approx;  /∗ u approximation value ∗/
                Pfloat  v_approx;  /∗ v approximation value ∗/
            } chordal_size_npc;
            struct Psurf_approx_chordal_size_dc {
                Pfloat    u_approx;   /∗ u approximation value ∗/
                Pfloat    v_approx;   /∗ v approximation value ∗/
            } chordal_size_dc;
            struct Psurf_approx_planar_dev_wc {
                Pfloat    approx;   /∗ approximation value ∗/
            } planar_dev_wc;
            struct Psurf_approx_planar_dev_npc {
                Pfloat    approx;   /∗ approximation value ∗/
            } planar_dev_npc;
            struct Psurf_approx_planar_dev_dc {
                Pfloat    approx;   /∗ approximation value ∗/
            } planar_dev_dc;
            struct Psurf_approx_rel_wc {
                Pfloat    approx;   /∗ approximation value ∗/
            } rel_wc;
            struct Psurf_approx_rel_npc {
                Pfloat    approx;   /∗ approximation value ∗/
            } rel_npc;
            struct Psurf_approx_rel_dc {
                Pfloat    approx;   /∗ approximation value ∗/
            } rel_dc;
            Pdata     unsupp;    /∗ unsupported surface approximation
                                    criteria data ∗/
        } data;
    } Psurf_approx_crit;
    typedef struct {
        Pint    type;   /∗ parametric surface characteristics type ∗/
        union Pparam_surf_chars_data {
            struct Pparam_surf_isoparam {
                Pplacement  placement;     /∗ curve placement ∗/
                Pint        num_u_curves;  /∗ curve count in u direction ∗/
                Pint        num_v_curves;  /∗ curve count in v direction ∗/
            } isoparam;
            struct Pparam_surf_level_mc {
                Ppoint3       origin;      /∗ origin point ∗/
                Pvec3         dir;         /∗ direction vector ∗/
                Pfloat_list   params;      /∗ parameter list ∗/
            } level_mc;
            struct Pparam_surf_level_wc {
                Ppoint3       origin;      /∗ origin point ∗/
                Pvec3         dir;         /∗ direction vector ∗/
                Pfloat_list   params;      /∗ parameter list ∗/
            } level_wc;
            Pdata    unsupp;    /∗ unsupported parametric surface
                                   characteristics data ∗/
        } data;
    } Pparam_surf_chars;
        typedef enum {
            PPLACE_UNIFORM_OVER_SURF,      /∗ uniform placement over
                                              surface ∗/
            PPLACE_UNIFORM_BETWEEN_KNOTS   /∗ uniform placement between
                                              knots ∗/
        } Pplacement;
        typedef struct {
            Pfloat     x;    /∗ x coordinate ∗/
            Pfloat     y;    /∗ y coordinate ∗/
            Pfloat     z;    /∗ z coordinate ∗/
        } Ppoint3;
        typedef struct {
            Pfloat     delta_x;    /∗ delta x value ∗/
            Pfloat     delta_y;    /∗ delta y value ∗/
            Pfloat     delta_z;    /∗ delta z value ∗/
        } Pvec3;
        typedef struct {
            Pint      num_floats;  /∗ number of floats in the list ∗/
            Pfloat   ∗floats;      /∗ list of floats ∗/
        } Pfloat_list;

Constants

Data Structure Constants  Constant                  Description
---------------------------------------------------------------------------
Surface approximation     PSURF_APPROX_WS_DEP       Workstation-dependent
types                                               method
                          PSURF_APPROX_CONST_       Constant parametric
                          PARAM_SUBD                subdivision between
                                                    knots
                          PSURF_APPROX_CHORDAL_     Chordal size, in world
                          SIZE_WC                   coordinate units
                          PSURF_APPROX_CHORDAL_     Chordal size, in
                          SIZE_NPC                  normalized projection
                                                    units
                          PSURF_APPROX_CHORDAL_     Chordal size, in device
                          SIZE_DC                   coordinate units
                          PSURF_APPROX_PLANAR_      Planar deviation, in
                          DEV_WC                    world coordinates
                          PSURF_APPROX_PLANAR_      Planar deviation, in
                          DEV_NPC                   normalized projection
                                                    coordinates
                          PSURF_APPROX_PLANAR_      Planar deviation, in
                          DEV_DC                    device coordinates
                          PSURF_APPROX_REL_WC       Relative, in world
                                                    coordinate units
                          PSURF_APPROX_REL_NPC      Relative, in normalized
                                                    projection coordinates
                          PSURF_APPROX_REL_DC       Relative, in device
                                                    coordinate units
Parametric surface        PPARAM_SURF_CHARS_NONE    None
characteristic types
                          PPARAM_SURF_CHARS_WS_DEP  Workstation dependent
                          PPARAM_SURF_CHARS_        Isoparametric curves
                          ISOPARAM
                          PPARAM_SURF_CHARS_        Level curves, in
                          LEVEL_MC                  modeling coordinates
                          PPARAM_SURF_CHARS_        Level curves, in world
                          LEVEL_WC                  coordinates
---------------------------------------------------------------------------

Description

pset_param_surf_rep associates the parametric surface index with the specified parameters.  The parametric surface bundle table has predefined entries taken from the workstation description table. You can set any entry, including the predefined entries, with this function. 

During structure traversal, Digital PHIGS uses the current parametric surface representation entry in the PHIGS traversal state list to select an entry in the parametric surface bundle table.  If the entry corresponding to this index is undefined, Digital PHIGS uses the entry corresponding to index 1. 

Digital PHIGS Version 4.1 does not support this function.

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