Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

INQUIRE CURRENT ELEMENT CONTENT(3P)  —  Kubota Pacfic Computer Inc. (15 August 1991)

NAME

INQUIRE CURRENT ELEMENT CONTENT − inquire the contents of the current element

SYNOPSIS

C Syntax

void
pinq_cur_elem_content (store, error_ind, data )
Pstorestore;handle to Store object
Pint∗error_ind;OUT error indicator
Pelem_data∗∗data;OUT data record

Required PHIGS Operating States

(PHOP, ∗, STOP, ∗)

DESCRIPTION

Purpose

INQUIRE CURRENT ELEMENT CONTENT returns the contents of the current element. 

C Input Parameter

Applications using the C binding must create a buffer to be used by this function as memory space for storing data associated with the device state.  This buffer is passed as the store argument. 

The store buffer is a data area managed by PHIGS. While the application is responsible for creating the inital buffer through a call to CREATE STORE, PHIGS manages this area such that there is sufficient memory for the specific inquiry. The data record within the store buffer is accessed by the pointer pointed to by data. 

storeThe memory buffer PHIGS is to use for storing the information returned.  This buffer must exist prior to calling this function (see CREATE STORE (3P)). 

C Output Parameters

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

dataA pointer to a Pelem_data union, in which the contents of the current element will be returned, as appropriate for the element type.  Pelem_data is defined in phigs.h as follows:

typedef union {
Pintint_data;/∗ integer valued data ∗/
Pfloatfloat_data;/∗ float valued data ∗/
Ppoint_list3point_list3;/∗ list of 3d points ∗/
Ppoint_listpoint_list;/∗ list of 2d points ∗/
Ppoint_list_list3   point_list_list3;       /∗ list of 3d point lists ∗/
Ppoint_list_list    point_list_list;        /∗ list of 2d point lists ∗/
struct {
Ppoint3pos;/∗ text pt ∗/
Pvec3   dir[2];/∗ direction vectors ∗/
char∗char_string;/∗ text string ∗/
} text3;
struct {
Ppointpos;/∗ text pt ∗/
char∗char_string;/∗ text string ∗/
} text;
struct {
Ppoint3ref_point;/∗ reference pt ∗/
Pvec3offset;/∗ anno. pt/offset ∗/
char∗char_string;/∗ text string ∗/
} anno_text_rel3;
struct {
Ppointref_point;/∗ reference pt ∗/
Pvecoffset;/∗ anno. pt/offset ∗/
char∗char_string;/∗ text string ∗/
} anno_text_rel;
struct {
Pparalparal;/∗ parallelogram ∗/
                Ppat_rep        colr_array;     /∗ colour array ∗/
} cell_array3;
struct {
Prectrect;/∗ rectangle ∗/
                Ppat_rep        colr_array;     /∗ colour array ∗/
} cell_array;
struct {
Pintid;/∗ GDP3 id ∗/
Ppoint_list3point_list;/∗ pts ∗/
Pgdp_data3data;/∗ data record ∗/
} gdp3;
struct {
Pintid;/∗ GDP id ∗/
Ppoint_listpoint_list;/∗ pts ∗/
Pgdp_datadata;/∗ data record ∗/
} gdp;
Ptext_prectext_prec;/∗ text precision ∗/
Pvecchar_up_vec;/∗ char up vector ∗/
Ptext_pathtext_path;/∗ text path ∗/
Ptext_aligntext_align;/∗ text alignment ∗/
Pint_styleint_style;/∗ interior style ∗/
Pedge_flagedge_flag;/∗ edge flag ∗/
Ppointpat_ref_point;/∗ pat ref pt ∗/
Pfloat_sizepat_size;/∗ pattern size ∗/
struct {
Ppoint3ref_point;/∗ pattern ref. pt ∗/
Pvec3ref_vec[2];/∗ vectors ∗/
} pat_ref_point_vecs;
Pint_listnames;   /∗ name sets ∗/
struct {
Paspectid;/∗ attribute id ∗/
Pasfsource;/∗ asf ∗/
} asf;
struct {
Pcompose_typecompose_type;/∗ composition type ∗/
Pmatrix3matrix;/∗ matrix ∗/
} local_tran3;
struct {
Pcompose_typecompose_type;/∗ composition type ∗/
Pmatrix        matrix;/∗ matrix ∗/
} local_tran;
Pmatrix3global_tran3;/∗ global transform3 ∗/
Pmatrixglobal_tran; /∗ global transform ∗/
struct {
Pint op;/∗ operator ∗/
Phalf_space_list3half_spaces; /∗ half-space list ∗/
} model_clip3;
struct {
Pintop;/∗ operator ∗/
Phalf_space_listhalf_spaces; /∗ half-space list ∗/
} model_clip;
Pclip_indclip_ind;/∗ clipping indicator ∗/
Pdataappl_data;/∗ application data ∗/
struct {
Pintid;/∗ GSE id ∗/
Pgse_datadata;/∗ GSE data record ∗/
} gse;
struct {
Pintorder;
Pfloat_listknots;
Prationalrationality;
Ppoint_list34cpts;
Pfloatmin;
Pfloatmax;
} nurb_curve;/∗ NURBS curve ∗/
struct {
Pinttype;
Pfloatvalue;
} curv_approx;/∗ curve approximation criteria ∗/
struct {
Pintu_order;
Pintv_order;
Prationalrationality;
Pfloat_listuknots;
Pfloat_listvknots;
Ppoint_grid34grid;
Pintnum_trim_loops;
Ptrimcurve_list∗trim_loops;
} nurb_surf;/∗ NURBS surface ∗/
struct {
Pinttype;
Pfloatu_val;
Pfloatv_val;
} surf_approx;/∗ surface approximation criteria ∗/
struct {
Pintvflag;
Pintcolr_model;
Pintnpl;
Pline_vdata_list3∗vdata;
} plsd3;
struct {
Pintfflag;
Pinteflag;
Pintvflag;
Pintcolr_model;
Pfacet_data3fdata;
Pintnfa;
Pedge_data_list∗edata;
Pfacet_vdata_list3∗vdata;
} fasd3;/∗ fill area set with data ∗/
struct {
Pintfflag;
Pintvflag;
Pintcolr_model;
Pintnv;
Pfacet_data_arr3fdata;
Pfacet_vdata_arr3vdata;
} tsd3;/∗ triangle strip with data ∗/
struct {
Pintfflag;
Pintvflag;
Pintcolr_model;
Pint_sizedim;
Pfacet_data_arr3fdata;
Pfacet_vdata_arr3vdata;
} qmd3;/∗ quad mesh ∗/
struct {
Pintfflag;
Pinteflag;
Pintvflag;
Pintcolr_model;
Pintnum_sets;
Pfacet_data_arr3fdata;
Pedge_data_list_list∗edata;
Pint_list_list∗vlist;
Pfacet_vdata_list3vdata;
} sofas3;/∗ set of fill area set ∗/
struct {
Pparalparal;/∗ parallelogram ∗/
Ppat_rep_plus   colr_array;     /∗ colour array ∗/
} cell_array_plus;
Pgcolrcolr;
Prefl_propsprops;/∗surface relectance properties ∗/
struct {
Pint_listactivation;
Pint_listdeactivation;
} lss;/∗ light source state ∗/
Pcull_modecull_mode;/∗ culling mode ∗/
Pdisting_modedisting_mode;/∗ distinguishing mode ∗/
struct {
Pinttype;
Ppara_surf_characsdata;
} para_surf_charac;/∗ parametric surface characteristics ∗/
} Pelem_data;

Execution

INQUIRE CURRENT ELEMENT CONTENT is the second function called in a two function, or step, process.  First INQUIRE CURRENT ELEMENT TYPE AND SIZE must be called to determine the type of element to return for the INQUIRE CURRENT ELEMENT CONTENT request.  Depending on the element type, the corresponding structure in the Pelem_data union is returned, as described below. 

ADD NAMES TO SET (PEL_ADD_NAMES_TO_SET)
A Pint_list structure provided in Pelem_data as:

Pint_listnames/∗ name sets ∗/
where
typedef struct {
Pintnum_ints;/∗ number of Pints in list ∗/
Pint∗ints;/∗ list of integers ∗/
} Pint_list;

ALL (PELEM_ALL)
No data involved

ANNOTATION STYLE (PELEM_ANNO_STYLE)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/

ANNOTATION TEXT ALIGNMENT (PELEM_ANNO_ALIGN)
A Ptext_align structure provided in Pelem_data as:

Ptext_aligntext_align;/∗ text alignment ∗/
where
typedef struct {
Phor_text_alignhor; /∗ horizontal component ∗/
Pvert_text_alignvert; /∗ vertical component ∗/
} Ptext_align;

ANNOTATION TEXT CHARACTER HEIGHT (PELEM_ANNO_CHAR_HT)
A Pfloat floating point data provided in Pelem_data as:

Pfloatfloat_data;/∗ float valued data ∗/

ANNOTATION TEXT CHARACTER UP VECTOR
(PELEM_ANNO_CHAR_UP_VEC)

A Pvec structure provided in Pelem_data as:

Pvecchar_up_vec;/∗ char up vector ∗/
where
typedef struct {
Pfloatdelta_x;/∗ x magnitude ∗/
Pfloatdelta_y;/∗ y magnitude ∗/
} Pvec;

ANNOTATION TEXT PATH (PELEM_ANNO_PATH)
A Ptext_path data structure provided in Pelem_data as:

Ptext_pathtext_path;/∗ text path ∗/
where
typedef enum {
PPATH_RIGHT,
PPATH_LEFT,
PPATH_UP,
PPATH_DOWN
} Ptext_path;

ANNOTATION TEXT RELATIVE (PELEM_ANNO_TEXT_REL)
An anno_text_rel structure defined in Pelem_data as:

struct {
Ppointref_point;/∗ reference pt ∗/
Pvecoffset;/∗ annotation offset ∗/
char∗char_string;/∗ annotation text string ∗/
} anno_text_rel;

ANNOTATION TEXT RELATIVE 3 (PELEM_ANNO_TEXT_REL3)
An anno_text_rel3 structure defined in Pelem_data as:

struct {
Ppoint3ref_point;/∗ reference pt ∗/
Pvec3offset;/∗ annotation offset ∗/
char∗char_string;/∗ annotation text string ∗/
} anno_text_rel3;

APPLICATION DATA (PELEM_APPL_DATA)
A Pdata structure provided in Pelem_data as:

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

AREA PROPERTIES (PELEM_REFL_PROPS)
A Prefl_props structure provided in Pelem_data as:

Prefl_propsproperties;/∗ area properties ∗/
where
typedef struct {
Pfloatambient_coef;/∗ ambient reflectance coefficient ∗/
Pfloatdiffuse_coef;/∗ diffuse reflectance coefficient ∗/
Pfloatspecular_coef;/∗ specular reflectance coefficient ∗/
Pgcolrspecular_colr;/∗ specular colour ∗/
Pfloatspecular_exp;/∗ specular exponent ∗/
Pfloattranspar_coef;/∗ transparency coefficient ∗/
} Prefl_props;

BACK AREA PROPERTIES (PELEM_BACK_REFL_PROPS)
A Prefl_props structure provided in Pelem_data as:

Prefl_propsproperties;/∗ area properties ∗/
where
typedef struct {
Pfloatambient_coef;/∗ ambient reflectance coefficient ∗/
Pfloatdiffuse_coef;/∗ diffuse reflectance coefficient ∗/
Pfloatspecular_coef;/∗ specular reflectance coefficient ∗/
Pgcolrspecular_colr;/∗ specular colour ∗/
Pfloatspecular_exp;/∗ specular exponent ∗/
Pfloattranspar_coef;/∗ transparency coefficient ∗/
} Prefl_props;

BACK INTERIOR COLOUR (PELEM_BACK_INT_COLR)
A Pgcolr structure provided in Pelem_data as:

Pgcolrcolr;/∗ extended colour model ∗/
where
typedef struct {
Pinttype;/∗ indirect, RGB, CIE, HSV, HLS ∗/
union {
Pintind;/∗ 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 (PELEM_BACK_INT_REFL_EQN)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/
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 (PELEM_BACK_INT_SHAD_METH)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/
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 (PELEM_BACK_INT_STYLE)
An Pint_style structure provided in Pelem_data as:

Pint_styleint_style;/∗ back interior style ∗/
where
typedef enum {
PSTYLE_HOLLOW,
PSTYLE_SOLID,
PSTYLE_PAT,
PSTYLE_HATCH,
PSTYLE_EMPTY
} Pint_style;

BACK INTERIOR STYLE INDEX (PELEM_BACK_INT_STYLE_IND)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/

CELL ARRAY (PELEM_CELL_ARRAY)
A cell_array structure defined in Pelem_data as:

struct {
Prectrect;/∗ rectangle ∗/
Pint_sizedim;/∗ dimension ∗/
Pint∗colr;/∗ colour array ∗/
} cell_array;

CELL ARRAY 3 (PELEM_CELL_ARRAY3)
A cell_array3 structure defined in Pelem_data as:

struct {
Pparalparal;/∗ parallelogram ∗/
Pint_sizedim;/∗ dimension ∗/
Pint∗colr;/∗ colour array ∗/
} cell_array3;

CHARACTER EXPANSION FACTOR (PELEM_CHAR_EXPAN)
A floating point provided in Pelem_data as:

Pfloatfloat_data;/∗ float valued data ∗/

CHARACTER HEIGHT (PELEM_CHAR_HT)
A floating point provided in Pelem_data as:

Pfloatfloat_data;/∗ float valued data ∗/

CHARACTER SPACING (PELEM_CHAR_SPACE)
A float_data floating point data provided in Pelem_data as:

Pfloatfloat_data;/∗ float valued data ∗/

CHARACTER UP VECTOR (PELEM_CHAR_UP_VEC)
A Pvec structure provided in Pelem_data as:

Pvecchar_up_vec;/∗ char up vector ∗/
where
typedef struct {
Pfloatdelta_x;/∗ x magnitude ∗/
Pfloatdelta_y;/∗ y magnitude ∗/
} Pvec;

COLOUR MAPPING INDEX (PEX_COLR_MAPPING_IND)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/

CURVE APPROXIMATION CRITERIA (PELEM_CURVE_APPROX_CRIT)
A curv_approx structure defined in Pelem_data as:

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

DEPTH CUE INDEX (PELEM_DCUE_IND)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/

EDGE COLOUR (PELEM_EDGE_COLR)
A Pgcolr structure provided in Pelem_data as:

Pgcolrcolr;/∗ extended colour model ∗/
where
typedef struct {
Pinttype;/∗ indirect, RGB, CIE, HSV, HLS ∗/
union {
Pintind;/∗ 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 (PELEM_EDGE_COLR_IND)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/

EDGE FLAG (PELEM_EDGE_FLAG)
A Pedge_flag data structure provided in Pelem_data as:

Pedge_flagedge_flag;/∗ edge flag ∗/
where
typedef enum {
PEDGE_OFF,
PEDGE_ON
} Pedge_flag;

EDGE INDEX (PELEM_EDGE_IND)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/

EDGETYPE (PELEM_EDGETYPE)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/
The predefined line type values are:
1PLINE_SOLID
2PLINE_DASH
3PLINE_DOT
4PLINE_DOT_DASH

EDGEWIDTH SCALE FACTOR (PELEM_EDGEWIDTH)
A floating point provided in Pelem_data as:

Pfloatfloat_data;/∗ float valued data ∗/

EXECUTE STRUCTURE (PELEM_EXEC_STRUCT)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/

CELL ARRAY 3 PLUS (PELEM_CELL_ARRAY3_PLUS)
An cell_array_plus structure provided in Pelem_data as:

struct {
Pparalparal;/∗ parallelogram ∗/
Pint_sizedim;/∗ dimension ∗/
Pintcolr_model;/∗ colour model ∗/
Pcoval∗colr;/∗ colour array ∗/
} cell_array_plus;

FACE CULLING MODE (PELEM_FACE_CULL_MODE)
An Pcull_mode data structure provided in Pelem_data as:

Pcull_modecull_mode;/∗ culling mode ∗/
where
typedef enum {
PCULL_NONE,
PCULL_BACKFACE,
PCULL_FRONTFACE
} Pcull_mode;

FACE DISTINGUISHING MODE (PELEM_FACE_DISTING_MODE)
An Pdisting_mode data structure provided in Pelem_data as:

Pdisting_modedisting_mode; /∗ distinguishing mode ∗/
where
typedef enum {
PDISTING_NO,
PDISTING_YES
} Pdisting_mode;

FILL AREA (PELEM_FILL_AREA)
A Ppoint_list structure provided in Pelem_data as:

Ppoint_listpoint_list;/∗ list of 2d points ∗/
where
typedef struct {
Pintnum_points;/∗ number of Ppoints in the list ∗/
Ppoint∗points;/∗ list of points ∗/
} Ppoint_list;

FILL AREA SET (PELEM_FILL_AREA_SET)
A fill_area_set structure defined in Pelem_data as:

struct {
Pintnum_point_lists; /∗ number of sets ∗/
Ppoint_list∗point_lists;/∗ list of sets ∗/
} fill_area_set;

FILL AREA SET 3 (PELEM_FILL_AREA_SET3)
A fill_area_set3 structure defined in Pelem_data as:

struct {
Pintnum_point_lists; /∗ number of sets ∗/
Ppoint_list3∗point_lists;/∗ list of sets ∗/
} fill_area_set3;

FILL AREA SET 3 WITH DATA (PELEM_FILL_AREA_SET3_DATA)
A fasd3 structure defined in Pelem_data as:

struct {
Pintfflag;/∗ data specified per facet ∗/
Pinteflag;/∗ edge visibility status ∗/
Pintvflag;/∗ data per vertex flag ∗/
Pintcolr_model;/∗ colour type ∗/
Pfacet_data3fdata;/∗ facet data ∗/
Pintnfa;/∗ number of fill areas in the set ∗/
Pedge_data_list∗edata;/∗ edge data ∗/
Pfacet_vdata_arr3∗vdata;/∗ vertex data ∗/
} fasd3;

FILL AREA 3 (PELEM_FILL_AREA3)
A Ppoint_list3 structure provided in Pelem_data as:

Ppoint_list3point_list3;/∗ list of 3d points ∗/
where
typedef struct {
Pintnum_points;/∗ number of Ppoint3s in the list∗/
Ppoint3∗points;/∗ list of points ∗/
} Ppoint_list3;

GDP (PELEM_GDP)
A gdp structure defined in Pelem_data as:

struct {
Pintid;/∗ GDP id ∗/
Ppoint_listpoint_list;/∗ pts ∗/
Pgdp_datadata;/∗ data record ∗/
} gdp;

GDP 3 (PELEM_GDP3)
A gdp3 structure defined in Pelem_data as:

struct {
Pintid;/∗ GDP3 id ∗/
Ppoint_list3point_list;/∗ pts ∗/
Pgdp_data3data;/∗ data record ∗/
} gdp3;

GLOBAL MODELLING TRANSFORMATION (PELEM_GLOBAL_MODEL_TRAN)
A Pmatrix structure provided in Pelem_data as:

Pmatrixglobal_tran;/∗ global transform ∗/
where
typedefPfloat Pmatrix[3][3];

GLOBAL MODELLING TRANSFORMATION 3 (PELEM_GLOBAL_MODEL_TRAN3)
A Pmatrix3 structure provided in Pelem_data as:

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

GSE (PELEM_GSE)
A gse structure defined in Pelem_data as:

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

HLHSR IDENTIFIER (PELEM_HLHSR_ID)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/

INDIVIDUAL ASF (PELEM_INDIV_ASF)
An asf structure defined in Pelem_data as:

struct {
Paspectid;/∗ attribute id ∗/
Pasfsource;/∗ asf ∗/
} asf;
where
typedef enum {
    PASPECT_LINETYPE,
    PASPECT_LINEWIDTH,
    PASPECT_LINE_COLR_IND,
    PASPECT_MARKER_TYPE,
    PASPECT_MARKER_SIZE,
    PASPECT_MARKER_COLR_IND,
    PASPECT_TEXT_FONT,
    PASPECT_TEXT_PREC,
    PASPECT_CHAR_EXPAN,
    PASPECT_CHAR_SPACE,
    PASPECT_TEXT_COLR_IND,
    PASPECT_INT_STYLE,
    PASPECT_INT_STYLE_IND,
    PASPECT_INT_COLR_IND,
    PASPECT_EDGE_FLAG,
    PASPECT_EDGETYPE,
    PASPECT_EDGEWIDTH,
    PASPECT_EDGE_COLR_IND,
    PASPECT_CURVE_APPROX_CRIT,
    PASPECT_SURF_APPROX_CRIT,
    PASPECT_LINE_SHAD_METH,
    PASPECT_REFL_PROPS,
    PASPECT_INT_REFL_EQN,
    PASPECT_INT_SHAD_METH,
    PASPECT_BACK_INT_STYLE,
    PASPECT_BACK_INT_STYLE_IND,
    PASPECT_BACK_INT_COLR,
    PASPECT_BACK_REFL_PROPS,
    PASPECT_BACK_INT_REFL_EQN,
    PASPECT_BACK_INT_SHAD_METH
} Paspect;
and
typedef enum {
    PASF_BUNDLED,
    PASF_INDIV
} Pasf;

INTERIOR COLOUR (PELEM_INT_COLR)
A Pgcolr structure provided in Pelem_data as:

Pgcolrcolur;/∗ extended colour model ∗/
where
typedef struct {
Pinttype;/∗ indirect, RGB, CIE, HSV, HLS ∗/
union {
Pintind;/∗ 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 (PELEM_INT_COLR_IND)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/

INTERIOR INDEX (PELEM_INT_IND)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/

INTERIOR REFLECTANCE EQUATION (PELEM_INT_REFL_EQN)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/
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 (PELEM_INT_SHAD_METH)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/
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 (PELEM_INT_STYLE)
An Pint_style data structure provided in Pelem_data as:

Pint_styleint_style;/∗ interior style ∗/
where
typedef enum {
PSTYLE_HOLLOW,
PSTYLE_SOLID,
PSTYLE_PAT,
PSTYLE_HATCH,
PSTYLE_EMPTY,
} Pint_style;

INTERIOR STYLE INDEX (PELEM_INT_STYLE_IND)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/

LABEL (PELEM_LABEL)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/

LIGHT SOURCE STATE (PELEM_LIGHT_SRC_STATE)
An lss structure defined in Pelem_data as:

struct {
Pint_listactivation;/∗ activation list ∗/
Pint_listdeactivation;/∗ deactivation list ∗/
} lss;

LINETYPE (PELEM_LINETYPE)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/
The predefined line type values are:
1PLINE_SOLID
2PLINE_DASH
3PLINE_DOT
4PLINE_DOT_DASH

LINEWIDTH SCALE FACTOR (PELEM_LINEWIDTH)
A floating point provided in Pelem_data as:

Pfloatfloat_data;/∗ float valued data ∗/

LOCAL MODELLING TRANSFORMATION (PELEM_LOCAL_MODEL_TRAN)
A local_tran structure defined in Pelem_data as:

struct {
Pcompose_typecomp; /∗ composition type ∗/
Pmatrixtran;/∗ matrix ∗/
} local_tran;
where
typedef enum {
PTYPE_PRECONCAT,
PTYPE_POSTCONCAT,
PTYPE_REPLACE
} Pcompose_type;

LOCAL MODELLING TRANSFORMATION 3 (PELEM_LOCAL_MODEL_TRAN3)
A local_tran3 structure defined in Pelem_data as:

struct {
Pcompose_typecomp; /∗ composition type ∗/
Pmatrix3tran;/∗ matrix ∗/
} local_tran3;
where
typedef enum {
    PTYPE_PRECONCAT,
    PTYPE_POSTCONCAT,
    PTYPE_REPLACE
} Pcompose_type;

MARKER COLOUR INDEX (PELEM_MARKER_COLR_IND)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/

MARKER SIZE SCALE FACTOR (PELEM_MARKER_SIZE)
A floating point provided in Pelem_data as:

Pfloatfloat_data;/∗ float valued data ∗/

MARKER TYPE (PELEM_MARKER_TYPE)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/
The predefined marker type values are:
1PMARKER_DOT
2PMARKER_PLUS
3PMARKER_ASTERISK
4PMARKER_CIRCLE
5PMARKER_CROSS

MODELLING CLIPPING INDICATOR (PELEM_MODEL_CLIP_IND)
A Pclip_ind structure provided in Pelem_data as:

Pclip_indclip_ind;/∗ clipping indicator ∗/
where
typedef enum {
PIND_NO_CLIP,
PIND_CLIP
} Pclip_ind;

MODELLING CLIPPING VOLUME (PELEM_MODEL_CLIP_VOL)
A model_clip structure defined in Pelem_data as:

struct {
Pintop;/∗ operator ∗/
Phalf_space_listhalf_spaces;/∗ half-space list ∗/
} model_clip;

MODELLING CLIPPING VOLUME 3 (PELEM_MODEL_CLIP_VOL3)
A model_clip3 structure defined in Pelem_data as:

struct {
Pintop;/∗ operator ∗/
Phalf_space_list3half_spaces;/∗ half-space list ∗/
} model_clip3;

NIL (PELEM_NIL)
No data involved

NON-UNIFORM B-SPLINE CURVE (PELEM_NUNI_BSP_CURVE)
A nurb_curve structure defined in Pelem_data as:

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

NON-UNIFORM B-SPLINE SURFACE (PELEM_NUNI_BSP_SURF)
A nurb_surf structure defined in Pelem_data as:

struct {
Pintu_order;/∗ order of u surface ∗/
Pintv_order;/∗ order of v surface ∗/
Prationalrationality;/∗ rationality specifier ∗/
Pfloat_listuknots;/∗ knots in u dimension ∗/
Pfloat_listvknots;/∗ knots in v dimension ∗/
Ppoint_grid34grid; /∗ grid of control points ∗/
Pintnum_trim_loops; /∗ number of trim curve loops ∗/
Ptrimcurve_list∗trim_loops; /∗ trim curve loops ∗/
} nurb_surf;

NUM_EL_TYPES (PELEM_NUM_EL_TYPES)
No data involved

PARAMETRIC SURFACE CHARACTERISTICS (PEL_PARA_SURF_CHARACTERISITICS)
A para_surf_characs structure provided in Pelem_data as:

struct {
Pinttype;
Ppara_surf_characs data;
} para_surf_characs;/∗ parametric surface characteristics ∗/

where

typedef union {
struct {
Pintunused;
} psc_1;
struct {
Pintunused;
} psc_2;
struct {
Pcurve_placement placement;
Pintu_count;
Pintv_count;
} psc_3;
struct {
Ppoint3origin;
Pvec3direction;
Pfloat_listparams;
} psc_4;
struct {
Ppoint3origin;
Pvec3direction;
Pfloat_listparams;
} psc_5;
} Ppara_surf_characs;

PATTERN REFERENCE POINT (PELEM_PAT_REF_POINT)
A Ppoint structure provided in Pelem_data as:

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

PATTERN REFERENCE POINT AND VECTORS (PELEM_PAT_REF_POINT_VECS)
A pat_ref_point_vecs structure defined in Pelem_data as:

struct {
Ppoint3ref_point;/∗ pattern ref. pt ∗/
Pvec3ref_vec[2];/∗ vectors ∗/
} pat_ref_point_vecs;

PATTERN SIZE (PELEM_PAT_SIZE)
A Ppoint structure provided in Pelem_data as:

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

PICK ID (PELEM_PICK_ID)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/

POLYLINE (PELEM_POLYLINE)
A Ppoint_list structure provided in Pelem_data as:

Ppoint_listpoint_list;/∗ list of 2d points ∗/
where
typedef struct {
Pintnum_points;/∗ number of Ppoints ∗/
Ppoint∗points;/∗ array of points ∗/
} Ppoint_list;

POLYLINE COLOUR (PELEM_LINE_COLR)
A Pgcolr structure provided in Pelem_data as:

Pgcolrcolr;/∗ extended colour model ∗/
where
typedef struct {
Pinttype;/∗ indirect, RGB, CIE, HSV, HLS ∗/
union {
Pintind;/∗ 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 (PELEM_LINE_COLR_IND)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/

POLYLINE INDEX (PELEM_LINE_IND)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/

POLYLINE SET 3 WITH DATA (PELEM_POLYLINE_SET3_DATA)
A plsd3 structure defined in Pelem_data as:

struct {
Pintvflag;/∗ data per vertex flag ∗/
Pintcolr_model;/∗ colour type ∗/
Pintnpl;/∗ number of polylines in set ∗/
Pline_vdata_list3∗vdata;/∗ per line vertex data list ∗/
} plsd3;

POLYLINE SHADING METHOD (PELEM_LINE_SHAD_METH)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/
The predefined shading method values are:
1PSD_NONENo Shading
2PSD_COLOURColour Interpolation Shading

POLYLINE 3 (PELEM_POLYLINE3)
A Ppoint_list3 structure provided in Pelem_data as:

Ppoint_list3pts3;/∗ list of 3d points ∗/
where
typedef struct {
Pintnum_points;/∗ number of Ppoint3s ∗/
Ppoint3∗points;/∗ array of points ∗/
} Ppoint_list3;

POLYMARKER (PELEM_POLYMARKER)
A Ppoint_list structure provided in Pelem_data as:

Ppoint_listpts;/∗ list of 2d points ∗/
where
typedef struct {
Pintnum_points;/∗ number of Ppoints ∗/
Ppoint∗points;/∗ array of points ∗/
} Ppoint_list;

POLYMARKER COLOUR (PELEM_MARKER_COLR)
A Pgcolr structure provided in Pelem_data as:

Pgcolrcolr;/∗ extended colour model ∗/
where
typedef struct {
Pinttype;/∗ indirect, RGB, CIE, HSV, HLS ∗/
union {
Pintind;/∗ 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 (PELEM_MARKER_IND)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/

POLYMARKER 3 (PELEM_POLYMARKER3)
A Ppoint_list3 structure provided in Pelem_data as:

Ppoint_list3point_list3;/∗ list of 3d points ∗/
where
typedef struct {
Pintnum_points;/∗ number of Ppoint3s ∗/
Ppoint3∗points;/∗ array of points ∗/
} Ppoint_list3;

QUADRILATERAL MESH 3 WITH DATA (PELEM_QUAD_MESH3_DATA)
A qmd3 structure defined in Pelem_data as:

struct {
Pintfflag;/∗ data per facet flag ∗/
Pintvflag;/∗ data per vertex flag ∗/
Pintcolr_model;/∗ colour type ∗/
Pint_sizedim;/∗ dimension of cells ∗/
Pfacet_data_arr3fdata;/∗ facet data ∗/
Pfacet_vdata_arr3vdata;/∗ vertex data ∗/
} qmd3;

REMOVE NAMES FROM SET (PELEM_REMOVE_NAMES_SET)
A Pint_list structure provided in Pelem_data as:

Pint_listnames/∗ name sets ∗/
where
typedef struct {
Pintnum_ints;/∗ number of names in the set ∗/
Pint∗ints;/∗ name set ∗/
} Pint_list

RENDERING COLOUR MODEL (PELEM_RENDERING_COLR_MODEL)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/

RESTORE MODELLING CLIPPING VOLUME (PELEM_RESTORE_MODEL_CLIP_VOL)
No data involved

SET OF FILL AREA SET 3 WITH DATA (PELEM_SET_OF_FILL_AREA_SET3_DATA)
A sofas3 structure defined in Pelem_data as:

struct {
Pintfflag;
Pinteflag;
Pintvflag;
Pintcolr_model;
Pintnum_sets;
Pfacet_data_arr3fdata;
Pedge_data_list_list∗edata;
Pint_list_list∗vlist;
Pfacet_vdata_list3vdata;
} sofas3;

SURFACE APPROXIMATION CRITERIA (PELEM_SURF_APPROX_CRIT)
A surf_approx structure defined in Pelem_data as:

struct {
Pinttype;/∗ approximation type ∗/
Pfloatu_val;/∗ u approximation value ∗/
Pfloatv_val;/∗ v approximation value ∗/
} surf_approx;

TEXT (PELEM_TEXT)
A text structure defined in Pelem_data as:

struct {
Ppointpos;/∗ text pt ∗/
char∗char_string;/∗ text string ∗/
} text;

TEXT ALIGNMENT (PELEM_TEXT_ALIGN)
A Ptext_align structure provided in Pelem_data as:

Ptext_aligntext_align;/∗ text alignment ∗/
where
typedef struct {
Phor_text_alignhor; /∗ horizontal component ∗/
Pvert_text_alignvert; /∗ vertical component ∗/
} Ptext_align;

TEXT COLOUR (PELEM_TEXT_COLR)
A Pgcolr structure provided in Pelem_data as:

Pgcolrcolr;/∗ extended colour model ∗/
where
typedef struct {
Pinttype;/∗ indirect, RGB, CIE, HSV, HLS ∗/
union {
Pintind;/∗ 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 (PELEM_TEXT_COLR_IND)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/

TEXT FONT (PELEM_TEXT_FONT)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/
The predefined text font values are:
  1PFONT_MONO

TEXT INDEX (PELEM_TEXT_IND)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/

TEXT PATH (PELEM_TEXT_PATH)
A Ptext_path data structure provided in Pelem_data as:

Ptext_pathtext_path;/∗ text path ∗/
where
typedef enum {
PPATH_RIGHT,
PPATH_LEFT,
PPATH_UP,
PPATH_DOWN
} Ptext_path;

TEXT PRECISION (PELEM_TEXT_PREC)
A Ptext_prec data structure provided in Pelem_data as:

Ptext_prectext_prec;/∗ text precision ∗/
where
typedef enum {
PPREC_STRING,
PPREC_CHAR,
PPREC_STROKE
} Ptext_prec;

TEXT 3 (PELEM_TEXT3)
A text3 structure defined in Pelem_data as:

struct {
Ppoint3pos;/∗ text pt ∗/
Pvec3dir[2];/∗ direction vectors ∗/
char∗char_string;/∗ text string ∗/
} text3;

TRIANGLE STRIP 3 WITH DATA (PELEM_TRI_STRIP3_DATA)
A tsd3 structure defined in Pelem_data as:

struct {
Pintfflag;/∗ data per facet flag ∗/
Pintvflag;/∗ data per vertex flag ∗/
Pintcolr_model;/∗ colour type ∗/
Pintnv;/∗ number of vertices ∗/
Pfacet_data_arr3fdata;/∗ facet data ∗/
Pfacet_vdata_arr3vdata;/∗ vertex data ∗/
} tsd3;

VIEW INDEX (PELEM_VIEW_IND)
An integer provided in Pelem_data as:

Pintint_data;/∗ integer valued data ∗/

ERRORS

005Ignoring function, function requires state (PHOP, ∗, STOP, ∗)

SEE ALSO

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

September 02, 1992

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