Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pset_view_rep(3g) — PHIGS 5.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

pset_view_rep(3g)  —  Subroutines

Name

pset_view_rep − Defines an index and the values of its associated entry for the workstation view table. 

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

Syntax

void pset_view_rep (
  Pint               wsid,    /∗ (I) Workstation identifier ∗/
  Pint               index,   /∗ (I) View index ∗/
  const Pview_rep   ∗rep      /∗ (I) View representation ∗/
)

Data Structures

typedef struct {
    Pmatrix     ori_matrix;     /∗ orientation matrix ∗/
    Pmatrix     map_matrix;     /∗ mapping matrix ∗/
    Plimit      clip_limit;     /∗ clipping limits ∗/
    Pclip_ind   xy_clip;        /∗ xy-clipping indicator ∗/
} Pview_rep;
    typedef Pfloat Pmatrix[3][3];
    typedef struct {
        Pfloat    x_min;    /∗ x minimum ∗/
        Pfloat    x_max;    /∗ x maximum ∗/
        Pfloat    y_min;    /∗ y minimum ∗/
        Pfloat    y_max;    /∗ y maximum ∗/
    } Plimit;
    typedef enum {
        PIND_NO_CLIP,   /∗ clipping disabled ∗/
        PIND_CLIP       /∗ clipping enabled ∗/
    } Pclip_ind;

Description

pset_view_rep allows you to create or redefine an index and the values of its associated entry for the workstation view table. The two specified matrices and the specified view clipping limits make up the three stages of view. 

The specified index value must be greater than 0.  The 0 index and its associated table entry values are predefined by Digital PHIGS and cannot be changed. 

The index entry 0 in each view table is illustrated in the hardcopy and Bookreader versions of the documentation. 

The effect of view table entry 0 is to map the cube [0,1] x [0,1] x [--1,0] in view reference coordinate units to the cube [0,1] x [0,1] x [--1,0] in normalized projection coordinate units. 

The elements of a view table entry are:

•View orientation matrix

Positions, rotates, or otherwise transforms homogeneous coordinate points in world coordinate units to orient information with respect to right-left, top-bottom, and front-back.  This orientation establishes the view reference coordinate system.  The peval_view_ori_matrix function generates the value for this input argument, as output to that function’s view orientation matrix argument.  The view orientation matrix is a 3 x 3 matrix. 

•View mapping matrix

Represents transformations of oriented information. The view mapping matrix transforms points in view reference coordinates to points in the normalized projection coordinate system.  The peval_view_map_matrix function generates the value for this input argument, as output to that function’s view mapping matrix argument. The view mapping matrix is a 3 x 3 matrix. 

The view mapping matrix is not the only place in the transformation pipeline in which such mapping operations occur, nor is the view mapping matrix limited to performing such operations.  See Getting Started with DEC PHIGS for more information on the view mapping matrix. 

•View clipping limits

Specifies the region of normalized projection coordinate space in which visible data may appear when clipping is turned on and when clipping defined by the workstation window is ignored. You specify four values for the view clipping limits in the order XMIN, XMAX, YMIN, YMAX. 

The XMIN and YMIN values must be less than the XMAX and YMAX values, respectively.  The ZMIN and ZMAX values are set to --1 and 0, respectively. 

•xy-clipping indicator

Controls the clipping against the planes defined by XMIN, XMAX, YMIN, and YMAX.  It is set to one of two values of the enumerated data type:  PIND_CLIP or PIND_NO_CLIP. If the xy-clipping indicator value is PIND_NO_CLIP, the region of normalized projection coordinate space in which visible data can appear is unlimited in x and y. 

The pset_view_rep function has the following effects:

•The view orientation matrix and view mapping matrix are expanded from 3 x 3 matrices to 4 x 4 matrices.  The method used to expand a matrix is illustrated in the hardcopy and Bookreader versions of the documentation. 

•The expanded value of the view orientation matrix is set for the requested view orientation matrix entry for the specified view in the workstation state list. 

•The expanded value of the view mapping matrix is set for the requested view mapping matrix entry for the specified view in the workstation state list. 

•The requested view clipping limits entry is set to the specified value. 

•The requested xy-clipping indicator entry value is set to the specified value. 

•The x and y portions of the requested view clipping limits for the specified view are set to the specified values.  The z portions are set to the default values (ZMIN = --1, ZMAX = 0). 

•The front- and back-clipping indicators are set to PIND_CLIP. 

•The viewing transformation update state entry for the specified view in the workstation state list is set to PENDING on the specified workstation. 
 

The function updates requested entries, rather than current entries, because the visual effect of setting a view table entry may be deferred.  The next time the workstation is updated, the following actions occur:

•The corresponding current values for the specified view in the workstation state list are set to the requested entry values specified in this function. 

•The viewing transformation update state entry in the workstation state list is set to NOTPENDING. 
 

See Also

  peval_view_map_matrix
peval_view_ori_matrix
pe_inq_ext_view_rep3
pset_view_ind
pset_view_rep3
pupd_ws

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