Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pqeco(3P) — PHIGS 1.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

INQUIRE ELEMENT CONTENT(3P)  —  SUNPHIGS LIBRARY

NAME

INQUIRE ELEMENT CONTENT − inquire the contents of the specified element

SYNOPSIS

C Syntax

void
pinqelemcontent ( struct_id, element, size, error_ind, buffer, total_size, data )
Pintstruct_id;structure identifier
Pintelement;element number
Pintsize;size of application buffer
Pint∗error_ind;OUT error indicator
Pchar∗buffer;OUT pointer to buffer
Pint∗total_size;OUT actual size of buffer
Peldata∗data;OUT data record

FORTRAN Syntax

SUBROUTINE pqeco ( STRID, ELENUM, IIL, IRL, ISL, ERRIND, IL, IA, RL, RA, SL,
     LSTR, STR )
INTEGERSTRIDstructure identifier
INTEGERELENUMelement number
INTEGERIILdimension of integer array
INTEGERIRLdimension of real array
INTEGERISLdimension of character array
INTEGERERRINDOUT error indicator
INTEGERILOUT number of integer entries
INTEGERIA(IIL)OUT array containing integer entries
INTEGERRLOUT number of real entries
REALRA(IRL)OUT array containing real entries
INTEGERSLOUT number of character string entries
INTEGERLSTR(ISL)OUT length of each character string entry
CHARACTER∗(∗)STR(ISL) OUT character string entries

FORTRAN Subset Syntax

SUBROUTINE pqeco ( STRID, ELENUM, IIL, IRL, ISL, ERRIND, IL, IA, RL, RA, SL,
     LSTR, STR )
INTEGERSTRIDstructure identifier
INTEGERELENUMelement number
INTEGERIILdimension of integer array
INTEGERIRLdimension of real array
INTEGERISLdimension of character array
INTEGERERRINDOUT error indicator
INTEGERILOUT number of integer entries
INTEGERIA(IIL)OUT array containing integer entries
INTEGERRLOUT number of real entries
REALRA(IRL)OUT array containing real entries
INTEGERSLOUT number of character string entries
INTEGERLSTR(ISL)OUT length of each character string entry
CHARACTER∗80STR(ISL) OUT character string entries

Required PHIGS Operating States

(PHOP, ∗, ∗, ∗)

DESCRIPTION

Purpose

INQUIRE ELEMENT CONTENT determines the contents of the specified element in the specified structure. 

C Input Parameters

All of the following data types are predefined in phigs.h. 

struct_id
Identifier of the structure containing the element for which to return the contents.

element
Sequence number in the specified structure of the element for which to return the contents.

sizeSize, in number of bytes, of the application supplied buffer in which returned data will be stored, if the specified element contains any variable length data. 

C Output Parameters

error_ind
A pointer to the location to store the error number of any error detected by this function.

bufferA pointer to the buffer (of size size bytes) in which any variable length data in the specified element are to be returned.  Note: The buffer is for use by the system. The system assigns the appropriate pointers within the data parameter to the memory space pointed to by the buffer as necessary for variable length data. The application accesses the returned information through the appropriate pointers within the data parameter. If the buffer allocated is not large enough to hold all of the variable length data, none of the data that would be stored in the buffer are returned. Any data that may be placed directly in the Peldata union are returned and total_size is returned with the number of bytes needed. 

total_size
A pointer which returns the actual size of the buffer needed to return all of the variable length data for the specified element.  If the specified element contains no variable length data, this value will be zero.

dataA pointer to a Peldata union, in which the contents of the current element will be returned, as appropriate for the element type.  Any pointers within data will be set by INQUIRE ELEMENT CONTENT to point into the block of memory provided by the application in the buffer parameter.  The corresponding variable length data will be copied into this memory.  Peldata is defined in phigs.h as follows:

typedef union {
Pintidata;/∗ integer valued data ∗/
Pfloatfdata;/∗ float valued data ∗/
Ppointlst3pts3;/∗ list of 3d points ∗/
Ppointlstpts; /∗ list of 2d points ∗/
struct {
Ppoint3pt;/∗ text pt ∗/
Pvector3dir[2];/∗ direction vectors ∗/
Pchar∗str;/∗ text string ∗/
} text3;
struct {
Ppointpt;/∗ text pt ∗/
Pchar∗str;/∗ text string ∗/
} tx;
struct {
Ppoint3ref_pt;/∗ reference pt ∗/
Ppoint3anno;/∗ anno. pt/offset ∗/
Pchar∗str;/∗ text string ∗/
} atx3;
struct {
Ppointref_pt;/∗ reference pt ∗/
Ppointanno;/∗ anno. pt/offset ∗/
Pchar∗str;/∗ text string ∗/
} atx;
struct {
Pintn_sets;/∗ number of sets ∗/
Ppointlst3∗sets;/∗ list of sets ∗/
} fas3;
struct {
Pintn_sets;/∗ number of sets ∗/
Ppointlst∗sets;/∗ list of sets ∗/
} fas;
struct {
Ppoint3pgram[3];/∗ parallelogram ∗/
Pdimdim;/∗ dimension ∗/
Pint∗colours;/∗ colour array ∗/
} ca3;
struct {
Prectrect;/∗ rectangle ∗/
Pdimdim;/∗ dimension ∗/
Pint∗colours;/∗ colour array ∗/
} ca;
Ptxprectx_prec; /∗ text precision ∗/
Pvectorchar_up; /∗ char up vector ∗/
Ptxpathtx_path; /∗ text path ∗/
Ptxaligntx_align; /∗ text alignment ∗/
Pinterstyleint_style;/∗ interior style ∗/
Pedgefedge_flag;/∗ edge flag ∗/
Ppointpt;/∗ pat size or ref pt ∗/
struct {
Ppoint3pt;/∗ pattern ref. pt ∗/
Pvector3vec[2];/∗ vectors ∗/
} pat;
Pintlstname_set;/∗ name sets ∗/
struct {
Pattridid;/∗ attribute id ∗/
Pasfasf;/∗ asf ∗/
} asf;
struct {
Pcomptypecomp;/∗ composition type ∗/
Pmatrix3mat;/∗ matrix ∗/
} mtran3;
struct {
Pcomptypecomp;/∗ composition type ∗/
Pmatrixmat;/∗ matrix ∗/
} m_tran;
Pmatrix3gbl_tran3;/∗ global transform3 ∗/
Pmatrixgbl_tran; /∗ global transform ∗/
struct {
Pintop;/∗ operator ∗/
Phalfspacelst3hsp;/∗ half space list ∗/
} mclip3;
struct {
Pintop;/∗ operator ∗/
Phalfspacelsthsp;/∗ half space list ∗/
} mclip;
Pclipclip_ind;/∗ clipping indicator ∗/
struct {
Pintid;/∗ GDP3 id ∗/
Ppointlst3pts;/∗ pts ∗/
Pgdprec3rec;/∗ data record ∗/
} gdp3;
struct {
Pintid;/∗ GDP id ∗/
Ppointlstpts;/∗ pts ∗/
Pgdprecrec;/∗ data record ∗/
} gdp;
struct {
Pintid;/∗ GSE id ∗/
Pgserecrec;/∗ GSE data record ∗/
} gse;
Pdataappl_data;/∗ application data ∗/
struct {
Pintorder;/∗ curve order ∗/
Pfloatlstknots;/∗ knots ∗/
Prationalrationality;/∗ rationality specifier ∗/
Ppointlst34cpts;/∗ control points ∗/
Pfloatmin;/∗ curve min ∗/
Pfloatmax;/∗ curve max ∗/
} nurb_curve;
struct {
Pinttype;/∗ approximation type ∗/
Pfloatvalue;/∗ approximation value ∗/
} curv_approx;
struct {
Ppcsipointorder;/∗ order of surface ∗/
Prationalrationality;/∗ rationality specifier ∗/
Ppcslimitrange;/∗ parameter limits ∗/
Pfloatlstuknots;/∗ knots in u dimension ∗/
Pfloatlstvknots;/∗ knots in v dimension ∗/
Ppointgrid34grid;/∗ grid of control points ∗/
Pintnum_trim_loops;/∗ number of trim curve loops ∗/
Ptrimcurvelst∗trim_loops;/∗ trim curve loops ∗/
} nurb_surface;
struct {
Pinttype;/∗ approximation type ∗/
Pfloatuvalue;/∗ u approximation value ∗/
Pfloatvvalue;/∗ v approximation value ∗/
} surf_approx;
struct {
Pintvflag;/∗ data per vertex flag ∗/
Pintcolour_model;/∗ colour model ∗/
Pintnpl;/∗ number of polylines in the set ∗/
Plinevdatalst3∗vdata;/∗ per line vertex data list ∗/
 } plsd3;
struct {
Pintfflag;/∗ data per facet flag ∗/
Pintvflag;/∗ data per vertex flag ∗/
Pintcolour_model;/∗ colour model ∗/
Pfacetdata3fdata;/∗ per facet data ∗/
Pintnv;/∗ number of vertex data ∗/
Pfacetvdataarr3vdata;/∗ fill area vertex data ∗/
} fad3;
struct {
Pintfflag;/∗ data specified per facet ∗/
Pinteflag;/∗ edge visibility status ∗/
Pintvflag;/∗ data per vertex flag ∗/
Pintcolour_model;/∗ colour model ∗/
Pfacetdata3fdata;/∗ facet data ∗/
Pintnfa;/∗ number of fill areas in the set ∗/
Pedgedatalst∗edata;/∗ edge data ∗/
Pfacetvdatalst3∗vdata;/∗ vertex data ∗/
} fasd3;
struct {
Pintfflag;/∗ data per facet flag ∗/
Pintvflag;/∗ data per vertex flag ∗/
Pintcolour_model;/∗ colour model ∗/
Pintnv;/∗ number of vertices ∗/
Pfacetdataarr3fdata;/∗ facet data ∗/
Pfacetvdataarr3vdata;/∗ vertex data ∗/
} tsd3;
struct {
Pintfflag;/∗ data per facet flag ∗/
Pintvflag;/∗ data per vertex flag ∗/
Pintcolour_model;/∗ colour model ∗/
Pdimdim;/∗ dimension of cells (in vertices) ∗/
Pfacetdataarr3fdata;/∗ facet data ∗/
Pfacetvdataarr3vdata;/∗ vertex data ∗/
} med3;
struct {
Pintfflag;/∗ data per facet flag ∗/
Pinteflag;/∗ edge visibility status ∗/
Pintvflag;/∗ data per vertex flag ∗/
Pintcolour_model;/∗ colour model ∗/
Pintnfa;/∗ number of facets ∗/
Pfacetdataarr3fdata;/∗ facet data list ∗/
Pedgedatalstlst∗edata;/∗ facet edge list ∗/
Pintlstlst∗vlist;/∗ vertex indices ∗/
Pfacetvdatalst3vdata;/∗ vertex data array list ∗/
} phed3;
Pgcolrcolour;/∗ extended colour model ∗/
Pareapropsproperties;/∗ area properties data ∗/
struct {
Pintlstactivation;/∗ activation list ∗/
Pintlstdeactivation;/∗ deactivation list ∗/
} lss;
Pcullmodecullmode;/∗ culling mode ∗/
Pdistgmodedistgmode;/∗ distinguishing mode ∗/
} Peldata;

The corresponding union contents are determined by the element type, as described below. 

ADD NAMES TO SET (PEL_ADD_NAMES_TO_SET)
A name_set structure provided in Peldata as:

Pintlstname_set/∗ set of names to be added ∗/
where
typedef struct {
Pintnumber;/∗ number of Pints in list ∗/
Pint∗integers;/∗ list of integers ∗/
} Pintlst;

ANNOTATION STYLE (PEL_ANNOTATION_STYLE)
An idata integer provided in Peldata as:

Pintidata;/∗ annotation style∗/

ANNOTATION TEXT ALIGNMENT (PEL_ANNOTATION_TEXT_ALIGNMENT)
A tx_align structure provided in Peldata as:

Ptxaligntx_align;/∗ text alignment ∗/
where
typedef struct {
Ptxhorhor;/∗ horizontal component ∗/
Ptxverver;/∗ vertical component ∗/
} Ptxalign;

ANNOTATION TEXT CHARACTER HEIGHT (PEL_ANNOTATION_TEXT_CHARACTER_HEIGHT)
A fdata floating point data provided in Peldata as:

Pfloatfdata;/∗ annotation text character height ∗/

ANNOTATION TEXT CHARACTER UP VECTOR
(PEL_ANNOTATION_TEXT_CHARACTER_UP_VECTOR)

A char_up structure provided in Peldata as:

Pvectorchar_up;/∗ char up vector ∗/
where
typedef struct {
Pfloatx;/∗ x magnitude ∗/
Pfloaty;/∗ y magnitude ∗/
} Pvector;

ANNOTATION TEXT PATH (PEL_ANNOTATION_TEXT_PATH)
A tx_path data structure provided in Peldata as:

Ptxpathtx_path;/∗ text path ∗/
where
typedef enum {
PTP_RIGHT,
PTP_LEFT,
PTP_UP,
PTP_DOWN
} Ptxpath;

ANNOTATION TEXT RELATIVE (PEL_ANNOTATION_TEXT_RELATIVE)
An atx structure defined in Peldata as:

struct {
Ppointref_pt;/∗ reference pt ∗/
Ppointanno;/∗ annotation offset ∗/
Pchar∗str;/∗ annotation text string ∗/
} atx;

ANNOTATION TEXT RELATIVE 3 (PEL_ANNOTATION_TEXT_RELATIVE3)
An atx3 structure defined in Peldata as:

struct {
Ppoint3ref_pt;/∗ reference pt ∗/
Ppoint3anno;/∗ annotation offset ∗/
Pchar∗str;/∗ annotation text string ∗/
} atx3;

APPLICATION DATA (PEL_APPLICATION_DATA)
An appl_data structure provided in Peldata as:

Pdataappl_data;/∗ application data ∗/
where
typedef struct {
Pintsize;/∗ size of data ∗/
Pchar∗data;/∗ pointer to data ∗/
} Pdata;

AREA PROPERTIES (PEL_AREA_PROPERTIES)†
A properties structure provided in Peldata as:

Pareapropsproperties;/∗ area properties ∗/
where
typedef struct {
Pfloatambient_coef;/∗ ambient reflectance coefficient ∗/
Pfloatdiffuse_coef;/∗ diffuse reflectance coefficient ∗/
Pfloatspecular_coef;/∗ specular reflectance coefficient ∗/
Pgcolrspecular_colour;/∗ specular colour ∗/
Pfloatspecular_exp;/∗ specular exponent ∗/
Pfloattranspar_coef;/∗ transparency coefficient ∗/
} Pareaprops;

BACK AREA PROPERTIES (PEL_BACK_AREA_PROPERTIES)†
A properties structure provided in Peldata as:

Pareapropsproperties;/∗ area properties ∗/
where
typedef struct {
Pfloatambient_coef;/∗ ambient reflectance coefficient ∗/
Pfloatdiffuse_coef;/∗ diffuse reflectance coefficient ∗/
Pfloatspecular_coef;/∗ specular reflectance coefficient ∗/
Pgcolrspecular_colour;/∗ specular colour ∗/
Pfloatspecular_exp;/∗ specular exponent ∗/
Pfloattranspar_coef;/∗ transparency coefficient ∗/
} Pareaprops;

BACK INTERIOR COLOUR (PEL_BACK_INTERIOR_COLOUR)†
A colour structure provided in Peldata as:

Pgcolrcolour;/∗ extended colour model ∗/
where
typedef struct {
Pinttype;/∗ indirect, RGB, CIE, HSV, HLS ∗/
union {
Pintindex;/∗ index in workstation colour bundle table ∗/
struct {
Pfloatx;/∗ red, hue, etc ∗/
Pfloaty;/∗ green, saturation, lightness, etc ∗/
Pfloatz;/∗ blue, value, saturation, etc ∗/
} general;
} val;
} Pgcolr;

BACK INTERIOR REFLECTANCE EQUATION (PEL_BACK_INTERIOR_REFLECTANCE_EQUATION)†
An idata integer provided in Peldata as:

Pintidata;/∗ back interior reflectance eq. ∗/
The predefined reflectance equation values are:
1PREFL_NONENo Reflectance Calculation Performed
2PREFL_AMBIENTUse Ambient Term
3PREFL_AMB_DIFFUse Ambient and Diffuse Terms
4PREFL_AMB_DIFF_SPECUse Ambient, Diffuse, and Specular Terms

BACK INTERIOR SHADING METHOD (PEL_BACK_INTERIOR_SHADING_METHOD)†
An idata integer provided in Peldata as:

Pintidata;/∗ back interior shading method. ∗/
The predefined shading method values are:
1PSD_NONENo Shading
2PSD_COLOURColour Interpolation Shading
3PSD_DOT_PRODUCTDot Product Interpolation Shading
4PSD_NORMALNormal Interpolation Shading

BACK INTERIOR STYLE (PEL_BACK_INTERIOR_STYLE)†
An int_style data structure provided in Peldata as:

Pinterstyleint_style;/∗ back interior style ∗/
where
typedef enum {
PHOLLOW,
PSOLID,
PPATTERN,
PHATCH,
PEMPTY,
PGENERAL
} Pinterstyle;

BACK INTERIOR STYLE INDEX (PEL_BACK_INTERIOR_STYLE_INDEX)†
An idata integer provided in Peldata as:

Pintidata;/∗ back interior style index ∗/

CELL ARRAY (PEL_CELL_ARRAY)
A ca structure defined in Peldata as:

struct {
Prectrect;/∗ rectangle ∗/
Pdimdim;/∗ dimension ∗/
Pint∗colours;/∗ colour array ∗/
} ca;

CELL ARRAY 3 (PEL_CELL_ARRAY3)
A ca3 structure defined in Peldata as:

struct {
Ppoint3pgram[3];/∗ parallelogram ∗/
Pdimdim;/∗ dimension ∗/
Pint∗colours;/∗ colour array ∗/
} ca3;

CHARACTER EXPANSION FACTOR (PEL_CHARACTER_EXPANSION_FACTOR)
A fdata floating point data provided in Peldata as:

Pfloatfdata;/∗ character expansion factor ∗/

CHARACTER HEIGHT (PEL_CHARACTER_HEIGHT)
A fdata floating point data provided in Peldata as:

Pfloatfdata;/∗ character height ∗/

CHARACTER SPACING (PEL_CHARACTER_SPACING)
A fdata floating point data provided in Peldata as:

Pfloatfdata;/∗ character spacing ∗/

CHARACTER UP VECTOR (PEL_CHARACTER_UP_VECTOR)
A char_up structure provided in Peldata as:

Pvectorchar_up;/∗ char up vector ∗/
where
typedef struct {
Pfloatx;/∗ x magnitude ∗/
Pfloaty;/∗ y magnitude ∗/
} Pvector;

CURVE APPROXIMATION CRITERIA (PEL_CURVE_APPROXIMATION_CRITERIA)†
An curv_approx structure defined in Peldata as:

struct {
Pinttype;/∗ approximation type ∗/
Pfloatvalue;/∗ approximation value ∗/
} curv_approx;

DEPTH CUE INDEX (PEL_DEPTH_CUE_INDEX)†
An idata integer provided in Peldata as:

Pintidata;/∗ depth cue index ∗/

EDGE COLOUR (PEL_EDGE_COLOUR)†
A colour structure provided in Peldata as:

Pgcolrcolour;/∗ extended colour model ∗/
where
typedef struct {
Pinttype;/∗ indirect, RGB, CIE, HSV, HLS ∗/
union {
Pintindex;/∗ index in workstation colour bundle table ∗/
struct {
Pfloatx;/∗ red, hue, etc ∗/
Pfloaty;/∗ green, saturation, lightness, etc ∗/
Pfloatz;/∗ blue, value, saturation, etc ∗/
} general;
} val;
} Pgcolr;

EDGE COLOUR INDEX (PEL_EDGE_COLOUR_INDEX)
An idata integer provided in Peldata as:

Pintidata;/∗ edge colour index ∗/

EDGE FLAG (PEL_EDGE_FLAG)
An edge_flag data structure provided in Peldata as:

Pedgefedge_flag;/∗ edge flag ∗/
where
typedef enum {
PEDGE_OFF,
PEDGE_ON
} Pedgef;

EDGE INDEX (PEL_EDGE_INDEX)
An idata integer provided in Peldata as:

Pintidata;/∗ edge index ∗/

EDGETYPE (PEL_EDGETYPE)
An idata integer provided in Peldata as:

Pintidata;/∗ edge type ∗/
The predefined edge type values are:
1PLN_SOLID
2PLN_DASH
3PLN_DOT
4PLN_DOTDASH
0PLN_LONGDASH
-1PLN_DOTDASHDOT
-2PLN_CENTER
-3PLN_PHANTOM

EDGEWIDTH SCALE FACTOR (PEL_EDGEWIDTH_SCALE_FACTOR)
A fdata floating point data provided in Peldata as:

Pfloatfdata;/∗ edgewidth scale factor ∗/

EXECUTE STRUCTURE (PEL_EXECUTE_STRUCTURE)
An idata integer provided in Peldata as:

Pintidata;/∗ structure identifier ∗/

FACE CULLING MODE (PEL_FACE_CULLING_MODE)†
An cullmode data structure provided in Peldata as:

Pcullmodecullmode;/∗ culling mode ∗/
where
typedef enum {
PCULL_NONE,
PCULL_BACKFACE,
PCULL_FRONTFACE
} Pcullmode;

FACE DISTINGUISHING MODE (PEL_FACE_DISTINGUISHING_MODE)†
An distgmode data structure provided in Peldata as:

Pdistgmodedistgmode;/∗ distinguishing mode ∗/
where
typedef enum {
PDISTG_NO,
PDISTG_YES
} Pdistgmode;

FILL AREA (PEL_FILL_AREA)
A pts structure provided in Peldata as:

Ppointlstpts;/∗ list of 2d points ∗/
where
typedef struct {
Pintnumber;/∗ number of Ppoints in the list ∗/
Ppoint∗points;/∗ list of points ∗/
} Ppointlst;

FILL AREA SET (PEL_FILL_AREA_SET)
A fas structure defined in Peldata as:

struct {
Pintn_sets;/∗ number of sets ∗/
Ppointlst∗sets;/∗ array of sets ∗/
} fas;

FILL AREA SET 3 (PEL_FILL_AREA_SET3)
A fas3 structure defined in Peldata as:

struct {
Pintn_sets;/∗ number of sets ∗/
Ppointlst3∗sets;/∗ array of sets ∗/
} fas3;

FILL AREA SET 3 WITH DATA (PEL_FILL_AREA_SET3_DATA)†
A fasd3 structure defined in Peldata as:

struct {
Pintfflag;/∗ data specified per facet ∗/
Pinteflag;/∗ edge visibility status ∗/
Pintvflag;/∗ data per vertex flag ∗/
Pintcolour_model;/∗ colour model ∗/
Pfacetdata3fdata;/∗ facet data ∗/
Pintnfa;/∗ number of fill areas in the set ∗/
Pedgedatalst∗edata;/∗ edge data ∗/
Pfacetvdatalst3∗vdata;/∗ vertex data ∗/
} fasd3;

FILL AREA 3 (PEL_FILL_AREA3)
A pts3 structure provided in Peldata as:

Ppointlst3pts3;/∗ list of 3d points ∗/
where
typedef struct {
Pintnumber;/∗ number of Ppoint3s ∗/
Ppoint3∗points;/∗ array of points ∗/
} Ppointlst3;

FILL AREA 3 WITH DATA (PEL_FILL_AREA3_DATA)†
A fad3 structure defined in Peldata as:

struct {
Pintfflag;/∗ data per facet flag ∗/
Pintvflag;/∗ data per vertex flag ∗/
Pintcolour_model;/∗ colour model ∗/
Pfacetdata3fdata;/∗ per facet data ∗/
Pintnv;/∗ number of vertex ∗/
Pfacetvdataarr3vdata;/∗ fill area vertex data ∗/
} fad3;

GDP (PEL_GDP)
A gdp structure defined in Peldata as:

struct {
Pintid;/∗ GDP id ∗/
Ppointlstpts;/∗ pts ∗/
Pgdprecrec;/∗ data record ∗/
} gdp;

GDP 3 (PEL_GDP3)
A gdp3 structure defined in Peldata as:

struct {
Pintid;/∗ GDP3 id ∗/
Ppointlst3pts;/∗ pts ∗/
Pgdprec3rec;/∗ data record ∗/
} gdp3;

GLOBAL MODELLING TRANSFORMATION (PEL_GLOBAL_MODELLING_TRANSFORMATION)
A gbl_tran structure provided in Peldata as:

Pmatrixgbl_tran;/∗ global transform ∗/
where
typedef Pfloat Pmatrix[3][3];

GLOBAL MODELLING TRANSFORMATION 3 (PEL_GLOBAL_MODELLING_TRANSFORMATION3)
A gbl_tran3 structure provided in Peldata as:

Pmatrix3gbl_tran3;/∗ global transform3 ∗/
where
typedef Pfloat Pmatrix3[4][4];

GSE (PEL_GSE)
A gse structure defined in Peldata as:

struct {
Pintid;/∗ GSE id ∗/
Pgserecrec;/∗ GSE data record ∗/
} gse;

HLHSR IDENTIFIER (PEL_HLHSR_IDENTIFIER)
An idata integer provided in Peldata as:

Pintidata;/∗ HLHSR identifier ∗/

INDIVIDUAL ASF (PEL_INDIVIDUAL_ASF)
An asf structure defined in Peldata as:

struct {
Pattridid;/∗ attribute id ∗/
Pasfasf;/∗ asf ∗/
} asf;

INTERIOR COLOUR (PEL_INTERIOR_COLOUR)†
A colour structure provided in Peldata as:

Pgcolrcolour;/∗ extended colour model ∗/
where
typedef struct {
Pinttype;/∗ indirect, RGB, CIE, HSV, HLS ∗/
union {
Pintindex;/∗ index in workstation colour bundle table ∗/
struct {
Pfloatx;/∗ red, hue, etc ∗/
Pfloaty;/∗ green, saturation, lightness, etc ∗/
Pfloatz;/∗ blue, value, saturation, etc ∗/
} general;
} val;
} Pgcolr;

INTERIOR COLOUR INDEX (PEL_INTERIOR_COLOUR_INDEX)
An idata integer provided in Peldata as:

Pintidata;/∗ interior colour index ∗/

INTERIOR INDEX (PEL_INTERIOR_INDEX)
An idata integer provided in Peldata as:

Pintidata;/∗ interior index ∗/

INTERIOR REFLECTANCE EQUATION (PEL_INTERIOR_REFLECTANCE_EQUATION)†
An idata integer provided in Peldata as:

Pintidata;/∗ interior reflectance eq. ∗/
The predefined reflectance equation values are:
1PREFL_NONENo Reflectance Calculation Performed
2PREFL_AMBIENTUse Ambient Term
3PREFL_AMB_DIFFUse Ambient and Diffuse Terms
4PREFL_AMB_DIFF_SPECUse Ambient, Diffuse, and Specular Terms

INTERIOR SHADING METHOD (PEL_INTERIOR_SHADING_METHOD)†
An idata integer provided in Peldata as:

Pintidata;/∗ interior shading method. ∗/
The predefined shading method values are:
1PSD_NONENo Shading
2PSD_COLOURColour Interpolation Shading
3PSD_DOT_PRODUCTDot Product Interpolation Shading
4PSD_NORMALNormal Interpolation Shading

INTERIOR STYLE (PEL_INTERIOR_STYLE)
An int_style data structure provided in Peldata as:

Pinterstyleint_style;/∗ interior style ∗/
where
typedef enum {
PHOLLOW,
PSOLID,
PPATTERN,
PHATCH,
PEMPTY,
PGENERAL
} Pinterstyle;

INTERIOR STYLE INDEX (PEL_INTERIOR_STYLE_INDEX)
An idata integer provided in Peldata as:

Pintidata;/∗ interior style index ∗/

LABEL (PEL_LABEL)
An idata integer provided in Peldata as:

Pintidata;/∗ label identifier ∗/

LIGHT SOURCE STATE (PEL_LIGHT_SOURCE_STATE)†
A lss structure defined in Peldata as:

struct {
Pintlstactivation;/∗ activation list ∗/
Pintlstdeactivation;/∗ deactivation list ∗/
} lss;

LINETYPE (PEL_LINETYPE)
An idata integer provided in Peldata as:

Pintidata;/∗ linetype ∗/
The predefined line type values are:
1PLN_SOLID
2PLN_DASH
3PLN_DOT
4PLN_DOTDASH
0PLN_LONGDASH
-1PLN_DOTDASHDOT
-2PLN_CENTER
-3PLN_PHANTOM

LINEWIDTH SCALE FACTOR (PEL_LINEWIDTH_SCALE_FACTOR)
A fdata floating point data provided in Peldata as:

Pfloatfdata;/∗ linewidth scale factor ∗/

LOCAL MODELLING TRANSFORMATION (PEL_LOCAL_MODELLING_TRANSFORMATION)
A m_tran structure defined in Peldata as:

struct {
Pcomptypecomp;/∗ composition type ∗/
Pmatrixmat;/∗ matrix ∗/
} m_tran;

LOCAL MODELLING TRANSFORMATION 3 (PEL_LOCAL_MODELLING_TRANSFORMATION3)
A mtran3 structure defined in Peldata as:

struct {
Pcomptypecomp;/∗ composition type ∗/
Pmatrix3mat;/∗ matrix ∗/
} mtran3;

MARKER COLOUR INDEX (PEL_MARKER_COLOUR_INDEX)
An idata integer provided in Peldata as:

Pintidata;/∗ marker colour index ∗/

MARKER SIZE SCALE FACTOR (PEL_MARKER_SIZE_SCALE_FACTOR)
A fdata floating point data provided in Peldata as:

Pfloatfdata;/∗ marker size scale factor ∗/

MARKER TYPE (PEL_MARKER_TYPE)
An idata integer provided in Peldata as:

Pintidata;/∗ marker type ∗/
The predefined marker type values are:
1PMK_POINT
2PMK_PLUS
3PMK_STAR
4PMK_O
5PMK_X
0PMK_SQUARE
-1PMK_BOWTIE_NE
-2PMK_BOWTIE_NW

MODELLING CLIPPING INDICATOR (PEL_MODELLING_CLIPPING_INDICATOR)
A clip_ind data structure provided in Peldata as:

Pclipclip_ind;/∗ clipping indicator ∗/
where
typedef enum {
PCLIP,
PNOCLIP
} Pclip;

MODELLING CLIPPING VOLUME (PEL_MODELLING_CLIPPING_VOLUME)
A mclip structure defined in Peldata as:

struct {
Pintop;/∗ operator ∗/
Phalfspacelsthsp;/∗ half-space list ∗/
} mclip;

MODELLING CLIPPING VOLUME 3 (PEL_MODELLING_CLIPPING_VOLUME3)
A mclip3 structure defined in Peldata as:

struct {
Pintop;/∗ operator ∗/
Phalfspacelst3hsp;/∗ half-space list ∗/
} mclip3;

NIL (PEL_NIL)
No data involved

NON-UNIFORM B-SPLINE CURVE (PEL_NON_UNIFORM_B_SPLINE_CURVE)†
A nurb_curve structure defined in Peldata as:

struct {
Pintorder;/∗ curve order ∗/
Pfloatlstknots;/∗ knots ∗/
Prationalrationality;/∗ rationality specifier ∗/
Ppointlst34cpts;/∗ control points ∗/
Pfloatmin;/∗ curve min ∗/
Pfloatmax;/∗ curve max ∗/
} nurb_curve;

NON-UNIFORM B-SPLINE SURFACE (PEL_NON_UNIFORM_B_SPLINE_SURFACE)†
A nurb_surface structure defined in Peldata as:

struct {
Ppcsipointorder;/∗ order of surface ∗/
Prationalrationality;/∗ rationality specifier ∗/
Ppcslimitrange;/∗ parameter limits ∗/
Pfloatlstuknots;/∗ knots in u dimension ∗/
Pfloatlstvknots;/∗ knots in v dimension ∗/
Ppointgrid34grid;/∗ grid of control points ∗/
Pintnum_trim_loops;/∗ number of trim curve loops ∗/
Ptrimcurvelst∗trim_loops;/∗ trim curve loops ∗/
} nurb_surface;

PATTERN REFERENCE POINT (PEL_PATTERN_REFERENCE_POINT)
A pt structure provided in Peldata as:

Ppointpt;/∗ pattern reference pt ∗/
where
typedef struct {
Pfloatx;/∗ x coordinate ∗/
Pfloaty;/∗ y coordinate ∗/
} Ppoint;

PATTERN REFERENCE POINT AND VECTORS (PEL_PATTERN_REFERENCE_POINT_AND_VECTORS)
A pat structure defined in Peldata as:

struct {
Ppoint3pt;/∗ pattern ref. pt ∗/
Pvector3vec[2];/∗ vectors ∗/
} pat;

PATTERN SIZE (PEL_PATTERN_SIZE)
A pt structure provided in Peldata as:

Ppointpt;/∗ pattern size ∗/
where
typedef struct {
Pfloatx;/∗ x coordinate ∗/
Pfloaty;/∗ y coordinate ∗/
} Ppoint;

PICK ID (PEL_PICK_ID)
An idata integer provided in Peldata as:

Pintidata;/∗ pick identifier ∗/

POLYHEDRON 3 WITH DATA (PEL_POLYHEDRON3_DATA)†
A phed3 structure defined in Peldata as:

struct {
Pintfflag;/∗ data per facet flag ∗/
Pinteflag;/∗ edge visibility flag ∗/
Pintvflag;/∗ data per vertex flag ∗/
Pintcolour_model;/∗ colour model ∗/
Pintnfa;/∗ number of facets ∗/
Pfacetdataarr3fdata;/∗ facet data list ∗/
Pedgedatalstlst∗edata;/∗ facet edge list ∗/
Pintlstlst∗vlist;/∗ vertex indices ∗/
Pfacetvdatalst3vdata;/∗ vertex data array list ∗/
} phed3;

POLYLINE (PEL_POLYLINE)
A pts structure provided in Peldata as:

Ppointlstpts;/∗ list of 2d points ∗/
where
typedef struct {
Pintnumber;/∗ number of Ppoints ∗/
Ppoint∗points;/∗ array of points ∗/
} Ppointlst;

POLYLINE COLOUR (PEL_POLYLINE_COLOUR)†
A colour structure provided in Peldata as:

Pgcolrcolour;/∗ extended colour model ∗/
where
typedef struct {
Pinttype;/∗ indirect, RGB, CIE, HSV, HLS ∗/
union {
Pintindex;/∗ index in workstation colour bundle table ∗/
struct {
Pfloatx;/∗ red, hue, etc ∗/
Pfloaty;/∗ green, saturation, lightness, etc ∗/
Pfloatz;/∗ blue, value, saturation, etc ∗/
} general;
} val;
} Pgcolr;

POLYLINE COLOUR INDEX (PEL_POLYLINE_COLOUR_INDEX)
An idata integer provided in Peldata as:

Pintidata;/∗ polyline colour index ∗/

POLYLINE INDEX (PEL_POLYLINE_INDEX)
An idata integer provided in Peldata as:

Pintidata;/∗ polyline index ∗/

POLYLINE SET 3 WITH DATA (PEL_POLYLINE_SET3_DATA)†
A plsd3 structure defined in Peldata as:

struct {
Pintvflag;/∗ data per vertex flag ∗/
Pintcolour_model;/∗ colour model ∗/
Pintnpl;/∗ number of polylines in set ∗/
Plinevdatalst3∗vdata;/∗ per line vertex data list ∗/
} plsd3;

POLYLINE SHADING METHOD (PEL_POLYLINE_SHADING_METHOD)†
An idata integer provided in Peldata as:

Pintidata;/∗ polyline shading method. ∗/
The predefined shading method values are:
1PSD_NONENo Shading
2PSD_COLOURColour Interpolation Shading

POLYLINE 3 (PEL_POLYLINE3)
A pts3 structure provided in Peldata as:

Ppointlst3pts3;/∗ list of 3d points ∗/
typedef struct {
Pintnumber;/∗ number of Ppoint3s ∗/
Ppoint3∗points;/∗ array of points ∗/
} Ppointlst3;

POLYMARKER (PEL_POLYMARKER)
A pts structure provided in Peldata as:

Ppointlstpts;/∗ list of 2d points ∗/
where
typedef struct {
Pintnumber;/∗ number of Ppoints ∗/
Ppoint∗points;/∗ array of points ∗/
} Ppointlst;

POLYMARKER COLOUR (PEL_POLYMARKER_COLOUR)†
A colour structure provided in Peldata as:

Pgcolrcolour;/∗ extended colour model ∗/
where
typedef struct {
Pinttype;/∗ indirect, RGB, CIE, HSV, HLS ∗/
union {
Pintindex;/∗ index in workstation colour bundle table ∗/
struct {
Pfloatx;/∗ red, hue, etc ∗/
Pfloaty;/∗ green, saturation, lightness, etc ∗/
Pfloatz;/∗ blue, value, saturation, etc ∗/
} general;
} val;
} Pgcolr;

POLYMARKER INDEX (PEL_POLYMARKER_INDEX)
An idata integer provided in Peldata as:

Pintidata;/∗ polymarker index ∗/

POLYMARKER 3 (PEL_POLYMARKER3)
A pts3 structure provided in Peldata as:

Ppointlst3pts3;/∗ list of 3d points ∗/
typedef struct {
Pintnumber;/∗ number of Ppoint3s ∗/
Ppoint3∗points;/∗ array of points ∗/
} Ppointlst3;

QUADRILATERAL MESH 3 WITH DATA (PEL_QUADRILATERAL_MESH3_DATA)†
A med3 structure defined in Peldata as:

struct {
Pintfflag;/∗ data per facet flag ∗/
Pintvflag;/∗ data per vertex flag ∗/
Pintcolour_model;/∗ colour model ∗/
Pdimdim;/∗ dimension of cells ∗/
Pfacetdataarr3fdata;/∗ facet data ∗/
Pfacetvdataarr3vdata;/∗ vertex data ∗/
} med3;

REMOVE NAMES FROM SET (PEL_REMOVE_NAMES_FROM_SET)
A name_set structure provided in Peldata as:

Pintlstname_set/∗ set of names to be removed ∗/
where
typedef struct {
Pintnumber;/∗ number of names in the set ∗/
Pint∗integers;/∗ name set ∗/
} Pintlst

RESTORE MODELLING CLIPPING VOLUME (PEL_RESTORE_MODELLING_CLIPPING_VOLUME)
No data involved

SURFACE APPROXIMATION CRITERIA (PEL_SURFACE_APPROXIMATION_CRITERIA)†
A surf_approx structure defined in Peldata as:

struct {
Pinttype;/∗ approximation type ∗/
Pfloatuvalue;/∗ u approximation value ∗/
Pfloatvvalue;/∗ v approximation value ∗/
} surf_approx;

TEXT (PEL_TEXT)
A tx structure defined in Peldata as:

struct {
Ppointpt;/∗ text pt ∗/
Pchar∗str;/∗ text string ∗/
} tx;

TEXT ALIGNMENT (PEL_TEXT_ALIGNMENT)
A tx_align structure provided in Peldata as:

Ptxaligntx_align;/∗ text alignment ∗/
where
typedef struct {
Ptxhorhor;/∗ horizontal component ∗/
Ptxverver;/∗ vertical component ∗/
} Ptxalign;

TEXT COLOUR (PEL_TEXT_COLOUR)†
A colour structure provided in Peldata as:

Pgcolrcolour;/∗ extended colour model ∗/
where
typedef struct {
Pinttype;/∗ indirect, RGB, CIE, HSV, HLS ∗/
union {
Pintindex;/∗ index in workstation colour bundle table ∗/
struct {
Pfloatx;/∗ red, hue, etc ∗/
Pfloaty;/∗ green, saturation, lightness, etc ∗/
Pfloatz;/∗ blue, value, saturation, etc ∗/
} general;
} val;
} Pgcolr;

TEXT COLOUR INDEX (PEL_TEXT_COLOUR_INDEX)
An idata integer provided in Peldata as:

Pintidata;/∗ text colour index ∗/

TEXT FONT (PEL_TEXT_FONT)
An idata integer provided in Peldata as:

Pintidata;/∗ text font ∗/
The predefined text font values are:
1PFONT_MONO
-2PFONT_SIMPLEX
-3PFONT_DUPLEX
-4PFONT_COMPLEX
-5PFONT_TRIPLEX
-6PFONT_ITALIC_COMPLEX
-7PFONT_ITALIC_TRIPLEX
-8PFONT_GREEK_SIMPLEX
-9PFONT_GREEK_COMPLEX
-10PFONT_SCRIPT_SIMPLEX
-11PFONT_SCRIPT_COMPLEX
-12PFONT_CARTOGRAPHIC
-13PFONT_SYMBOL

TEXT INDEX (PEL_TEXT_INDEX)
An idata integer provided in Peldata as:

Pintidata;/∗ text index ∗/

TEXT PATH (PEL_TEXT_PATH)
A tx_path data structure provided in Peldata as:

Ptxpathtx_path;/∗ text path ∗/
where
typedef enum {
PTP_RIGHT,
PTP_LEFT,
PTP_UP,
PTP_DOWN
} Ptxpath;

TEXT PRECISION (PEL_TEXT_PRECISION)
A tx_prec data structure provided in Peldata as:

Ptxprectx_prec;/∗ text precision ∗/
where
typedef enum {
PPSTRING,
PPCHAR,
PPSTROKE
} Ptxprec;

TEXT 3 (PEL_TEXT3)
A text3 structure defined in Peldata as:

struct {
Ppoint3pt;/∗ text pt ∗/
Pvector3dir[2];/∗ direction vectors ∗/
Pchar∗str;/∗ text string ∗/
} text3;

TRIANGLE STRIP 3 WITH DATA (PEL_TRIANGLE_STRIP3_DATA)†
A tsd3 structure defined in Peldata as:

struct {
Pintfflag;/∗ data per facet flag ∗/
Pintvflag;/∗ data per vertex flag ∗/
Pintcolour_model;/∗ colour model ∗/
Pintnv;/∗ number of vertices ∗/
Pfacetdataarr3fdata;/∗ facet data ∗/
Pfacetvdataarr3vdata;/∗ vertex data ∗/
} tsd3;

TRIMMING CURVE APPROXIMATION CRITERIA (PEL_TRIM_CURVE_APPROXIMATION_CRITERIA)†
A curv_approx structure defined in Peldata as:

struct {
Pinttype;/∗ approximation type ∗/
Pfloatvalue;/∗ approximation value ∗/
} curv_approx;

VIEW INDEX (PEL_VIEW_INDEX)
An idata integer provided in Peldata as:

Pintidata;/∗ view index ∗/

† This is a SunPHIGS Extension which is based on PHIGS+ and is not part of the PHIGS standard. 

FORTRAN Input Parameters

All of the following data types are predefined in phigs77.h. 

STRID
Identifier of the structure containing the element for which to return the contents.

ELENUM
Sequence number in the specified structure of the element for which to return the contents.

IILDimension of integer array IA in which the specified element integer data will be returned.  The appropriate array size for the data to be returned may be obtained by calling INQUIRE ELEMENT TYPE AND SIZE and using the value returned in its IL parameter. 

IRLDimension of real array RA in which the specified element real data will be returned.  The appropriate array size for the data to be returned may be obtained by calling INQUIRE ELEMENT TYPE AND SIZE and using the value returned in its RL parameter. 

ISLDimension of integer array LSTR and character array STR in which the specified element character data will be returned. The appropriate array size for the data to be returned may be obtained by calling INQUIRE ELEMENT TYPE AND SIZE and using the value returned in its SL parameter. 

FORTRAN Output Parameters

ERRIND
The error number of any error detected by this function.

ILThe number of entries returned in the IA array. 

IAThe integer values contained in the specified element. 

RLThe number of entries returned in the RA array. 

RAThe real values contained in the specified element. 

SLThe number of entries returned in the LSTR
 and STR arrays. 

LSTRSL integers specifying the lengths of the SL character strings returned in STR. 

STRThe character data contained in the specified element. 

The contents of the various arrays are determined by the element type, as described below. 

ADD NAMES TO SET (PEADS)

IL = number of names in the set
IA = array of name set elements
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

ANNOTATION STYLE (PEANST)

IL = 1
IA(1) = annotation style
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

ANNOTATION TEXT ALIGNMENT (PEATAL)

IL = 2
IA(1) = horizontal text alignment (PAHNOR, PALEFT, PACENT, PARITE)
IA(2) = vertical text alignment (PAVNOR, PATOP, PACAP, PAHALF, PABASE, PABOTT)
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

ANNOTATION TEXT CHARACTER HEIGHT (PEATCH)

IL = 0
IA = ()
RL = 1
RA(1) = annotation text character height
SL = 0
LSTR = ()
STR = ()

ANNOTATION TEXT CHARACTER UP VECTOR (PEATCU)

IL = 0
IA = ()
RL = 2
RA(1) = x component of annotation text character up vector
RA(2) = y component of annotation text character up vector
SL = 0
LSTR = ()
STR = ()

ANNOTATION TEXT PATH (PEATP)

IL = 1
IA(1) = annotation text path (PRIGHT, PLEFT, PUP, PDOWN)
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

ANNOTATION TEXT RELATIVE (PEATR)

IL = 0
IA = ()
RL = 4
RA(1) = x-coordinate of reference point (MC)
RA(2) = y-coordinate of reference point (MC)
RA(3) = x-coordinate of annotation point (NPC)
RA(4) = y-coordinate of annotation point (NPC)
SL = 1
LSTR(1) = length of string
STR(1) = string

ANNOTATION TEXT RELATIVE 3 (PEATR3)

IL = 0
IA = ()
RL = 6
RA(1) = x-coordinate of reference point (MC)
RA(2) = y-coordinate of reference point (MC)
RA(3) = z-coordinate of reference point (MC)
RA(4) = x-coordinate of annotation point (NPC)
RA(5) = y-coordinate of annotation point (NPC)
RA(6) = z-coordinate of annotation point (NPC)
SL = 1
LSTR(1) = length of string
STR(1) = string

APPLICATION DATA (PEAP)

IL = 0
IA = ()
RL = 0
RA = ()
SL = number of application data records (LDR for PAP subroutine)
LSTR(1) to LSTR(SL) = 80
STR(1) to STR(SL) = application data records (DATREC(1) to DATREC(SL) for PAP subroutine)

AREA PROPERTIES (PEAPR)†

IL = 2
IA(1) = specular colour model
IA(2) = indirect colour index (whether used or not)
RL = 8
RA(1) = ambient reflectance coefficient
RA(2) = diffuse reflectance coefficient
RA(3) = specular reflectance coefficient
RA(4) = specular exponent
RA(5) = transparency coefficient
RA(6) through RA(8) contains specular direct colour components (whether used or not)
SL = 0
LSTR = ()
STR = ()

BACK AREA PROPERTIES (PEBAPR)†

IL = 2
IA(1) = specular colour model
IA(2) = indirect colour index (whether used or not)
RL = 8
RA(1) = ambient reflectance coefficient
RA(2) = diffuse reflectance coefficient
RA(3) = specular reflectance coefficient
RA(4) = specular exponent
RA(5) = transparency coefficient
RA(6) through RA(8) contains specular direct colour components (whether used or not)
SL = 0
LSTR = ()
STR = ()

BACK INTERIOR COLOUR (PEBIC)†

IL = 2
IA(1) = colour model
IA(2) = indirect colour index (whether used or not)
RL = 3
RA(1) through RA(3) contain direct colour components (whether used or not)
SL = 0
LSTR = ()
STR = ()

BACK INTERIOR REFLECTANCE EQUATION (PEBIRE)†

IL = 1
IA(1) = back interior reflectance equation
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

BACK INTERIOR SHADING METHOD (PEBISM)†

IL = 1
IA(1) = back interior shading method
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

BACK INTERIOR STYLE (PEBIS)†

IL = 1
IA(1) = back interior style (PHOLLO, PSOLID, PPATTR, PHATCH, PISEMP, PGENER)
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

BACK INTERIOR STYLE INDEX (PEBISI)†

IL = 1
IA(1) = back interior style index
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

CELL ARRAY (PECA)

IL = 2+(IA(1)∗IA(2))
IA(1) = x dimension of cell index array
IA(2) = y dimension of cell index array
IA(3) to IA((IA(1)∗IA(2))+2) = cell index array in column major order

e.g. IA(3) = COLIA(1,1), IA(4)=COLIA(2,1), ...
RL = 4
RA(1) = x-coordinate of P (MC)
RA(2) = y-coordinate of P (MC)
RA(3) = x-coordinate of Q (MC)
RA(4) = y-coordinate of Q (MC)
SL = 0
LSTR = ()
STR = ()

CELL ARRAY 3 (PECA3)

IL = 2+(IA(1)∗IA(2))
IA(1) = x dimension of cell index array
IA(2) = y dimension of cell index array
IA(3) to IA((IA(1)∗IA(2))+2) = cell index array in column major order

e.g. IA(3) = COLIA(1,1), IA(4)=COLIA(2,1), ...
RL = 9
RA(1) = x-coordinate of P (MC)
RA(2) = y-coordinate of P (MC)
RA(3) = z-coordinate of P (MC)
RA(4) = x-coordinate of Q (MC)
RA(5) = y-coordinate of Q (MC)
RA(6) = z-coordinate of Q (MC)
RA(7) = x-coordinate of R (MC)
RA(8) = y-coordinate of R (MC)
RA(9) = z-coordinate of R (MC)
SL = 0
LSTR = ()
STR = ()

CHARACTER EXPANSION FACTOR (PECHXP)

IL = 0
IA = ()
RL = 1
RA(1) = character expansion factor
SL = 0
LSTR = ()
STR = ()

CHARACTER HEIGHT (PECHH)

IL = 0
IA = ()
RL = 1
RA(1) = character height
SL = 0
LSTR = ()
STR = ()

CHARACTER SPACING (PECHSP)

IL = 0
IA = ()
RL = 1
RA(1) = character spacing
SL = 0
LSTR = ()
STR = ()

CHARACTER UP VECTOR (PECHUP)

IL = 0
IA = ()
RL = 2
RA(1) = x component of character up vector
RA(2) = y component of character up vector
SL = 0
LSTR = ()
STR = ()

CURVE APPROXIMATION CRITERIA (PECAC)†

IL = 1
IA(1) = approximation type
RL = 1
RA(1) = approximation value
SL = 0
LSTR = ()
STR = ()

DEPTH CUE INDEX (PEDCIN)†

IL = 1
IA(1) = depth cue index
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

EDGE COLOUR (PEEDC)†

IL = 2
IA(1) = colour model
IA(2) = indirect colour index (whether used or not)
RL = 3
RA(1) through RA(3) contain direct colour components (whether used or not)
SL = 0
LSTR = ()
STR = ()

EDGE COLOUR INDEX (PEEDCI)

IL = 1
IA(1) = edge colour index
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

EDGE FLAG (PEEDFG)

IL = 1
IA(1) = edge flag (POFF, PON)
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

EDGE INDEX (PEEDI)

IL = 1
IA(1) = edge index
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

EDGETYPE (PEEDT)

IL = 1
IA(1) = edge type
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

EDGEWIDTH SCALE FACTOR (PEEWSC)

IL = 0
IA = ()
RL = 1
RA(1) = edgewidth scale factor
SL = 0
LSTR = ()
STR = ()

EXECUTE STRUCTURE (PEEXST)

IL = 1
IA(1) = structure identifier
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

FACE CULLING MODE (PEFCM)†

IL = 1
IA(1) = face culling mode
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

FACE DISTINGUISHING MODE (PEFDM)†

IL = 1
IA(1) = face distinguishing mode
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

FILL AREA 3 (PEFA3)

IL = 1
IA(1) = number of points in the fill area 3
RL = 3∗IA(1)
RA = elements 1 through IA(1) contain the x components of the fill area 3
elements IA(1)+1 through 2∗IA(1) contain the y components of the fill area 3
elements 2∗IA(1)+1 through 3∗IA(1) contain the z components of the fill area 3
SL = 0
LSTR = ()
STR = ()

FILL AREA 3 WITH DATA (PEFAD3)†

IL = 8+IA(6)
IA(1) = data per facet flag
IA(2) = data per vertex flag
IA(3) = colour model
IA(4) = indirect facet colour (whether used or not)
IA(5) = number of vertices
IA(6) = number of indirect vertex colours
IA(7) = number of vertex direct colour components
IA(8) = number of vertex normal components
IA(9) through IA(8+IA(6)) contain indirect vertex colours
RL = 6+3∗IA(5)+IA(7)+IA(8)
RA(1) through RA(3) contain facet direct colour information (whether used or not)
RA(4) through RA(6) contain facet normals (whether used or not)
RA(7) through RA(6+3∗IA(5)) contain vertex coordinates in (x1,y1,z1,x2,x3,z3..) order which match
the COORDS(3,NV) format.
RA(7+3∗IA(5)) through RA(6+3∗IA(5)+IA(7)) contain direct vertex colour information in the order which
match the VCOLR(3,NV) format; for example, in PRGB mode the order will be (r1,g1,b1,r2,g2,b2...).
RA(7+3∗IA(5)+IA(7)) through RA(6+3∗IA(5)+IA(7)+IA(8)) contain vertex normals in the order which
match the VNORM(3,NV) format
SL = 0
LSTR = ()
STR = ()

FILL AREA SET (PEFAS)

IL = number of point lists in fill area set
IA() = array of end indices to point lists in fill area set
RL = 2∗IA(IL)
RA = elements 1 through IA(IL) contain the x components of the fill area set

elements IA(IL)+1 through 2∗IA(IL) contain the y components of the fill area set

The first fill area in the set is defined by the x, y coordinates from 1 to IA(1), the second fill area is defined by the points from IA(1) + 1 to IA(2), etc. 

SL = 0
LSTR = ()
STR = ()

FILL AREA SET 3 (PEFAS3)

IL = number of point lists in fill area set 3
IA() = array of end indices to point lists in fill area set 3
RL = 3∗IA(IL)
RA = elements 1 through IA(IL) contain the x components of the fill area set 3

elements IA(IL)+1 through 2∗IA(IL) contain the y components of the fill area set 3
elements 2∗IA(IL)+1 through 3∗IA(IL) contain the z components of the fill area set 3

The first fill area in the set is defined by the x, y, z coordinates from 1 to IA(1), the second fill area is defined by the points from IA(1) + 1 to IA(2), etc. 

SL = 0
LSTR = ()
STR = ()

FILL AREA SET 3 WITH DATA (PEFSD3)†

IL = 11+IA(6)+IA(8)+IA(9)
IA(1) = data per facet flag
IA(2) = data per edge flag
IA(3) = data per vertex flag
IA(4) = colour model
IA(5) = indirect facet colour (whether used or not)
IA(6) = number of fill areas
IA(7) = number of vertices
IA(8) = number of edge data
IA(9) = number of indirect vertex colours
IA(10) = number of vertex direct colour components
IA(11) = number of vertex normal components
IA(12) through IA(11+IA(6)) contain fill area end indicies
IA(12+IA(6)) through IA(11+IA(6)+IA(8)) contain edge visibility flags
IA(12+IA(6)+IA(8)) through IA(11+IA(6)+IA(8)+IA(9)) contain indirect vertex colours
RL = 6+3∗IA(7)+IA(10)+IA(11)
RA(1) through RA(3) contain facet direct colour information (whether used or not)
RA(4) through RA(6) contain facet normals (whether used or not)
RA(7) through RA(6+3∗IA(7)) contain vertex coordinates in (x1,y1,z1,x2,x3,z3..) order which
match the COORDS(3,NV) format.
RA(7+3∗IA(7)) through RA(6+3∗IA(7)+IA(10)) contain direct vertex colour information in the order
which match the VCOLR(3,NV) format; for example, in PRGB mode the order will be (r1,g1,b1,r2,g2,b2...).
RA(7+3∗IA(7)+IA(10)) through RA(6+3∗IA(7)+IA(10)+IA(11)) contain vertex normals in the order
which match the VNORM(3,NV) format
SL = 0
LSTR = ()
STR = ()

FILL_AREA (PEFA)

IL = 1
IA(1) = number of points in the fill area
RL = 2∗IA(1)
RA = elements 1 through IA(1) contain the x components of the fill area
elements IA(1)+1 through 2∗IA(1) contain the y components of the fill area
SL = 0
LSTR = ()
STR = ()

GDP (PEGDP)

IL = 2
IA(1) = number of points in the generalized drawing primitive
IA(2) = generalized drawing primitive identifier
RL = 2∗IA(1)
RA = elements 1 through IA(1) contain the x components of the GDP point list
elements IA(1)+1 through 2∗IA(1) contain the y components of the GDP point list
SL = number of 80 character data records (LDR for GDP subroutine)
LSTR(1) to LSTR(SL) = 80
STR(1) to STR(SL) = packed GDP data record (DATREC(1) to DATREC(SL) for PGDP subroutine)

GDP 3 (PEGDP3)

IL = 2
IA(1) = number of points in the generalized drawing primitive 3
IA(2) = generalized drawing primitive 3 identifier
RL = 3∗IA(1)
RA = elements 1 through IA(1) contain the x components of the GDP 3 point list
elements IA(1)+1 through 2∗IA(1) contain the y components of the GDP 3 point list
elements 2∗IA(1)+1 through 3∗IA(1) contain the z components of the GDP 3 point list
SL = number of 80 character data records (LDR for PGDP3 subroutine)
LSTR(1) to LSTR(SL) = 80
STR(1) to STR(SL) = packed GDP 3 data record (DATREC(1) to DATREC(SL) for PGDP3 subroutine)

GLOBAL MODELLING TRANSFORMATION (PEGMT)

IL = 0
IA = ()
RL = 9
RA(1) = (1,1) component of global transformation matrix
RA(2) = (2,1) component of global transformation matrix
RA(3) = (3,1) component of global transformation matrix
RA(4) = (1,2) component of global transformation matrix
RA(5) = (2,2) component of global transformation matrix
RA(6) = (3,2) component of global transformation matrix
RA(7) = (1,3) component of global transformation matrix
RA(8) = (2,3) component of global transformation matrix
RA(9) = (3,3) component of global transformation matrix
SL = 0
LSTR = ()
STR = ()

GLOBAL MODELLING TRANSFORMATION 3 (PEGMT3)

IL = 0
IA = ()
RL = 16
RA(1) = (1,1) component of global transformation matrix
RA(2) = (2,1) component of global transformation matrix
RA(3) = (3,1) component of global transformation matrix
RA(4) = (4,1) component of global transformation matrix
RA(5) = (1,2) component of global transformation matrix
RA(6) = (2,2) component of global transformation matrix
RA(7) = (3,2) component of global transformation matrix
RA(8) = (4,2) component of global transformation matrix
RA(9) = (1,3) component of global transformation matrix
RA(10) = (2,3) component of global transformation matrix
RA(11) = (3,3) component of global transformation matrix
RA(12) = (4,3) component of global transformation matrix
RA(13) = (1,4) component of global transformation matrix
RA(14) = (2,4) component of global transformation matrix
RA(15) = (3,4) component of global transformation matrix
RA(16) = (4,4) component of global transformation matrix
SL = 0
LSTR = ()
STR = ()

GSE (PEGSE)

IL = 1
IA(1) = generalized structure element identifier
RL = 0
RA = ()
SL = number of GSE
data records (LDR for PGSE subroutine)
LSTR(1) to LSTR(SL) = 80
STR(1) to STR(SL) = packed GSE data record (DATREC(1) to DATREC(SL) for PGSE subroutine)

HLHSR_IDENTIFIER (PEHRID)

IL = 1
IA(1) = HLHSR identifier
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

INDIVIDUAL ASF (PEIASF)

IL = 2
IA(1) = attribute identifier (PLN, PLWSC, PPLCI, PMK, PMKSC, PPMCI, PTXFN, PTXPR,
     PCHXP, PCHSP, PTXCI, PIS, PISI, PICI, PEDFG, PEDTY, PEWSC, PEDCI)
IA(2) = aspect source flag value (PBUNDL, PINDIV)
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

INTERIOR COLOUR (PEIC)†

IL = 2
IA(1) = colour model
IA(2) = indirect colour index (whether used or not)
RL = 3
RA(1) through RA(3) contain direct colour components (whether used or not)
SL = 0
LSTR = ()
STR = ()

INTERIOR INDEX (PEII)

IL = 1
IA(1) = interior index
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

INTERIOR REFLECTANCE EQUATION (PEIRE)†

IL = 1
IA(1) = interior reflectance equation
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

INTERIOR SHADING METHOD (PEISM)†

IL = 1
IA(1) = interior shading method
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

INTERIOR STYLE (PEIS)

IL = 1
IA(1) = interior style (PHOLLO, PSOLID, PPATTR, PHATCH, PISEMP, PGENER)
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

INTERIOR STYLE INDEX (PEISI)

IL = 1
IA(1) = interior style index
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

LABEL (PELB)

IL = 1
IA(1) = label identifier
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

LIGHT SOURCE STATE (PELSS)†

IL = 2+IA(1)+IA(2)
IA(1) = length of activation list
IA(2) = length of deactivation list
IA(3) through IA(2+IA(1)) contain light source activation list
IA(3+IA(1)) through IA(2+IA(1)+IA(2)) contain light source deactivation list
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

LINETYPE (PELN)

IL = 1
IA(1) = linetype
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

LINEWIDTH SCALE FACTOR (PELWSC)

IL = 0
IA = ()
RL = 1
RA(1) = linewidth scale factor
SL = 0
LSTR = ()
STR = ()

LOCAL MODELLING TRANSFORMATION (PELMT)

IL = 1
IA = composition type (PCPRE, PCPOST, PCREPL)
RL = 9
RA(1) = (1,1) component of local transformation matrix
RA(2) = (2,1) component of local transformation matrix
RA(3) = (3,1) component of local transformation matrix
RA(4) = (1,2) component of local transformation matrix
RA(5) = (2,2) component of local transformation matrix
RA(6) = (3,2) component of local transformation matrix
RA(7) = (1,3) component of local transformation matrix
RA(8) = (2,3) component of local transformation matrix
RA(9) = (3,3) component of local transformation matrix
SL = 0
LSTR = ()
STR = ()

LOCAL MODELLING TRANSFORMATION 3 (PELMT3)

IL = 1
IA = composition type (PCPRE, PCPOST, PCREPL)
RL = 16
RA(1) = (1,1) component of local transformation matrix
RA(2) = (2,1) component of local transformation matrix
RA(3) = (3,1) component of local transformation matrix
RA(4) = (4,1) component of local transformation matrix
RA(5) = (1,2) component of local transformation matrix
RA(6) = (2,2) component of local transformation matrix
RA(7) = (3,2) component of local transformation matrix
RA(8) = (4,2) component of local transformation matrix
RA(9) = (1,3) component of local transformation matrix
RA(10) = (2,3) component of local transformation matrix
RA(11) = (3,3) component of local transformation matrix
RA(12) = (4,3) component of local transformation matrix
RA(13) = (1,4) component of local transformation matrix
RA(14) = (2,4) component of local transformation matrix
RA(15) = (3,4) component of local transformation matrix
RA(16) = (4,4) component of local transformation matrix
SL = 0
LSTR = ()
STR = ()

MARKER COLOUR INDEX (PEPMCI)

IL = 1
IA(1) = polymarker colour index
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

MARKER SIZE SCALE FACTOR (PEMKSC)

IL = 0
IA = ()
RL = 1
RA(1) = marker size scale factor
SL = 0
LSTR = ()
STR = ()

MARKER TYPE (PEMK)

IL = 1
IA(1) = marker type
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

MODELLING CLIPPING INDICATOR (PEMCLI)

IL = 1
IA(1) = modelling clipping indicator (PNCLIP, PCLIP)
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

MODELLING CLIPPING VOLUME (PEMCV)

IL = 2
IA(1) = modelling clipping operator
IA(2) = number of modelling clipping half-spaces in list
RL = 4∗IA(2)
for i = 0 to IA(2)−1

RA((4∗i)+1) = x-coordinate of point defining plane of half-space (MC)
RA((4∗i)+2) = y-coordinate of point defining plane of half-space (MC)
RA((4∗i)+3) = dx component of normal vector defining the plane of half-space (MC)
RA((4∗i)+4) = dy component of normal vector defining the plane of half-space (MC)

MODELLING CLIPPING VOLUME 3 (PEMCV3)

IL = 2
IA(1) = modelling clipping operator
IA(2) = number of modelling clipping half-spaces in list
RL = 6∗IA(2)
for i = 0 to IA(2)−1

RA((6∗i)+1) = x-coordinate of point defining plane of half-space (MC)
RA((6∗i)+2) = y-coordinate of point defining plane of half-space (MC)
RA((6∗i)+3) = z-coordinate of point defining plane of half-space (MC)
RA((6∗i)+4) = dx component of normal vector defining the plane of half-space (MC)
RA((6∗i)+5) = dy component of normal vector defining the plane of half-space (MC)
RA((6∗i)+6) = dz component of normal vector defining the plane of half-space (MC)

NIL (PENIL)

IL = 0
IA = ()
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

NON-UNIFORM B-SPLINE CURVE (PENBSC)†

IL = 6
IA(1) = curve order
IA(2) = number of knots
IA(3) = index of first knot in the real array RA
IA(4) = rationality selector (PRAT, PNRAT)
IA(5) = number of control points
IA(6) = index of first control point in the real array RA
RL = 2 + IA(2) + 4 ∗ IA(5)
RA(1) = lower limit of parameter range
RA(2) = upper limit of parameter range
RA(IA(3)) through RA(IA(3)+IA(2)) contains the knot values
RA(IA(6)) through RA(IA(6)+IA(5)) contains the control points.
RA(IA(6)) contains the x coordinate of the first control point,
RA(IA(6)+1) contains the y coordinate of the first control point, and so on
SL = 0
LSTR = ()
STR = ()

NON-UNIFORM B-SPLINE SURFACE (PENBSS)†

The trimming curve data is stored as separate lists within the IA and RA arrays for each parameter, as is specified in the corresponding element creation function.  The indices of the first elements of these lists (embedded in the returned arrays) is returned by this function. 

IL = 21 + variable size of trimming curve data
IA(1) = surface u order
IA(2) = surface v order
IA(3) = rationality selector (PRAT, PNRAT)
IA(4) = number of u knots
IA(5) = number of v knots
IA(6) = number of control points in u dimension
IA(7) = number of control points in v dimension
IA(8) = number of trimming loops
IA(9) = index of first surface u knot in the real array RA
IA(10) = index of first surface v knot in the real array RA
IA(11) = index of first control point in the real array RA
IA(12) = starting index in IA of the list of number of trimming curves per loop
IA(13) = starting index in IA of the list of trimming curve visibilities
IA(14) = starting index in IA of the list of trimming curve orders
IA(15) = starting index in IA of the list of trimming curve rationalities
IA(16) = starting index in IA of the list of trimming curve knot counts
IA(17) = starting index in IA of the list of trimming curve knot starting indices
IA(18) = starting index in IA of the list of trimming curve control point counts
IA(19) = starting index in IA of the list of trimming curve control point starting indices
IA(20) = starting index of the list of trimming curve lower parameter limits in the real array RA
IA(21) = starting index of the list of trimming curve upper parameter limits in the real array RA
IA(22) and onward = the variable length surface and trimming curve integer data
RL = 2 + IA(4) + IA(5) + 4 ∗ IA(6) ∗ IA(7) + variable size of trimming curve data
RA(1) = lower limit of u parameter range
RA(2) = upper limit of u parameter range
RA(1) = lower limit of v parameter range
RA(2) = upper limit of v parameter range
RA(IA(9)) through RA(IA(9)+IA(4)) contains the u knot values
RA(IA(10)) through RA(IA(10)+IA(5)) contains the v knot values
RA(IA(11)) through RA(IA(11)+4 ∗ IA(6) ∗ IA(7)) contains the surface control points.
RA(IA(11)) contains the x coordinate of the first control point,
RA(IA(11)+1) contains the y coordinate of the first control point, and so on
The rest of RA contains the variable length trimming curve data.
The indices returned in the IA array must be used to access this
data.
SL = 0
LSTR = ()
STR = ()

PATTERN REFERENCE POINT (PEPARF)

IL = 0
IA = ()
RL = 2
RA(1) = x-coordinate of pattern reference point (MC)
RA(2) = y-coordinate of pattern reference point (MC)
SL = 0
LSTR = ()
STR = ()

PATTERN REFERENCE POINT AND VECTORS (PEPRPV)

IL = 0
IA = ()
RL = 9
RA(1) = x-coordinate of pattern reference point (MC)
RA(2) = y-coordinate of pattern reference point (MC)
RA(3) = z-coordinate of pattern reference point (MC)
RA(4) = x-component of pattern reference vector 1 (MC)
RA(5) = y-component of pattern reference vector 1 (MC)
RA(6) = z-component of pattern reference vector 1 (MC)
RA(7) = x-component of pattern reference vector 2 (MC)
RA(8) = y-component of pattern reference vector 2 (MC)
RA(9) = z-component of pattern reference vector 2 (MC)
SL = 0
LSTR = ()
STR = ()

PATTERN SIZE (PEPA)

IL = 0
IA = ()
RL = 2
RA(1) = x-component of pattern size (MC)
RA(2) = y-component of pattern size (MC)
SL = 0
LSTR = ()
STR = ()

PICK ID (PEPKID)

IL = 1
IA(1) = pick identifier
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

POLYHEDRON 3 WITH DATA (PEPHD3)†

IL = 15+IA(6)+IA(5)+IA(9)+IA(10)+IA(11)+IA(13)
IA(1) = data per facet flag
IA(2) = data per edge flag
IA(3) = data per vertex flag
IA(4) = colour model
IA(5) = number of facets (FILL AREA SETS)
IA(6) = number of indirect facet colours
IA(7) = number of facet colour components
IA(8) = number of facet normal components
IA(9) = dimension of end indicies per facet array
IA(10) = dimension of vertex indices per facet array
IA(11) = dimension of edge data array
IA(12) = number of vertices
IA(13) = number of indirect vertex colours
IA(14) = number of vertex direct colour components
IA(15) = number of vertex normal components
IA(16) through IA(15+IA(6)) contain indirect facet colours
IA(16+IA(6)) through IA(15+IA(6)+IA(5)) contain bounds per facet
IA(16+IA(6)+IA(5)) through IA(15+IA(6)+IA(5)+IA(9)) contain facets end indicies
IA(16+IA(6)+IA(5)+IA(9)) through IA(15+IA(6)+IA(5)+IA(9)+IA(10)) contain vertex indices per facet
IA(16+IA(6)+IA(5)+IA(9)+IA(10)) through IA(15+IA(6)+IA(5)+IA(9)+IA(10)+IA(11)) contain edge visibility flags
IA(16+IA(6)+IA(5)+IA(9)+IA(10)+IA(11)) through IA(15+IA(6)+IA(5)+IA(9)+IA(10)+IA(11)+IA(13)) contain
indirect vertex colours
RL = IA(7)+IA(8)+3∗IA(12)+IA(14)+IA(15)
RA(1) through RA(IA(7)) contain facet direct colour information
RA(1+IA(7)) through RA(IA(7)+IA(8)) contain facet normals
RA(1+IA(7)+IA(8)) through RA(IA(7)+IA(8)+3∗IA(12)) contain vertex coordinates in(x1,y1,z1,x2,x3,z3..) order
which match the COORDS(3,NV) format.
RA(1+IA(7)+IA(8)+3∗IA(12)) through RA(IA(7)+IA(8)+3∗IA(12)+IA(14)) contain direct vertex colour
information in the order which match the VCOLR(3,NV) format, for example, in PRGB mode the order
will be (r1,g1,b1,r2,g2,b2...).
RA(1+IA(7)+IA(8)+3∗IA(12)+IA(14)) through RA(IA(7)+IA(8)+3∗IA(12)+IA(14)+IA(15)) contain vertex normals
in the order which match the VNORM(3,NV) format
SL = 0
LSTR = ()
STR = ()

POLYLINE (PEPL)

IL = 1
IA(1) = number of points in the polyline
RL = 2∗IA(1)
RA = elements 1 through IA(1) contain the x components of the polyline
elements IA(1)+1 through 2∗IA(1) contain the y components of the polyline
SL = 0
LSTR = ()
STR = ()

POLYLINE 3 (PEPL3)

IL = 1
IA(1) = number of points in the polyline 3
RL = 3∗IA(1)
RA = elements 1 through IA(1) contain the x components of the polyline 3
elements IA(1)+1 through 2∗IA(1) contain the y components of the polyline 3
elements 2∗IA(1)+1 through 3∗IA(1) contain the z components of the polyline 3
SL = 0
LSTR = ()
STR = ()

POLYLINE COLOUR (PEPLC)†

IL = 2
IA(1) = colour model
IA(2) = indirect colour index (whether used or not)
RL = 3
RA(1) through RA(3) contain direct colour components (whether used or not)
SL = 0
LSTR = ()
STR = ()

POLYLINE COLOUR INDEX (PEPLCI)

IL = 1
IA(1) = polyline colour index
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

POLYLINE INDEX (PEPLI)

IL = 1
IA(1) = polyline index
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

POLYLINE SET 3 WITH DATA (PEPSD3)†

IL = 6+IA(3)+IA(5)
IA(1) = data per vertex flag
IA(2) = colour model
IA(3) = number of point lists (polylines)
IA(4) = number of vertices
IA(5) = number of indirect vertex colours
IA(6) = number of vertex direct colour components
IA(7) through IA(6+IA(3)) contain the end indices for point lists
IA(7+IA(3)) through IA(6+IA(3)+IA(5)) contain indirect vertex colour for each point
RL = 3∗IA(4)+IA(6)
RA(1) through RA(3∗IA(4)) contain vertex coordinates in (x1,y1,z1,x2,x3,z3..) order which match
the COORDS(3,NV) format.
RA(1+3∗IA(4)) through RA(3∗IA(4)+IA(6)) contain direct vertex colour information in the
order which match the VCOLR(3,NV) format; for example, in PRGB mode the order
will be (r1,g1,b1,r2,g2,b2...).
SL = 0
LSTR = ()
STR = ()

POLYLINE SHADING METHOD (PEPLSM)†

IL = 1
IA(1) = polyline shading method
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

POLYMARKER (PEPM)

IL = 1
IA(1) = number of points in the polymarker
RL = 2∗IA(1)
RA = elements 1 through IA(1) contain the x components of the polymarker
elements IA(1)+1 through 2∗IA(1) contain the y components of the polymarker
SL = 0
LSTR = ()
STR = ()

POLYMARKER 3 (PEPM3)

IL = 1
IA(1) = number of points in the polymarker 3
RL = 3∗IA(1)
RA = elements 1 through IA(1) contain the x components of the polymarker 3
elements IA(1)+1 through 2∗IA(1) contain the y components of the polymarker 3
elements 2∗IA(1)+1 through 3∗IA(1) contain the z components of the polymarker 3
SL = 0
LSTR = ()
STR = ()

POLYMARKER COLOUR (PEPMC)†

IL = 2
IA(1) = colour model
IA(2) = indirect colour index (whether used or not)
RL = 3
RA(1) through RA(3) contain direct colour components (whether used or not)
SL = 0
LSTR = ()
STR = ()

POLYMARKER INDEX (PEPMI)

IL = 1
IA(1) = polymarker index
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

QUADRILATERAL MESH 3 WITH DATA (PEQMD3)†

IL = 11+IA(6)+IA(7)
IA(1) = data per facet flag
IA(2) = data per vertex flag
IA(3) = colour model
IA(4) = number of vertices along y axis
IA(5) = number of vertices along x axis
IA(6) = number of indirect facet colours
IA(7) = number of indirect vertex colours
IA(8) = number of facet direct colour components
IA(9) = number of facet normal components
IA(10) = number of vertex direct colour components
IA(11) = number of vertex normal components
IA(12) through IA(11+IA(6)) contain indirect facet colours
IA(12+IA(6)) through IA(11+IA(6)+IA(7)) contain indirect vertex colours
RL = IA(8)+IA(9)+3∗IA(4)∗IA(5)+IA(10)+IA(11)
RA(1) through RA(IA(8)) contain facet direct colour information in the order which match the FCOLR(3,∗) format.
RA(1+IA(8)) through RA(IA(8)+IA(9)) contain facet normals in the order which match the FNORM(3,∗) format.
RA(1+IA(8)+IA(9)) through RA(IA(8)+IA(9)+3∗IA(4)∗IA(5)) contain vertex coordinates in
(x1,y1,z1,x2,x3,z3..) order which match the COORDS(3,VROWS∗VCOLS) format.
RA(1+IA(8)+IA(9)+3∗IA(4)∗IA(5)) through RA(IA(8)+IA(9)+3∗IA(4)∗IA(5)+IA(10)) contain direct
vertex colour information in the order which match the VCOLR(3,VROWS∗VCOLS) format;
for example, in PRGB mode the order will be (r1,g1,b1,r2,g2,b2...).
RA(1+IA(8)+IA(9)+3∗IA(4)∗IA(5)+IA(10)) through RA(IA(8)+IA(9)+3∗IA(4)∗IA(5)+IA(10)+IA(11))
contain vertex normals in the order which match the VNORM(3,VROWS∗VCOLS) format.
SL = 0
LSTR = ()
STR = ()

REMOVE NAMES FROM SET (PERES)

IL = number of names in the set
IA = array of name set elements
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

RESTORE MODELLING CLIPPING VOLUME (PERMCL)

IL = 0
IA = ()
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

SURFACE APPROXIMATION CRITERIA (PESAC)†

IL = 1
IA(1) = approximation type
RL = 2
RA(1) = u approximation value
RA(2) = v approximation value
SL = 0
LSTR = ()
STR = ()

TEXT (PETX)

IL = 0
IA = ()
RL = 2
RA(1) = x-coordinate of text point (MC)
RA(2) = y-coordinate of text point (MC)
SL = 1
LSTR(1) = length of string
STR(1) = string

TEXT 3 (PETX3)

IL = 0
IA = ()
RL = 9
RA(1) = x-coordinate of text point (MC)
RA(2) = y-coordinate of text point (MC)
RA(3) = z-coordinate of text point (MC)
RA(4) = x-coordinate of first text direction vector (MC)
RA(5) = y-coordinate of first text direction vector (MC)
RA(6) = z-coordinate of first text direction vector (MC)
RA(7) = x-coordinate of second text direction vector (MC)
RA(8) = y-coordinate of second text direction vector (MC)
RA(9) = z-coordinate of second text direction vector (MC)
SL = 1
LSTR(1) = length of string
STR(1) = string

TEXT ALIGNMENT (PETXAL)

IL = 2
IA(1) = horizontal text alignment (PAHNOR, PALEFT, PACENT, PARITE)
IA(2) = vertical text alignment (PAVNOR, PATOP, PACAP, PAHALF, PABASE, PABOTT)
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

TEXT COLOUR (PETXC)†

IL = 2
IA(1) = colour model
IA(2) = indirect colour index (whether used or not)
RL = 3
RA(1) through RA(3) contain direct colour components (whether used or not)
SL = 0
LSTR = ()
STR = ()

TEXT COLOUR INDEX (PETXCI)

IL = 1
IA(1) = text colour index
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

TEXT FONT (PETXFN)

IL = 1
IA(1) = text font
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

TEXT INDEX (PETXI)

IL = 1
IA(1) = text index
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

TEXT PATH (PETXP)

IL = 1
IA(1) = text path (PRIGHT, PLEFT, PUP, PDOWN)
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

TEXT PRECISION (PETXPR)

IL = 1
IA(1) = text precision (STRP, PCHARP, STRKP)
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

TRIANGLE STRIP 3 WITH DATA (PETRSD)†

IL = 10+IA(5)+IA(6)
IA(1) = data per facet flag
IA(2) = data per vertex flag
IA(3) = colour model
IA(4) = number of vertices
IA(5) = number of indirect facet colours
IA(6) = number of indirect vertex colours
IA(7) = number of facet direct colour components
IA(8) = number of facet normal components
IA(9) = number of vertex direct colour components
IA(10) = number of vertex normal components
IA(11) through IA(10+IA(5)) contain indirect facet colours
IA(11+IA(5)) through IA(10+IA(5)+IA(6)) contain indirect vertex colours
RL = IA(7)+IA(8)+3∗IA(4)+IA(9)+IA(10)
RA(1) through RA(IA(7)) contain facet direct colour information in the order which match the
FCOLR(3,NV-2) format.
RA(1+IA(7)) through RA(IA(7)+IA(8)) contain facet normals in the order which match the
FNORM(3,NV-2) format.
RA(1+IA(7)+IA(8)) through RA(IA(7)+IA(8)+3∗IA(4)) contain vertex coordinates in
(x1,y1,z1,x2,x3,z3..) order which match the COORDS(3,NV) format.
RA(1+IA(7)+IA(8)+3∗IA(4)) through RA(IA(7)+IA(8)+3∗IA(4)+IA(9)) contain direct vertex colour
information in the order which match the VCOLR(3,NV) format; for example,
in PRGB mode the order will be (r1,g1,b1,r2,g2,b2...).
RA(1+IA(7)+IA(8)+3∗IA(4)+IA(9)) through RA(IA(7)+IA(8)+3∗IA(4)+IA(9)+IA(10)) contain
vertex normals in the order which match the VNORM(3,NV) format
SL = 0
LSTR = ()
STR = ()

TRIMMING CURVE APPROXIMATION CRITERIA (PETCAC)†

IL = 1
IA(1) = approximation type
RL = 1
RA(1) = approximation value
SL = 0
LSTR = ()
STR = ()

VIEW INDEX (PEVWI)

IL = 1
IA(1) = view index
RL = 0
RA = ()
SL = 0
LSTR = ()
STR = ()

†This is a SunPHIGS Extension which is based on PHIGS+ and is not a part of the PHIGS standard.

ERRORS

002Ignoring function, function requires state (PHOP, ∗, ∗, ∗)

201Ignoring function, the specified structure does not exist

202Ignoring function, the specified element does not exist

SEE ALSO

UNPACK DATA RECORD (3P)
INQUIRE ELEMENT TYPE AND SIZE (3P)
INQUIRE CURRENT ELEMENT CONTENT (3P)

Sun Release 4.0  —  Last change: 12 July 1989

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