INQUIRE ELEMENT TYPE AND SIZE(3P) — Kubota Pacfic Computer Inc. (29 February 1991)
NAME
INQUIRE ELEMENT TYPE AND SIZE − inquire the type and size of a specified element
SYNOPSIS
C Syntax
void
pinq_elem_type_size ( struct_id, element, error_ind, type, size )
Pintstruct_id;structure identifier
Pintelement;element number
Pint∗error_ind;OUT error indicator
Pelem_type∗type;OUT element type
size_t∗size;OUT element size
Required PHIGS Operating States
(PHOP, ∗, ∗, ∗)
DESCRIPTION
Purpose
INQUIRE ELEMENT TYPE AND SIZE returns the type and size of the specified element in the specified structure.
C Input Parameters
struct_id
Identifier of the structure containing the element for which to return a type and size.
element
Sequence number in the specified structure of the element for which to return a type and size.
C Output Parameters
error_ind
A pointer to the location to store the error number of any error detected by this function.
typeReturns element type. For example, a polyline primitive element would be returned as PELEM_POLYLINE, a character height attribute as PEL_CHARACTER_HEIGHT, a modelling transformation as PEL_LOCAL_MODELLING_TRANSFORMATION3, and so forth. The Pelem_type enumerated type is defined in phigs.h as follows:
typedef enum {
PELEM_ALL,
PELEM_NIL,
PELEM_POLYLINE3,
PELEM_POLYLINE,
PELEM_POLYMARKER3,
PELEM_POLYMARKER,
PELEM_TEXT3,
PELEM_TEXT,
PELEM_ANNO_TEXT_REL3,
PELEM_ANNO_TEXT_REL,
PELEM_FILL_AREA3,
PELEM_FILL_AREA,
PELEM_FILL_AREA_SET3,
PELEM_FILL_AREA_SET,
PELEM_CELL_ARRAY3,
PELEM_CELL_ARRAY,
PELEM_GDP3,
PELEM_GDP,
PELEM_LINE_IND,
PELEM_MARKER_IND,
PELEM_TEXT_IND,
PELEM_INT_IND,
PELEM_EDGE_IND,
PELEM_LINETYPE,
PELEM_LINEWIDTH,
PELEM_LINE_COLR_IND,
PELEM_MARKER_TYPE,
PELEM_MARKER_SIZE,
PELEM_MARKER_COLR_IND,
PELEM_TEXT_FONT,
PELEM_TEXT_PREC,
PELEM_CHAR_EXPAN,
PELEM_CHAR_SPACE,
PELEM_TEXT_COLR_IND,
PELEM_CHAR_HT,
PELEM_CHAR_UP_VEC,
PELEM_TEXT_PATH,
PELEM_TEXT_ALIGN,
PELEM_ANNO_CHAR_HT,
PELEM_ANNO_CHAR_UP_VEC,
PELEM_ANNO_PATH,
PELEM_ANNO_ALIGN,
PELEM_ANNO_STYLE,
PELEM_INT_STYLE,
PELEM_INT_STYLE_IND,
PELEM_INT_COLR_IND,
PELEM_EDGE_FLAG,
PELEM_EDGETYPE,
PELEM_EDGEWIDTH,
PELEM_EDGE_COLR_IND,
PELEM_PAT_SIZE,
PELEM_PAT_REF_POINT_VECS,
PELEM_PAT_REF_POINT,
PELEM_ADD_NAMES_SET,
PELEM_REMOVE_NAMES_SET,
PELEM_INDIV_ASF,
PELEM_HLHSR_ID,
PELEM_LOCAL_MODEL_TRAN3,
PELEM_LOCAL_MODEL_TRAN,
PELEM_GLOBAL_MODEL_TRAN3,
PELEM_GLOBAL_MODEL_TRAN,
PELEM_MODEL_CLIP_VOL3,
PELEM_MODEL_CLIP_VOL,
PELEM_MODEL_CLIP_IND,
PELEM_RESTORE_MODEL_CLIP_VOL,
PELEM_VIEW_IND,
PELEM_EXEC_STRUCT,
PELEM_LABEL,
PELEM_APPL_DATA,
PELEM_GSE,
PELEM_PICK_ID,
PELEM_POLYLINE_SET3_DATA,
PELEM_FILL_AREA_SET3_DATA,
PELEM_TRI_STRIP3_DATA,
PELEM_QUAD_MESH3_DATA,
PELEM_SET_OF_FILL_AREA_SET3_DATA,
PELEM_NUNI_BSP_CURVE,
PELEM_NUNI_BSP_SURF,
PELEM_CELL_ARRAY3_PLUS,
PELEM_TEXT_COLR,
PELEM_MARKER_COLR,
PELEM_EDGE_COLR,
PELEM_LINE_COLR,
PELEM_CURVE_APPROX_CRIT,
PELEM_LINE_SHAD_METH,
PELEM_INT_COLR,
PELEM_BACK_INT_COLR,
PELEM_BACK_INT_STYLE,
PELEM_BACK_INT_STYLE_IND,
PELEM_REFL_PROPS,
PELEM_BACK_REFL_PROPS,
PELEM_INT_SHAD_METH,
PELEM_BACK_INT_SHAD_METH,
PELEM_INT_REFL_EQN,
PELEM_BACK_INT_REFL_EQN,
PELEM_SURF_APPROX_CRIT,
PELEM_PARA_SURF_CHARACS,
PELEM_FACE_DISTING_MODE,
PELEM_FACE_CULL_MODE,
PELEM_LIGHT_SRC_STATE,
PELEM_DCUE_IND,
PELEM_COLR_MAP_IND,
PELEM_RENDERING_COLR_MODEL,
PELEM_NUM_EL_TYPES
} Pelem_type;
sizeReturns the size, in bytes, that the application will have to allocate in order to call INQUIRE ELEMENT CONTENT to retrieve the contents of the specified element from the specified structure. If the element type is such that it is not necessary to allocate any dynamic memory to retrieve its contents, a value of zero is returned.
ERRORS
002Ignoring function, function requires state (PHOP, ∗, ∗, ∗)
201Ignoring function, the specified structure does not exist
202Ignoring function, the specified element does not exist
SEE ALSO
INQUIRE ELEMENT POINTER (3P)
INQUIRE ELEMENT CONTENT (3P)
ELEMENT SEARCH (3P)
September 02, 1992