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