Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pinq_pred_param_surf_rep(3g) — PHIGS 5.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

pinq_pred_param_surf_rep(3g)  —  Subroutines

Name

pinq_pred_param_surf_rep − Returns the parametric surface type and surface data for an index. 

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

Syntax

void pinq_pred_param_surf_rep (
  Pint               wstype,     /∗ (I) Workstation type. ∗/
  Pint               index,      /∗ (I) Predefined parametric surface
                                        index. ∗/
  Pstore             store,      /∗ (I) Handle to store the object.
                                        store manages the memory
                                        referenced by ∗rep. ∗/
  Pint              ∗error_ind,  /∗ (O) Error indicator ∗/
  Pparam_surf_rep  ∗∗rep         /∗ (O) Predefined parametric surface
                                        representation ∗/
)

 

Data Structures

typedef void ∗Pstore;
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
---------------------------------------------------------------------------
Approximation types       PSURF_APPROX_WS_DEP          Workstation-
                                                       dependent method
                          PSURF_APPROX_CONST_PARAM_    Constant parametric
                          SUBD                         subdivision between
                                                       knots
                          PSURF_APPROX_CHORDAL_        Chordal size, in
                          SIZE_WC                      world coordinate
                                                       units
                          PSURF_APPROX_CHORDAL_        Chordal size, in
                          SIZE_NPC                     normalized
                                                       projection units
                          PSURF_APPROX_CHORDAL_        Chordal size, in
                          SIZE_DC                      device coordinate
                                                       units
                          PSURF_APPROX_PLANAR_         Planar deviation, in
                          DEV_WC                       world coordinates
                          PSURF_APPROX_PLANAR_         Planar deviation, in
                          DEV_NPC                      normalized projec-
                                                       tion 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 projec-
                                                       tion 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_ISOPARAM   Isoparametric curves
                          PPARAM_SURF_CHARS_LEVEL_MC   Level curves, in
                                                       modeling coordinates
                          PPARAM_SURF_CHARS_LEVEL_WC   Level curves, in
                                                       world coordinates
---------------------------------------------------------------------------

Description

pinq_pred_param_surf_rep queries the workstation description table and returns the parametric surface type and surface data for the specified index. 

Digital PHIGS Version 4.1 does not support this function.

See Also

pcreate_store
pdel_store
pinq_list_param_surf_inds
pinq_param_surf_rep
pset_param_surf_rep

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