.\" .\" $XConsortium: p103,v 5.3 94/04/17 20:55:32 hersh Exp $ .\" .\" $XMCOPY .\" Copyright (c) 1990, 1991 by Sun Microsystems, Inc. and the X Consortium. .\" .\" All Rights Reserved .\" .\" Permission to use, copy, modify, and distribute this software and its .\" documentation for any purpose and without fee is hereby granted, .\" provided that the above copyright notice appear in all copies and that .\" both that copyright notice and this permission notice appear in .\" supporting documentation, and that the names of Sun Microsystems, .\" and the X Consortium not be used in advertising or publicity .\" pertaining to distribution of the software without specific, written .\" prior permission. .\" .\" SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO .\" EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\" CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\" USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\" OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .TH "INQUIRE CURRENT ELEMENT CONTENT" 3P "15 August 1991" .SH NAME INQUIRE CURRENT ELEMENT CONTENT \- inquire the contents of the current element .SH SYNOPSIS .SS C Syntax .ft B .ta 1.25i 3i .nf void pinq_cur_elem_content (store, error_ind, data ) Pstore store; \fIhandle to Store object\fP Pint *error_ind; \fI\s-2OUT\s+2 error indicator\fP Pelem_data **data; \fI\s-2OUT\s+2 data record\fP .fi .ft R .SS Required PHIGS Operating States (PHOP, *, STOP, *) .SH DESCRIPTION .SS Purpose \s-2INQUIRE CURRENT ELEMENT CONTENT\s+2 returns the contents of the current element. .SS C Input Parameter Applications using the \s-2C\s+2 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 \fIstore\fP argument. .LP The store buffer is a data area managed by \s-2PHIGS\s+2. While the application is responsible for creating the inital buffer through a call to \s-2\CREATE STORE\s+2, \s-2PHIGS\s+2 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 \fIdata\fR. .IP \fIstore\fP The memory buffer \s-2PHIGS\s+2 is to use for storing the information returned. This buffer must exist prior to calling this function (see \s-2CREATE STORE (3P)\s+2). .SS C Output Parameters .IP \fIerror_ind\fP A pointer to the location to store the error number of any error detected by this function. .IP \fIdata\fP A 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: .nf .ta .5i +.5i +1.25i +1.25i .sp .4 typedef union { .sp .2 Pint int_data; /* integer valued data */ Pfloat float_data; /* float valued data */ Ppoint_list3 point_list3; /* list of 3d points */ Ppoint_list point_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 { Ppoint3 pos; /* text pt */ Pvec3 dir[2]; /* direction vectors */ char *char_string; /* text string */ } text3; struct { Ppoint pos; /* text pt */ char *char_string; /* text string */ } text; struct { Ppoint3 ref_point; /* reference pt */ Pvec3 offset; /* anno. pt/offset */ char *char_string; /* text string */ } anno_text_rel3; struct { Ppoint ref_point; /* reference pt */ Pvec offset; /* anno. pt/offset */ char *char_string; /* text string */ } anno_text_rel; struct { Pparal paral; /* parallelogram */ Ppat_rep colr_array; /* colour array */ } cell_array3; struct { Prect rect; /* rectangle */ Ppat_rep colr_array; /* colour array */ } cell_array; struct { Pint id; /* GDP3 id */ Ppoint_list3 point_list; /* pts */ Pgdp_data3 data; /* data record */ } gdp3; struct { Pint id; /* GDP id */ Ppoint_list point_list; /* pts */ Pgdp_data data; /* data record */ } gdp; Ptext_prec text_prec; /* text precision */ Pvec char_up_vec; /* char up vector */ Ptext_path text_path; /* text path */ Ptext_align text_align; /* text alignment */ Pint_style int_style; /* interior style */ Pedge_flag edge_flag; /* edge flag */ Ppoint pat_ref_point; /* pat ref pt */ Pfloat_size pat_size; /* pattern size */ struct { Ppoint3 ref_point; /* pattern ref. pt */ Pvec3 ref_vec[2]; /* vectors */ } pat_ref_point_vecs; Pint_list names; /* name sets */ struct { Paspect id; /* attribute id */ Pasf source; /* asf */ } asf; struct { Pcompose_type compose_type; /* composition type */ Pmatrix3 matrix; /* matrix */ } local_tran3; struct { Pcompose_type compose_type; /* composition type */ Pmatrix matrix; /* matrix */ } local_tran; Pmatrix3 global_tran3; /* global transform3 */ Pmatrix global_tran; /* global transform */ struct { Pint op; /* operator */ Phalf_space_list3 half_spaces; /* half-space list */ } model_clip3; struct { Pint op; /* operator */ Phalf_space_list half_spaces; /* half-space list */ } model_clip; Pclip_ind clip_ind; /* clipping indicator */ Pdata appl_data; /* application data */ struct { Pint id; /* GSE id */ Pgse_data data; /* GSE data record */ } gse; struct { Pint order; Pfloat_list knots; Prational rationality; Ppoint_list34 cpts; Pfloat min; Pfloat max; } nurb_curve; /* NURBS curve */ struct { Pint type; Pfloat value; } curv_approx; /* curve approximation criteria */ struct { Pint u_order; Pint v_order; Prational rationality; Pfloat_list uknots; Pfloat_list vknots; Ppoint_grid34 grid; Pint num_trim_loops; Ptrimcurve_list *trim_loops; } nurb_surf; /* NURBS surface */ struct { Pint type; Pfloat u_val; Pfloat v_val; } surf_approx; /* surface approximation criteria */ struct { Pint vflag; Pint colr_model; Pint npl; Pline_vdata_list3 *vdata; } plsd3; struct { Pint fflag; Pint eflag; Pint vflag; Pint colr_model; Pfacet_data3 fdata; Pint nfa; Pedge_data_list *edata; Pfacet_vdata_list3 *vdata; } fasd3; /* fill area set with data */ struct { Pint fflag; Pint vflag; Pint colr_model; Pint nv; Pfacet_data_arr3 fdata; Pfacet_vdata_arr3 vdata; } tsd3; /* triangle strip with data */ struct { Pint fflag; Pint vflag; Pint colr_model; Pint_size dim; Pfacet_data_arr3 fdata; Pfacet_vdata_arr3 vdata; } qmd3; /* quad mesh */ struct { Pint fflag; Pint eflag; Pint vflag; Pint colr_model; Pint num_sets; Pfacet_data_arr3 fdata; Pedge_data_list_list *edata; Pint_list_list *vlist; Pfacet_vdata_list3 vdata; } sofas3; /* set of fill area set */ struct { Pparal paral; /* parallelogram */ Ppat_rep_plus colr_array; /* colour array */ } cell_array_plus; Pgcolr colr; Prefl_props props; /*surface relectance properties */ struct { Pint_list activation; Pint_list deactivation; } lss; /* light source state */ Pcull_mode cull_mode; /* culling mode */ Pdisting_mode disting_mode; /* distinguishing mode */ struct { Pint type; Ppara_surf_characs data; } para_surf_charac; /* parametric surface characteristics */ .sp .2 } Pelem_data; .fi .SS Execution .LP \s-2INQUIRE CURRENT ELEMENT CONTENT\s+2 is the second function called in a two function, or step, process. First \s-2INQUIRE CURRENT ELEMENT TYPE AND SIZE\s+2 must be called to determine the type of element to return for the \s-2INQUIRE CURRENT ELEMENT CONTENT\s+2 request. Depending on the element type, the corresponding structure in the Pelem_data union is returned, as described below. .LP .IP "ADD NAMES TO SET (PEL_ADD_NAMES_TO_SET)" A Pint_list structure provided in Pelem_data as: .sp .4 .nf .ta .5i +\w'Pint_list 'u +\w'name_set; 'u Pint_list names /* name sets */ where typedef struct { .sp .2 .ta .5i +\w'Pint 'u +\w'num_ints; 'u Pint num_ints; /* number of Pints in list */ Pint *ints; /* list of integers */ .sp .2 } Pint_list; .fi .IP "ALL (PELEM_ALL)" No data involved .IP "ANNOTATION STYLE (PELEM_ANNO_STYLE)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ .fi .IP "ANNOTATION TEXT ALIGNMENT (PELEM_ANNO_ALIGN)" A Ptext_align structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Ptext_align text_align; /* text alignment */ where .ta .5i +1i +1.25i typedef struct { .sp .2 Phor_text_align hor; /* horizontal component */ Pvert_text_align vert; /* vertical component */ .sp .2 } Ptext_align; .fi .IP "ANNOTATION TEXT CHARACTER HEIGHT (PELEM_ANNO_CHAR_HT)" A Pfloat floating point data provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pfloat float_data; /* float valued data */ .fi .LP .nf ANNOTATION TEXT CHARACTER UP VECTOR (PELEM_ANNO_CHAR_UP_VEC) .fi .sp -\n(PDu .IP A Pvec structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pvec char_up_vec; /* char up vector */ where typedef struct { .sp .2 .ta .5i +1i +1.25i Pfloat delta_x; /* x magnitude */ Pfloat delta_y; /* y magnitude */ .sp .2 } Pvec; .fi .IP "ANNOTATION TEXT PATH (PELEM_ANNO_PATH)" A Ptext_path data structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Ptext_path text_path; /* text path */ where typedef enum { .sp .2 PPATH_RIGHT, PPATH_LEFT, PPATH_UP, PPATH_DOWN .sp .2 } Ptext_path; .fi .IP "ANNOTATION TEXT RELATIVE (PELEM_ANNO_TEXT_REL)" An anno_text_rel structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i struct { .sp .2 Ppoint ref_point; /* reference pt */ Pvec offset; /* annotation offset */ char *char_string; /* annotation text string */ .sp .2 } anno_text_rel; .fi .IP "ANNOTATION TEXT RELATIVE 3 (PELEM_ANNO_TEXT_REL3)" An anno_text_rel3 structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i struct { .sp .2 Ppoint3 ref_point; /* reference pt */ Pvec3 offset; /* annotation offset */ char *char_string; /* annotation text string */ .sp .2 } anno_text_rel3; .fi .IP "APPLICATION DATA (PELEM_APPL_DATA)" A Pdata structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pdata appl_data; /* application data */ where typedef struct { .sp .2 size_t size; /* size of data */ char *data; /* pointer to data */ .sp .2 } Pdata; .fi .IP "AREA PROPERTIES (PELEM_REFL_PROPS)" A Prefl_props structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Prefl_props properties; /* area properties */ where typedef struct { .sp .2 .ta .5i +1i +1.25i Pfloat ambient_coef; /* ambient reflectance coefficient */ Pfloat diffuse_coef; /* diffuse reflectance coefficient */ Pfloat specular_coef; /* specular reflectance coefficient */ Pgcolr specular_colr; /* specular colour */ Pfloat specular_exp; /* specular exponent */ Pfloat transpar_coef; /* transparency coefficient */ .sp .2 } Prefl_props; .fi .IP "BACK AREA PROPERTIES (PELEM_BACK_REFL_PROPS)" A Prefl_props structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Prefl_props properties; /* area properties */ where typedef struct { .sp .2 .ta .5i +1i +1.25i Pfloat ambient_coef; /* ambient reflectance coefficient */ Pfloat diffuse_coef; /* diffuse reflectance coefficient */ Pfloat specular_coef; /* specular reflectance coefficient */ Pgcolr specular_colr; /* specular colour */ Pfloat specular_exp; /* specular exponent */ Pfloat transpar_coef; /* transparency coefficient */ .sp .2 } Prefl_props; .fi .IP "BACK INTERIOR COLOUR (PELEM_BACK_INT_COLR)" A Pgcolr structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pgcolr colr; /* extended colour model */ where .ta .5i +\w'union 'u +\w'struct 'u +\w'Pfloat 'u +\w'type; 'u +\w'x; 'u typedef struct { .sp .2 Pint type; /* indirect, RGB, CIE, HSV, HLS */ union { Pint ind; /* index in workstation colour bundle table */ struct { Pfloat x; /* red, hue, etc */ Pfloat y; /* green, saturation, lightness, etc */ Pfloat z; /* blue, value, saturation, etc */ .sp .2 } general; } val; } Pgcolr; .fi .IP "BACK INTERIOR REFLECTANCE EQUATION (PELEM_BACK_INT_REFL_EQN)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ The predefined reflectance equation values are: .sp .2 .ta .5i +\w'PREFL_AMB_DIFF_SPEC 'u 1 PREFL_NONE \fINo Reflectance Calculation Performed\fP 2 PREFL_AMBIENT \fIUse Ambient Term\fP 3 PREFL_AMB_DIFF \fIUse Ambient and Diffuse Terms\fP 4 PREFL_AMB_DIFF_SPEC \fIUse Ambient, Diffuse, and Specular Terms\fP .sp .2 .fi .IP "BACK INTERIOR SHADING METHOD (PELEM_BACK_INT_SHAD_METH)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ The predefined shading method values are: .sp .2 .ta .5i +\w'PSD_DOT_PRODUCT 'u 1 PSD_NONE \fINo Shading\fP 2 PSD_COLOUR \fIColour Interpolation Shading\fP 3 PSD_DOT_PRODUCT \fIDot Product Interpolation Shading\fP 4 PSD_NORMAL \fINormal Interpolation Shading\fP .sp .2 .fi .IP "BACK INTERIOR STYLE (PELEM_BACK_INT_STYLE)" An Pint_style structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint_style int_style; /* back interior style */ where typedef enum { .sp .2 .ta .5i PSTYLE_HOLLOW, PSTYLE_SOLID, PSTYLE_PAT, PSTYLE_HATCH, PSTYLE_EMPTY .sp .2 } Pint_style; .fi .IP "BACK INTERIOR STYLE INDEX (PELEM_BACK_INT_STYLE_IND)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ .fi .IP "CELL ARRAY (PELEM_CELL_ARRAY)" A cell_array structure defined in Pelem_data as: .\" ca .sp .4 .nf .ta .5i +1i +1.25i struct { .sp .2 Prect rect; /* rectangle */ Pint_size dim; /* dimension */ Pint *colr; /* colour array */ .sp .2 } cell_array; .fi .IP "CELL ARRAY 3 (PELEM_CELL_ARRAY3)" A cell_array3 structure defined in Pelem_data as: .\" ca3 .sp .4 .nf .ta .5i +1i +1.25i struct { .sp .2 Pparal paral; /* parallelogram */ Pint_size dim; /* dimension */ Pint *colr; /* colour array */ .sp .2 } cell_array3; .fi .IP "CHARACTER EXPANSION FACTOR (PELEM_CHAR_EXPAN)" A floating point provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pfloat float_data; /* float valued data */ .fi .IP "CHARACTER HEIGHT (PELEM_CHAR_HT)" A floating point provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pfloat float_data; /* float valued data */ .fi .IP "CHARACTER SPACING (PELEM_CHAR_SPACE)" A float_data floating point data provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pfloat float_data; /* float valued data */ .fi .IP "CHARACTER UP VECTOR (PELEM_CHAR_UP_VEC)" A Pvec structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pvec char_up_vec; /* char up vector */ where typedef struct { .sp .2 .ta .5i +1i +1.25i Pfloat delta_x; /* x magnitude */ Pfloat delta_y; /* y magnitude */ .sp .2 } Pvec; .fi .IP "COLOUR MAPPING INDEX (PEX_COLR_MAPPING_IND)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ .fi .IP "CURVE APPROXIMATION CRITERIA (PELEM_CURVE_APPROX_CRIT)" A curv_approx structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i struct { .sp .2 Pint type; /* approximation type */ Pfloat value; /* approximation value */ .sp .2 } curv_approx; .fi .IP "DEPTH CUE INDEX (PELEM_DCUE_IND)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ .fi .IP "EDGE COLOUR (PELEM_EDGE_COLR)" A Pgcolr structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pgcolr colr; /* extended colour model */ where .ta .5i +\w'union 'u +\w'struct 'u +\w'Pfloat 'u +\w'type; 'u +\w'x; 'u typedef struct { .sp .2 Pint type; /* indirect, RGB, CIE, HSV, HLS */ union { Pint ind; /* index in workstation colour bundle table */ struct { Pfloat x; /* red, hue, etc */ Pfloat y; /* green, saturation, lightness, etc */ Pfloat z; /* blue, value, saturation, etc */ .sp .2 } general; } val; } Pgcolr; .fi .IP "EDGE COLOUR INDEX (PELEM_EDGE_COLR_IND)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ .fi .IP "EDGE FLAG (PELEM_EDGE_FLAG)" A Pedge_flag data structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pedge_flag edge_flag; /* edge flag */ where typedef enum { .sp .2 PEDGE_OFF, PEDGE_ON .sp .2 } Pedge_flag; .fi .IP "EDGE INDEX (PELEM_EDGE_IND)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ .fi .IP "EDGETYPE (PELEM_EDGETYPE)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ The predefined line type values are: .sp .2 .ta .5i 1 PLINE_SOLID 2 PLINE_DASH 3 PLINE_DOT 4 PLINE_DOT_DASH .sp .2 .fi .IP "EDGEWIDTH SCALE FACTOR (PELEM_EDGEWIDTH)" A floating point provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pfloat float_data; /* float valued data */ .fi .IP "EXECUTE STRUCTURE (PELEM_EXEC_STRUCT)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ .fi .IP "CELL ARRAY 3 PLUS (PELEM_CELL_ARRAY3_PLUS)" An cell_array_plus structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i struct { Pparal paral; /* parallelogram */ Pint_size dim; /* dimension */ Pint colr_model; /* colour model */ Pcoval *colr; /* colour array */ } cell_array_plus; .fi .IP "FACE CULLING MODE (PELEM_FACE_CULL_MODE)" An Pcull_mode data structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pcull_mode cull_mode; /* culling mode */ where typedef enum { .sp .2 PCULL_NONE, PCULL_BACKFACE, PCULL_FRONTFACE .sp .2 } Pcull_mode; .fi .IP "FACE DISTINGUISHING MODE (PELEM_FACE_DISTING_MODE)" An Pdisting_mode data structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pdisting_mode disting_mode; /* distinguishing mode */ where typedef enum { .sp .2 PDISTING_NO, PDISTING_YES .sp .2 } Pdisting_mode; .fi .IP "FILL AREA (PELEM_FILL_AREA)" A Ppoint_list structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Ppoint_list point_list; /* list of 2d points */ where typedef struct { .sp .2 .ta .5i +1i +1.25i Pint num_points; /* number of Ppoints in the list */ Ppoint *points; /* list of points */ .sp .2 } Ppoint_list; .fi .IP "FILL AREA SET (PELEM_FILL_AREA_SET)" A fill_area_set structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i struct { .sp .2 Pint num_point_lists; /* number of sets */ Ppoint_list *point_lists; /* list of sets */ .sp .2 } fill_area_set; .fi .IP "FILL AREA SET 3 (PELEM_FILL_AREA_SET3)" A fill_area_set3 structure defined in Pelem_data as: .\" fill_set3 .sp .4 .nf .ta .5i +1i +1.25i struct { .sp .2 Pint num_point_lists; /* number of sets */ Ppoint_list3 *point_lists; /* list of sets */ .sp .2 } fill_area_set3; .fi .IP "FILL AREA SET 3 WITH DATA (PELEM_FILL_AREA_SET3_DATA)" A fasd3 structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1.5i +1.25i struct { .sp .2 Pint fflag; /* data specified per facet */ Pint eflag; /* edge visibility status */ Pint vflag; /* data per vertex flag */ Pint colr_model; /* colour type */ Pfacet_data3 fdata; /* facet data */ Pint nfa; /* number of fill areas in the set */ Pedge_data_list *edata; /* edge data */ Pfacet_vdata_arr3 *vdata; /* vertex data */ .sp .2 } fasd3; .fi .IP "FILL AREA 3 (PELEM_FILL_AREA3)" A Ppoint_list3 structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Ppoint_list3 point_list3; /* list of 3d points */ where typedef struct { .sp .2 .ta .5i +1i +1.25i Pint num_points; /* number of Ppoint3s in the list*/ Ppoint3 *points; /* list of points */ .sp .2 } Ppoint_list3; .fi .ig xx .IP "FILL AREA 3 WITH DATA (PELEM_FILL_AREA3_DATA)" A fad3 structure defined in Pelem_data as: .\" fad3 .sp .4 .nf .ta .5i +1.5i +1.25i struct { .sp .2 Pint fflag; /* data per facet flag */ Pint vflag; /* data per vertex flag */ Pint colr_model; /* colour type */ Pfacetdata3 fdata; /* per facet data */ Pint nv; /* number of vertex */ Pfacetvdataarr3 vdata; /* fill area vertex data */ .sp .2 } fad3; .fi .xx .IP "GDP (PELEM_GDP)" A gdp structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i struct { .sp .2 Pint id; /* GDP id */ Ppoint_list point_list; /* pts */ Pgdp_data data; /* data record */ .sp .2 } gdp; .fi .IP "GDP 3 (PELEM_GDP3)" A gdp3 structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i struct { .sp .2 Pint id; /* GDP3 id */ Ppoint_list3 point_list; /* pts */ Pgdp_data3 data; /* data record */ .sp .2 } gdp3; .fi .IP "GLOBAL MODELLING TRANSFORMATION (PELEM_GLOBAL_MODEL_TRAN)" A Pmatrix structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pmatrix global_tran; /* global transform */ where typedef Pfloat Pmatrix[3][3]; .fi .IP "GLOBAL MODELLING TRANSFORMATION 3 (PELEM_GLOBAL_MODEL_TRAN3)" A Pmatrix3 structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pmatrix3 global_tran3; /* global transform3 */ where typedef Pfloat Pmatrix3[4][4]; .fi .IP "GSE (PELEM_GSE)" A gse structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i struct { .sp .2 Pint id; /* GSE id */ Pgse_data data; /* GSE data record */ .sp .2 } gse; .fi .IP "HLHSR IDENTIFIER (PELEM_HLHSR_ID)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ .fi .IP "INDIVIDUAL ASF (PELEM_INDIV_ASF)" An asf structure defined in Pelem_data as: .\" asf .sp .4 .nf .ta .5i +1i +1.25i struct { .sp .2 Paspect id; /* attribute id */ Pasf source; /* asf */ .sp .2 } asf; .sp .4 where .sp .4 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; .sp .4 and .sp .4 typedef enum { PASF_BUNDLED, PASF_INDIV } Pasf; .fi .IP "INTERIOR COLOUR (PELEM_INT_COLR)" A Pgcolr structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pgcolr colur; /* extended colour model */ where .ta .5i +\w'union 'u +\w'struct 'u +\w'Pfloat 'u +\w'type; 'u +\w'x; 'u typedef struct { .sp .2 Pint type; /* indirect, RGB, CIE, HSV, HLS */ union { Pint ind; /* index in workstation colour bundle table */ struct { Pfloat x; /* red, hue, etc */ Pfloat y; /* green, saturation, lightness, etc */ Pfloat z; /* blue, value, saturation, etc */ .sp .2 } general; } val; } Pgcolr; .fi .IP "INTERIOR COLOUR INDEX (PELEM_INT_COLR_IND)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ .fi .IP "INTERIOR INDEX (PELEM_INT_IND)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ .fi .IP "INTERIOR REFLECTANCE EQUATION (PELEM_INT_REFL_EQN)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ The predefined reflectance equation values are: .sp .2 .ta .5i +\w'PREFL_AMB_DIFF_SPEC 'u 1 PREFL_NONE \fINo Reflectance Calculation Performed\fP 2 PREFL_AMBIENT \fIUse Ambient Term\fP 3 PREFL_AMB_DIFF \fIUse Ambient and Diffuse Terms\fP 4 PREFL_AMB_DIFF_SPEC \fIUse Ambient, Diffuse, and Specular Terms\fP .sp .2 .fi .IP "INTERIOR SHADING METHOD (PELEM_INT_SHAD_METH)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ The predefined shading method values are: .sp .2 .ta .5i +\w'PSD_DOT_PRODUCT 'u 1 PSD_NONE \fINo Shading\fP 2 PSD_COLOUR \fIColour Interpolation Shading\fP 3 PSD_DOT_PRODUCT \fIDot Product Interpolation Shading\fP 4 PSD_NORMAL \fINormal Interpolation Shading\fP .sp .2 .fi .IP "INTERIOR STYLE (PELEM_INT_STYLE)" An Pint_style data structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint_style int_style; /* interior style */ where typedef enum { .sp .2 .ta .5i PSTYLE_HOLLOW, PSTYLE_SOLID, PSTYLE_PAT, PSTYLE_HATCH, PSTYLE_EMPTY, .sp .2 } Pint_style; .fi .IP "INTERIOR STYLE INDEX (PELEM_INT_STYLE_IND)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ .fi .IP "LABEL (PELEM_LABEL)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ .fi .IP "LIGHT SOURCE STATE (PELEM_LIGHT_SRC_STATE)" An lss structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i struct { .sp .2 Pint_list activation; /* activation list */ Pint_list deactivation; /* deactivation list */ .sp .2 } lss; .fi .IP "LINETYPE (PELEM_LINETYPE)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ .sp .2 The predefined line type values are: .sp .2 .ta .5i 1 PLINE_SOLID 2 PLINE_DASH 3 PLINE_DOT 4 PLINE_DOT_DASH .sp .2 .fi .IP "LINEWIDTH SCALE FACTOR (PELEM_LINEWIDTH)" A floating point provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pfloat float_data; /* float valued data */ .fi .IP "LOCAL MODELLING TRANSFORMATION (PELEM_LOCAL_MODEL_TRAN)" A local_tran structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i struct { .sp .2 Pcompose_type comp; /* composition type */ Pmatrix tran; /* matrix */ .sp .2 } local_tran; .sp .4 where .sp .4 typedef enum { PTYPE_PRECONCAT, PTYPE_POSTCONCAT, PTYPE_REPLACE } Pcompose_type; .fi .IP "LOCAL MODELLING TRANSFORMATION 3 (PELEM_LOCAL_MODEL_TRAN3)" A local_tran3 structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i struct { .sp .2 Pcompose_type comp; /* composition type */ Pmatrix3 tran; /* matrix */ .sp .2 } local_tran3; .sp .4 where .sp .4 typedef enum { PTYPE_PRECONCAT, PTYPE_POSTCONCAT, PTYPE_REPLACE } Pcompose_type; .fi .IP "MARKER COLOUR INDEX (PELEM_MARKER_COLR_IND)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ .fi .IP "MARKER SIZE SCALE FACTOR (PELEM_MARKER_SIZE)" A floating point provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pfloat float_data; /* float valued data */ .fi .IP "MARKER TYPE (PELEM_MARKER_TYPE)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ The predefined marker type values are: .sp .2 .ta .5i 1 PMARKER_DOT 2 PMARKER_PLUS 3 PMARKER_ASTERISK 4 PMARKER_CIRCLE 5 PMARKER_CROSS .sp .2 .fi .IP "MODELLING CLIPPING INDICATOR (PELEM_MODEL_CLIP_IND)" A Pclip_ind structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pclip_ind clip_ind; /* clipping indicator */ where typedef enum { .sp .2 PIND_NO_CLIP, PIND_CLIP .sp .2 } Pclip_ind; .fi .IP "MODELLING CLIPPING VOLUME (PELEM_MODEL_CLIP_VOL)" A model_clip structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1.5i +1.25i struct { .sp .2 Pint op; /* operator */ Phalf_space_list half_spaces; /* half-space list */ .sp .2 } model_clip; .fi .IP "MODELLING CLIPPING VOLUME 3 (PELEM_MODEL_CLIP_VOL3)" A model_clip3 structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1.5i +1.25i struct { .sp .2 Pint op; /* operator */ Phalf_space_list3 half_spaces; /* half-space list */ .sp .2 } model_clip3; .fi .IP "NIL (PELEM_NIL)" No data involved .IP "NON-UNIFORM B-SPLINE CURVE (PELEM_NUNI_BSP_CURVE)" A nurb_curve structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i struct { .sp .2 Pint order; /* curve order */ Pfloat_list knots; /* knots */ Prational rationality; /* rationality specifier */ Ppoint_list34 cpts; /* control points */ Pfloat min; /* curve min */ Pfloat max; /* curve max */ .sp .2 } nurb_curve; .fi .IP "NON-UNIFORM B-SPLINE SURFACE (PELEM_NUNI_BSP_SURF)" A nurb_surf structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i struct { .sp .2 Pint u_order; /* order of u surface */ Pint v_order; /* order of v surface */ Prational rationality; /* rationality specifier */ Pfloat_list uknots; /* knots in u dimension */ Pfloat_list vknots; /* knots in v dimension */ Ppoint_grid34 grid; /* grid of control points */ Pint num_trim_loops; /* number of trim curve loops */ Ptrimcurve_list *trim_loops; /* trim curve loops */ .sp .2 } nurb_surf; .fi .IP "NUM_EL_TYPES (PELEM_NUM_EL_TYPES)" No data involved .IP "PARAMETRIC SURFACE CHARACTERISTICS (PEL_PARA_SURF_CHARACTERISITICS)" A para_surf_characs structure provided in Pelem_data as: .sp .4 .nf .ta .5i +.5i +1.25i struct { Pint type; Ppara_surf_characs data; } para_surf_characs; /* parametric surface characteristics */ .fi where .sp .4 .nf .ta .5i +.5i +1.25i typedef union { struct { Pint unused; } psc_1; struct { Pint unused; } psc_2; struct { Pcurve_placement placement; Pint u_count; Pint v_count; } psc_3; struct { Ppoint3 origin; Pvec3 direction; Pfloat_list params; } psc_4; struct { Ppoint3 origin; Pvec3 direction; Pfloat_list params; } psc_5; } Ppara_surf_characs; .fi .IP "PATTERN REFERENCE POINT (PELEM_PAT_REF_POINT)" A Ppoint structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Ppoint point; /* pattern reference pt */ where typedef struct { .sp .2 .ta .5i +1i +1.25i Pfloat x; /* x coordinate */ Pfloat y; /* y coordinate */ .sp .2 } Ppoint; .fi .IP "PATTERN REFERENCE POINT AND VECTORS (PELEM_PAT_REF_POINT_VECS)" A pat_ref_point_vecs structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i struct { .sp .2 Ppoint3 ref_point; /* pattern ref. pt */ Pvec3 ref_vec[2]; /* vectors */ .sp .2 } pat_ref_point_vecs; .fi .IP "PATTERN SIZE (PELEM_PAT_SIZE)" A Ppoint structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Ppoint point; /* pattern size */ where typedef struct { .sp .2 .ta .5i +1i +1.25i Pfloat x; /* x coordinate */ Pfloat y; /* y coordinate */ .sp .2 } Ppoint; .fi .IP "PICK ID (PELEM_PICK_ID)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ .fi .IP "POLYLINE (PELEM_POLYLINE)" A Ppoint_list structure provided in Pelem_data as: .\" Ppoint_list .sp .4 .nf .ta .5i +1i +1.25i Ppoint_list point_list; /* list of 2d points */ where typedef struct { .sp .2 .ta .5i +1i +1.25i Pint num_points; /* number of Ppoints */ Ppoint *points; /* array of points */ .sp .2 } Ppoint_list; .fi .IP "POLYLINE COLOUR (PELEM_LINE_COLR)" A Pgcolr structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pgcolr colr; /* extended colour model */ where .ta .5i +\w'union 'u +\w'struct 'u +\w'Pfloat 'u +\w'type; 'u +\w'x; 'u typedef struct { .sp .2 Pint type; /* indirect, RGB, CIE, HSV, HLS */ union { Pint ind; /* index in workstation colour bundle table */ struct { Pfloat x; /* red, hue, etc */ Pfloat y; /* green, saturation, lightness, etc */ Pfloat z; /* blue, value, saturation, etc */ .sp .2 } general; } val; } Pgcolr; .fi .IP "POLYLINE COLOUR INDEX (PELEM_LINE_COLR_IND)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ .fi .IP "POLYLINE INDEX (PELEM_LINE_IND)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ .fi .IP "POLYLINE SET 3 WITH DATA (PELEM_POLYLINE_SET3_DATA)" A plsd3 structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1.5i +1.25i struct { .sp .2 Pint vflag; /* data per vertex flag */ Pint colr_model; /* colour type */ Pint npl; /* number of polylines in set */ Pline_vdata_list3 *vdata; /* per line vertex data list */ .sp .2 } plsd3; .fi .IP "POLYLINE SHADING METHOD (PELEM_LINE_SHAD_METH)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ The predefined shading method values are: .sp .2 .ta .5i +\w'PSD_COLOUR 'u 1 PSD_NONE \fINo Shading\fP 2 PSD_COLOUR \fIColour Interpolation Shading\fP .sp .2 .fi .IP "POLYLINE 3 (PELEM_POLYLINE3)" A Ppoint_list3 structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Ppoint_list3 pts3; /* list of 3d points */ where typedef struct { .sp .2 .ta .5i +1i +1.25i Pint num_points; /* number of Ppoint3s */ Ppoint3 *points; /* array of points */ .sp .2 } Ppoint_list3; .fi .IP "POLYMARKER (PELEM_POLYMARKER)" A Ppoint_list structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Ppoint_list pts; /* list of 2d points */ where typedef struct { .sp .2 .ta .5i +1i +1.25i Pint num_points; /* number of Ppoints */ Ppoint *points; /* array of points */ .sp .2 } Ppoint_list; .fi .IP "POLYMARKER COLOUR (PELEM_MARKER_COLR)" A Pgcolr structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pgcolr colr; /* extended colour model */ where .ta .5i +\w'union 'u +\w'struct 'u +\w'Pfloat 'u +\w'type; 'u +\w'x; 'u typedef struct { .sp .2 Pint type; /* indirect, RGB, CIE, HSV, HLS */ union { Pint ind; /* index in workstation colour bundle table */ struct { Pfloat x; /* red, hue, etc */ Pfloat y; /* green, saturation, lightness, etc */ Pfloat z; /* blue, value, saturation, etc */ .sp .2 } general; } val; } Pgcolr; .fi .IP "POLYMARKER INDEX (PELEM_MARKER_IND)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ .fi .IP "POLYMARKER 3 (PELEM_POLYMARKER3)" A Ppoint_list3 structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Ppoint_list3 point_list3; /* list of 3d points */ where typedef struct { .sp .2 .ta .5i +1i +1.25i Pint num_points; /* number of Ppoint3s */ Ppoint3 *points; /* array of points */ .sp .2 } Ppoint_list3; .fi .IP "QUADRILATERAL MESH 3 WITH DATA (PELEM_QUAD_MESH3_DATA)" A qmd3 structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1.5i +1.25i struct { .sp .2 Pint fflag; /* data per facet flag */ Pint vflag; /* data per vertex flag */ Pint colr_model; /* colour type */ Pint_size dim; /* dimension of cells */ Pfacet_data_arr3 fdata; /* facet data */ Pfacet_vdata_arr3 vdata; /* vertex data */ .sp .2 } qmd3; .fi .IP "REMOVE NAMES FROM SET (PELEM_REMOVE_NAMES_SET)" A Pint_list structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint_list names /* name sets */ where typedef struct { .sp .2 .ta .5i +1i +1.25i Pint num_ints; /* number of names in the set */ Pint *ints; /* name set */ .sp .2 } Pint_list .fi .IP "RENDERING COLOUR MODEL (PELEM_RENDERING_COLR_MODEL)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ .fi .IP "RESTORE MODELLING CLIPPING VOLUME (PELEM_RESTORE_MODEL_CLIP_VOL)" No data involved .IP "SET OF FILL AREA SET 3 WITH DATA (PELEM_SET_OF_FILL_AREA_SET3_DATA)" A sofas3 structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1.5i +1.25i struct { Pint fflag; Pint eflag; Pint vflag; Pint colr_model; Pint num_sets; Pfacet_data_arr3 fdata; Pedge_data_list_list *edata; Pint_list_list *vlist; Pfacet_vdata_list3 vdata; } sofas3; .sp .4 .fi .IP "SURFACE APPROXIMATION CRITERIA (PELEM_SURF_APPROX_CRIT)" A surf_approx structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i struct { .sp .2 Pint type; /* approximation type */ Pfloat u_val; /* u approximation value */ Pfloat v_val; /* v approximation value */ .sp .2 } surf_approx; .fi .IP "TEXT (PELEM_TEXT)" A text structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i struct { .sp .2 Ppoint pos; /* text pt */ char *char_string; /* text string */ .sp .2 } text; .fi .IP "TEXT ALIGNMENT (PELEM_TEXT_ALIGN)" A Ptext_align structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Ptext_align text_align; /* text alignment */ where typedef struct { .sp .2 .ta .5i +1i +1.25i Phor_text_align hor; /* horizontal component */ Pvert_text_align vert; /* vertical component */ .sp .2 } Ptext_align; .fi .IP "TEXT COLOUR (PELEM_TEXT_COLR)" A Pgcolr structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pgcolr colr; /* extended colour model */ where .ta .5i +\w'union 'u +\w'struct 'u +\w'Pfloat 'u +\w'type; 'u +\w'x; 'u typedef struct { .sp .2 Pint type; /* indirect, RGB, CIE, HSV, HLS */ union { Pint ind; /* index in workstation colour bundle table */ struct { Pfloat x; /* red, hue, etc */ Pfloat y; /* green, saturation, lightness, etc */ Pfloat z; /* blue, value, saturation, etc */ .sp .2 } general; } val; } Pgcolr; .fi .IP "TEXT COLOUR INDEX (PELEM_TEXT_COLR_IND)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ .fi .IP "TEXT FONT (PELEM_TEXT_FONT)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ The predefined text font values are: .sp .2 .ta .5i 1 PFONT_MONO .ig xx \(em2 PFONT_SIMPLEX \(em3 PFONT_DUPLEX \(em4 PFONT_COMPLEX \(em5 PFONT_TRIPLEX \(em6 PFONT_ITALIC_COMPLEX \(em7 PFONT_ITALIC_TRIPLEX \(em8 PFONT_GREEK_SIMPLEX \(em9 PFONT_GREEK_COMPLEX \(em10 PFONT_SCRIPT_SIMPLEX \(em11 PFONT_SCRIPT_COMPLEX \(em12 PFONT_CARTOGRAPHIC \(em13 PFONT_SYMBOL .xx .sp .2 .fi .IP "TEXT INDEX (PELEM_TEXT_IND)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ .fi .IP "TEXT PATH (PELEM_TEXT_PATH)" A Ptext_path data structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Ptext_path text_path; /* text path */ where typedef enum { .sp .2 .ta .5i PPATH_RIGHT, PPATH_LEFT, PPATH_UP, PPATH_DOWN .sp .2 } Ptext_path; .fi .IP "TEXT PRECISION (PELEM_TEXT_PREC)" A Ptext_prec data structure provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Ptext_prec text_prec; /* text precision */ where typedef enum { .sp .2 .ta .5i PPREC_STRING, PPREC_CHAR, PPREC_STROKE .sp .2 } Ptext_prec; .fi .IP "TEXT 3 (PELEM_TEXT3)" A text3 structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i struct { .sp .2 Ppoint3 pos; /* text pt */ Pvec3 dir[2]; /* direction vectors */ char *char_string; /* text string */ .sp .2 } text3; .fi .IP "TRIANGLE STRIP 3 WITH DATA (PELEM_TRI_STRIP3_DATA)" A tsd3 structure defined in Pelem_data as: .\" tsd3 .sp .4 .nf .ta .5i +1.5i +1.25i struct { .sp .2 Pint fflag; /* data per facet flag */ Pint vflag; /* data per vertex flag */ Pint colr_model; /* colour type */ Pint nv; /* number of vertices */ Pfacet_data_arr3 fdata; /* facet data */ Pfacet_vdata_arr3 vdata; /* vertex data */ .sp .2 } tsd3; .fi .ig xx .IP "TRIMMING CURVE APPROXIMATION CRITERIA (PEL_TRIM_CURVE_APPROXIMATION_CRITERIA)" A curv_approx structure defined in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i struct { .sp .2 Pint type; /* approximation type */ Pfloat value; /* approximation value */ .sp .2 } curv_approx; .fi .xx .IP "VIEW INDEX (PELEM_VIEW_IND)" An integer provided in Pelem_data as: .sp .4 .nf .ta .5i +1i +1.25i Pint int_data; /* integer valued data */ .fi .SH ERRORS .IP 005 Ignoring function, function requires state (\s-2PHOP\s+2, \s-2*\s+2, \s-2STOP\s+2, \s-2*\s+2) .fi .SH SEE ALSO .nf .IP .ta 0.5i .SM "INQUIRE CURRENT ELEMENT TYPE AND SIZE (3P)" .SM "UNPACK DATA RECORD (3P)" .SM "INQUIRE ELEMENT CONTENT (3P)" .SM "CREATE STORE (3P)" .SM "DELETE STORE (3P)" .fi