[ Previous | Contents | Glossary | Home | Search ]
The graPHIGS Programming Interface: Understanding Concepts

Appendix B. Compatibility

Compatibility with Version 1 of the graPHIGS API

As new functions have been added to the graPHIGS API products, every effort has been made to make changes transparent to existing applications. The objective has been for a Version 1 application to run in a Version 2 environment, using Version 2 defaults. If you look at The graPHIGS Programming Interface: Subroutine Reference , you will notice that there are a number of subroutines with overlapping functions. An example of this is the Open Workstation (GPOPWS) and Create Workstation (GPCRWS) subroutines. The GPCRWS subroutine is new for Version 2, and adds the parameters needed for the advanced functionality. On the other hand, the older subroutine, GPOPWS, continues to work with a set of assumed defaults. This lets older applications work in the new environment, while new functions and capabilities can be added at your discretion.

Compatibility Subroutines

The following table lists all of the graPHIGS API Version 1 subroutines which are now considered "compatibility" subroutines, and Version 2 subroutines that should be used instead.

Table 13. Subroutines

Compatibility Subroutines Version 1 Version 2
Inquire Actual Break Capabilities GPQABK GPQBK1
Inquire Actual Color Facilities GPQACF GPQCF1
Inquire Actual Maximum Display Surface Size GPQADS GPQDS1
Inquire Actual Edge Facilities GPQAEF GPQEF1
Inquire Actual Available Escape Functions GPQAES GPQES1
Inquire Actual Font Pool Size GPQAFP GPQFP1
Inquire List of Actual GDPs GPQAGD GPQGDP1
Inquire Actual Interior Facilities GPQAIF GPQIF1
Inquire Actual Input Character Set Facilities GPQAIS GPQISF1
Inquire Actual Trigger Capabilities GPQAIT GPQIT1
Inquire Actual Polyline Facilities GPQALF GQPLF1
Inquire List of Actual Logical Input Devices GPQALI GPQLI1
Inquire Actual Length of Workstation Tables GPQALW GPQLW1
Inquire Actual Polymarker Facilities GPQAMF GPQPMF1
Inquire Actual Number of Definable Views GPQANV GPQNV1
Inquire Actual Pattern Facilities GPQAPF GPQPAF1
Inquire Actual Primary Character Set GPQAPS GPQPCS
Inquire Actual View Facilities GPQAVF GPQVF1
Inquire Actual Workstation Category GPQAWC GPQWC1
Inquire Actual Workstation Display Class GPQAWD GPQWD1
Inquire Color Representation GPQCR GPQXCR
Inquire Current Viewing Transformation GPQCVX GPQCVR
Inquire Edge Representation GPQER GPQXER1
Inquire Element Content GPQE GPQED4
Inquire Element Type and Size GPQETS5 GPQEHD
Inquire Interior Representation GPQIR GPQXIR1
Inquire Polyline Representation GPQLR GPQXLR1
Inquire Polymarker Representation GPQMR GPQXMR1
Inquire Requested Viewing Transformation GPQRVX GPQCVR
Inquire Text Representation GPQTR GPQPTR1
Inquire Text Facilities GPQTXF GPQXTX1
Inquire Workstation Connection and Type GPQWCT GPQRCT
Open Workstation GPOPWS GPCRW 3
Set View Characteristics GPVCH GPXVR
Set View Mapping 2 GPVMP2 GPXVR2
Set View Mapping 3 GPVMP3 GPXVR2
Set View Matrix 2 GPVMT2 GPXVR2
Set View Matrix 3 GPVMT3 GPXVR2
Set Color Representation GPCR GPXCR
Set Edge Representation GPER GPXER
Set Interior Representation GPIR GPXIR
Set Polyline Representation GPPLR GPXPLR
Set Polymarker Rep GPPMR GPXPMR
Set Text Rep GPTXR GPXTXR

Notes

1. Actual WDT

Actual workstation characteristics are now contained in the actual Workstation Description Table (WDT), instead of the Workstation State List (WSL), although WSL inquiries continue to work for compatibility. This change was made to be consistent with the PHIGS standard. Inquiries directed at the generic WDT are (as before), likely to be inaccurate. To make inquiries to the actual WDT, the application must first obtain the "realized" workstation type based on the workstation's identifier (wsid) using the Inquire Realized Connection and Type (GPQRCT) subroutine. The workstation type returned by GPQRCT can then be used in any WDT inquiry to obtain the actual capabilities of the workstation.

2. GPXVR

Supersedes existing view characteristics subroutines (GPXVCH) and (GPVCH), and adds those characteristics required to support viewing extensions such as HLHSR mode.

3. GPCRWS

The Create Workstation (GPCRWS) subroutine supercedes the Open Workstation (GPOPWS) subroutine. It adds additional parameters needed to specify resources other than those taken by default with GPOPWS For example, in compatibility mode, on GPOPWS, a nucleus of 1 is assumed, yet if using GPCRWS you can specify the nucleus id.

4. GPQED

The Inquire Element Data (GPQED) subroutine returns the structure element information that currently resides in Version 2 structure store. The Inquire Element Type and Size (GPQETS) and Inquire Element Content (GPQE) subroutines still work, and return element data in the Version 1 format, but work only for Version 1 structure elements.

The output from the Inquire Structure Element (GPQE) subroutine is not always exactly the same as in Version 1. For example, for Pixel structure elements, the Pixel Packing Factor is always 1 (8 bits/pixel).

5. GPQETS:

The element size returned by Inquire Element Type and Size (GPQETS) is that of the Version 2 element. In some cases, this is not the same size as in Version 1, and it may not be the size returned by the Inquire Element Content (GPQE) subroutine. For example, Insert Application Data (GPINAD) structure element lengths are rounded to a multiple of 4 bytes. This size is different from that returned in Version 1, and is different from the value of the number of bytes parameter returned when the Inquire Element Content compatibility subroutine is called for the same structure element.

Application Control of Compatibility Using ADIB/EDF

Existing applications can run with no changes by using defaults supplied by the graPHIGS API The following options have been defined to override the defaults:

COMBSZ Size of I/O Buffers (Default 64K).
DEFACTF      If compatibility is requested (default) fonts are sent to the workstation, similar to Version 1.
DEFNUC Default = Call Communication method. This is essentially the same as Version 1.
IQSIZE Event queue size in bytes (default is 16K).
HCHECK Shell syntax (parameter list) checking (default = yes).

Color Compatibility

Applications written to the Version 1 interface will continue to display color correctly. However, if you wish to use direct color, set the appropriate value in the color tables to ensure that reasonable colors are displayed. See Chapter 17. "Manipulating Color and Frame Buffers"

Input Compatibility

Several input changes have been introduced into the graPHIGS API which may effect current Version 1 applications.

Data records used to initialize input devices are checked for errors more thoroughly in Version 2 than in Version 1. For example, in Version 1 your application could initialize a choice device which has only 12 buttons with a data recorded assuming the device has 32 buttons. Since the data record was not checked against the actual number of available buttons, no error was generated. In version 2 an error is generated and the data record is ignored.

In Version 1 of the graPHIGS API, the buffer length parameter of the Initialize String (GPINST) subroutine included the length of the prompt string. In Version 2 the buffer length parameter is defined to be independent of the prompt string length.

In Version 1 of the graPHIGS API, the Set Device Mode subroutines were sent immediately to the workstation. In Version 2, these commands are buffered until an event causes the buffer to be sent to the nucleus. In most cases, this change should not be a problem as the buffers are sent when the application uses a subroutine to obtain input device data. Any of the following graPHIGS API subroutine calls will cause the buffer to be sent to the workstation:

The buffer can also be forced to the nucleus by use of the Synchronixe (GPSYNC) subroutine.

Error Messages

New message numbers have been assigned for Version 2. Note that all error numbers are the same for compatibility. The new message numbers are in the following ranges:

Error messages for asynchronous errors now contain asterisks in the API subroutine name field. In addition, some subroutines generate the same shell-to-nucleus datastream (Open Workstation and Create Workstation for example). An error message may contain a "*" after the API subroutine name. The "*" indicates that the actual name of the subroutine which caused the error could not be determined. See The graPHIGS Programming Interface: Messages and Codes , for a detailed explanation of error messages.

Workstation Compatibility

The Message (GPMSG) subroutine text is not sent immediately to the workstation. If you require the GPMSG text to be displayed immediately, use the Synchronize (GPSYNC) to force the message text be sent.

In Version 1, a workstation in ASAP deferral mode received and processed each subroutine call immediately. In Version 2, a workstation's deferral mode is affected by the buffering done by the shell. Subroutine calls are buffered until sent by the shell, and once received by the workstation, they are processed according to the deferral mode. This buffering may impact the operation of your application.

In Version 1, unsupported class names defaulted to the highest available class name on the workstation. In Version 2, unsupported class names are ignored.

Structure Element Compatibility

(GPTXPT) subroutine applies to both geometric and annotation text. Version 2 provides the Set Annotation Path (GPAPT) attribute, which sets the path for annotation text. The Set Text Path attribute applies only to geometric text in Version 2.

Error Handling

Although the error handling mechanism of Version 1 of and Version 2 of the graPHIGS API is the same, the timing of when errors are reported to your application may differ. The timing difference is due to the buffering of data between the shell and the nucleus of the Version 2 product. In Version 2 some errors are not detected by the shell but are detected when a request is actually processed by a graPHIGS API nucleus. Because the request may be kept in a buffer for some period of time, predicting when a request will be processed is generally impossible. An error detected by a nucleus is reported to the shell asynchronously and queued on the shell's error queue. The shell will report the error before returning control to your application on the current or next call to the API.

The following is a list of subroutines and related errors which can only be detected by a graPHIGS API nucleus and therefore may not be generated during the call which caused the error.

The possibility of the asynchronous errors occurring for the Set Input Device Mode (GPxxMO) subroutines could cause problems for you when using the Await Event (GPAWEV) subroutine. For example, if your application calls the Set Choice Mode (GPCHMO) subroutine to put a choice device in EVENT mode and the device is already in use by another application process, the request will fail and the nucleus will send an asynchronous error back to the shell. But, since the Set Choice Mode request is buffered and not sent to the nucleus until the GPAWEV subroutine is called, your application will not know that the Set Choice Mode request failed and the GPAWEV subroutine would wait until a timeout occurs. A shell cannot detect this situation at the time the GPCHMO subroutine is called but will be informed via an asynchronous error when it is waiting for the actual device event. Therefore, the graPHIGS shell resolves the outstanding wait condition of the GPAWEV subroutine when it receives asynchronous errors. In this case, the event class returned by GPAWEV will be 0=NONE which it does not necessarily mean that the timeout interval has expired, but does mean that the event queue is empty.

Delayed error reports for structure editing subroutines like the Set Element Pointer at Label (GPEPLB) subroutine may cause more serious problems for applications written to Version 1 of the graPHIGS API Consider a case where the application wants to change the colors of all polylines in a structure. Assuming that each polyline is preceded by a label element with sequential numbers and a set polyline color index element, the following calling sequence could then be used to change all of the polyline color indexes elements:

  i = the_first_number
  Set Element Pointer at Label (i)
  do while no error
    Offset Element Pointer (1)
    Delete Element
    Set Polyline Color Index (new_color)
    i = i + 1
    Set Element Pointer at Label (i)
  end
This sequence works in the Version 1 graPHIGS API, but in the Version 2 environment, it will cause a problem. Because the error "130: LABEL IDENTIFIER CANNOT BE FOUND IN THE OPEN STRUCTURE " will be reported asynchronously, there is no assurance that the loop terminates at the correct place. Before the error is reported to the shell, some delete requests have been already generated in the shell's I/O buffer and will be eventually sent to the nucleus to be executed, resulting in more errors.

To solve this problem a synchronization mode is introduced as a parameter of the Synchronize (GPSYNC) subroutine. The synchronization mode has one of the following two values and specifies how the communication between the shell and nucleus should be performed when the GPSYNC subroutine is called.

1=NOWAIT
No synchronization is performed. Each time GPSYNC is called, any buffered data is sent to the nucleus and control is immediately returned to the application. The nucleus does not generate any synchronization information.
2=SYNC_WAIT
Synchronization is performed. Each time GPSYNC is invoked, any buffered data is sent to the nucleus and the shell enters a wait state until the nucleus responds that all outstanding requests from that connection have been processed.

The wait parameter ensures that all requests created by previous graPHIGS API subroutine calls have been sent to the target nucleus and their processing has been completed before control is returned to your application. Therefore, for the example case, the following calling sequence ensures the correct result:

 
  i = the_first_number
  Set Element Pointer at Label (i)
  Synchronize (WAIT)
  do while no error
    Offset Element Pointer (1)
    Delete Element
    Set Polyline Color Index (new_color)
    i = i + 1
    Set Element Pointer at Label (i)
    Synchronize (WAIT)
  end

The above pseudo code will work but is not recommended for performance critical applications.


Appendix C. graPHIGS Glossary

4 x 4 matrix. A logical device used in all transformations to modify the coordinates of a primitive.

A

address space. The set of addressable points, often in a specific coordinate direction; usually limited by the data path width in a physical device. Some addressable points may not be visible if they fall outside the display surface boundaries.

addressable point. Any point in the device coordinate space, whether displayable or not.

ambient light. A type of light source that enters into the reflectance calculation independent of the area being illuminated or the location of the eye.

ambient reflection coefficient. The fraction of light from ambient light sources that are reflected from an area.

anisotropic mapping. A transformation which need not preserve aspect ratio.

annotation text. An output primitive for text display for which only the text position is transformed. This is used for annotating drawing when the application wants the text always facing the display screen operator. The graPHIGS API uses hardware character generators where possible when generating annotation text output.

antialiasing. A technique used to "smooth" the jagged-edged appearance of graphical elements (e.g., lines, polygons) caused by scan conversion into component pixels on a raster grid. Techniques may include varying the intensity of pixels near the "jagged" primitive or the pixels associated with the primitive itself.

application data. Non-graphical data used by an application program. Application specific data may be inserted into a structure in the form of the application data structure element.

application message. A message passing facility provided by the graPHIGS API to allow application processes to communicate.

application program. A program used to generate graphics output and/or receive graphics input.

area defining primitive. Any primitive whose attributes may be derived from the interior representation table. Fill area, fill area set, triangle strip, and non-uniform B-spline surface are considered to be area defining primitives.

area properties. An attribute that defines the set of reflectance coefficients and other aspects which provide information about an area defining primitive to the rendering pipeline. Area properties include ambient reflection coefficient, diffuse reflection coefficient, specular reflection coefficient, specular exponent and transparency coefficient.

aspect ratio. The ratio of an object's width to its height. In graphics it usually pertains either to the display surface, to a window or view port, or to the shape of characters.

attenuation coefficient. A parameter that models the fading of light over a distance from one point to another. This phenomenon is referred to as the attenuation of light.

attribute source flag (ASF). A flag indicating whether a primitive's attribute is selected from a particular workstation-dependent attribute bundle table, or by way of an individual attribute specification. By default, ASFs are set for individual specification.

attribute. A particular property that applies to an output primitive. Attribute values are modal.

attribute binding. The application of attributes to the output primitives that they affect. In the graPHIGS API, this occurs at structure traversal time, not when output primitive elements are inserted into a structure.

attribute bundling. See Bundle, Bundle Table.

attribute definition. The process of declaring the set of possible values for an attribute. Attribute definition for workstation-dependent attributes is achieved through definition of the contents of the workstation attribute tables in the Set Extended Representation functions. Attribute definition functions are control functions, not structure elements.

attribute index. Some attributes are organized into workstation-dependent tables, which are accessed by way of workstation-independent attribute indexes.

attribute selection. The means by which the user specifies attribute values from a set of possible alternatives. For workstation attribute tables, the possible alternatives are the table entries. Attribute selection functions are structure elements. See also ASF.

attribute specification. The processes of attribute definition and attribute selection.

attributes of primitives. Ways in which the characteristics of an output primitive can vary. Some aspects are controlled directly by workstation-independent attributes; some can be controlled indirectly through a bundle table. Transformation and viewing matrices, as well as highlighting and visibility, are treated as attributes in the graPHIGS API.

axis. One of the reference lines of a coordinate system.

B

back face. Any portion of an area defining primitive which has a negative scalar product of its geometric normal as the vector connecting the positive area to the eyepoint. Back facing portions of primitives can be subjected to special attributes or made invisible.

binding. See Attribute Binding, Language Binding.

break action. An implementation-dependent and workstation-dependent means for the operator to interrupt an input operation.

bundle. A group of related attributes which may be selected and modified as a unit.

bundle attribute selection. Selection of all attributes applying to an output primitive by selecting a single bundle table index.

bundle table. A workstation-dependent table associated with particular output primitives. Each entry in a bundle table contains information specifying all the workstation-dependent aspects of a primitive. In the graPHIGS API, bundle tables exist for polylines, polymarkers, texts, interiors, and edges. The information in bundle tables is accessed via a bundle table index, one for each bundle table.

bundle table entry. A single entry in a bundle table. Each entry contains one value for each attribute aspect which applies to the corresponding output primitive. This set is workstation-dependent, meaning that a bundle table entry on different workstations may contain different values (although the format is always the same).

bundle table index. A number (value) used to access a particular bundle table entry. (Index is a mechanism for selection, attributes!) The index is workstation-independent. There is one bundle table index for each bundle table, e.g., TEXT INDEX for the text bundle table.

C

cartesian coordinates. Two-dimensional (X, Y) or three-dimensional (X, Y, Z) coordinates used in determining the position of a point in relation to a set of orthogonal axes.

center of projection. See Projection Reference Point (PRP).

character expansion factor. An attribute of text which specifies the multiplicative deviation of character aspect ratio from the defined nominal value. (A character expansion factor value of 1.0 specifies that the nominal character aspect ratio defined for the text font to be used).

character height. An attribute of text which specifies the height of a capital character in modeling coordinates (from Base Line to Cap Line).

character plane. The plane on which text appears. See Text Plane.

character set. Character set is an attribute of text. The text character set identifies the language of the text. Depending on the language, character codes may either be one or two bytes and their interpretation varies.

character spacing. An attribute of text which specifies the fraction of character height to be added between adjacent character boxes in a string. (A value of 0.0 specifies that no additional spacing be used.)

character up vector. An attribute of text which indicates the up direction of the text characters. The character up vector is a two-dimensional vector on the text plane.

child structure. A structure which is invoked by an "execute structure" element in another structure. See also parent structure.

choice. An input class which returns a positive integer representing an enumeration of alternatives.

choice device. (1) A logical input device that provides one value from a set of alternatives; a choice logical input device can be implemented as a physical input device such as the Lighted Program Function Keyboard (LPFK) or the function keys on a keyboard. (2) See also pick device, locator device, valuator device.

chordal deviation. Chordal deviation is the perpendicular distance between the actual curve and the approximating line segment.

class. An element of the class set; a classification of output primitives which is meaningful to application programs. A primitive will be detectable, highlighted, or invisible if one of the classes which are members of the set associated with the primitive is also contained in the inclusion filter for that attribute and none of the classes are in the exclusion filter.

class set. The traversal state which is comprised of classes which are added and removed during traversal. See Class.

clipping. Removing those parts of output primitives which lie outside a given boundary, usually a window, viewport, or view volume.

clipping volume. A volume in the viewing coordinate system. The clipping volume is defined by the window, near and far clipping planes, and projectors of the corners of the window. Graphics data within this volume will not be clipped. Data on the planes forming the edges for this volume are considered to be within the volume.

color approximation. See color quantization.

color index. An index used to access an entry of a color table in the graPHIGS API Each type of output primitive has its own color index, e.g., "polyline color index."

color mapping. See color quantization.

color mapping method. A method for quantizing colors.

color model. The method by which the user describes a color to the graphics system. The color model is a specification of a three-dimensional color coordinate system and a three-dimensional subspace in the coordinate system where each color is represented by a point. The RGB, CMY and HSV color models are supported by graPHIGS API.

color processing. See color Quantization.

color quantization. The process of mapping a arbitrary color vector to a color which can be displayed on a workstation.

color table. A workstation-dependent table, in which the entries specify the values defining a particular color.

color vector. Three values representing a three dimensional vector in normalized color space which define a specific color.

component frame buffer. A type of frame buffer consisting of three parts. Each part holds a display color table index for the red, green, and blue component of each screen pixel. Also see Frame Buffer and Indexed Frame Buffer.

composite primitives. Primitive which can be defined by intermixing different types of geometry such as lines, curves, surfaces, and arcs.

composite transformation. During structure traversal, the matrix resulting from the concatenation of the local modeling and the global modeling transformations.

concentration exponent. A measure of the concentration of light emanating from a spot light source relative to the direction of that source. This measure is used as an exponent to the cosine of the angle of deviation from the spot light direction, to produce a concentration scale factor for that deviation.

conceptual registers. storage device maintained at each workstation containing the current values of output primitive attributes; during display traversal, the API uses the current values in the registers to draw each primitive. See workstation attribute registers.

condition flags. An indexed state of boolean condition indicators that is part of the traversal state list. Some structure elements set or reset these indicators, other structure elements refer to the condition flags to determine their effects.

conditional traversal. The process of selectively traversing structures or portions of structures based on a condition determined at traversal time. Condition flags can be used to control traversal.

cone of influence. A cone that represents the influence of a spot light source. Only primitives (or portions of them) inside this cone are influenced by the lighting effect of the corresponding spot light source. The cone of influence is determined by the position, direction, and spread angle of the spot light source.

connection identifier. An implementation specific means of identifying a physical device, or a collection of these comprising a single workstation.

contour. A polygonal line that is closed and planar. Unlike a trimming loop, a contour may cross itself.

coordinate. A numerical value designating a position on an axis.

cull. To replace the representation of one or more primitives by another, typically similar, representation. The graPHIGS API defines two types of culling, face culling and extent culling.

D

DAP. See Distributed Application Process.

data storage. A conceptually centralized collection of structures. graPHIGS API structure editing and manipulation functions act on the contents of the data storage.

deferral mode. Part of the deferral state. The deferral mode specifies when changes to the workstation state must be reflected in the displayed image. Values of deferral mode are (ASAP, BNIL, BNIG, ASTI, WAIT).

deferral state. A control state which determines how long actions requested by the application program may be delayed.

default attribute value. The attribute value inherited by a root structure.

degenerate primitive. An output primitive whose definition reduces the dimensionality of the primitive. For example, if the vertices of a polygon are all co-linear, the polygon is degenerate.

depth cue. Colors of primitives are combined with a specific depth cue color to create an effect that distinguishes portions or primitives further from the viewer from those that are closer to the viewer.

depth cue mode. A field within a depth cue table entry that indicates whether or not depth cueing should be performed.

depth cue planes. Two reference planes in NPC parallel to the XY plane at which depth cue scaling factors are specified.

depth cue scale factors. Weights that determine how the primitive's color is combined with the depth cue color to produce the depth cue effect. One scale factor is specified for each depth cue plane.

depth cue table. A workstation dependent table, similar to the view table, which contains information necessary to control depth cueing.

depth queuing. The process of changing a primitive's color based on it's distance from the viewer to give the viewer a feeling of depth.

descendant. see child structure.

description table. A conceptually defined data structure containing static (fixed) information. Application programs can obtain description table contents through inquiry. See Description Table, Workstation Description Table.

device coordinates (DC). The coordinates used by workstation hardware. The coordinate units may be meters for devices such as a plotter, or an arbitrary sub-range of the integers for devices such as raster CRT's.

device space. The space defined by the addressable points of a display device.

diffuse reflection. An approximation of the light reflected equally in all directions from a surface. Diffusely reflected light gives a surface a dull matte appearance from all viewing angles.

diffuse reflection coefficient. The fraction of light from non-ambient light sources diffusely reflecting from a surface.

dimensionality. The number of coordinates needed to specify a point in any coordinate space. The graPHIGS API uses both two and three dimensional coordinate spaces.

direct color. A non-indexed method of specifying color where the components of the color are specified together with the color model in which these components are expressed.

directional light. A type of light source that enters into the reflectance calculation dependent on the area being illuminated, yet independent of the relative position of the area being illuminated.

disjoint polyline. An output primitive which allows a set of unconnected lines to be defined and manipulated one one structure element.

display color table. A display color table that typically corresponds to a workstation's hardware color table and contains the color vectors which are actually to be used to drive the display device such as a color monitor. A Display Color Table is sometimes referred to as an output color table because the output of the rendering pipeline is used to select colors from the display color table.

display device. A graphics device (for example, refresh display, storage tube display, plotter) on which pictures can be represented. A display device is one possible component of a workstation.

display space. That portion of the device space corresponding to the area available for displaying pictures. The display space may be all or part of the display surface.

display surface. The physical area on a display device onto which a graphics picture is generated (for example, the screen of a display or a computer printout). Also called "view surface."

distributed application process (DAP). Part of an application program which can run as a separate process either on the same node as the main application or on a separate node.

E

echo. The immediate notification of the current value, or measure of a logical input device, provided to the operator, usually at the display console.

echo type. A parameter of device initialization which selects the echoing technique for a particular logical input device.

edge flag. An indicator that is part of the specification for some output primitives that controls whether an individual edge is visible when the EDGE FLAG attribute is set to ON. If the EDGE FLAG attribute is set to OFF, edge visibility flags are not used.

editing. The modification of a structure, including its initial creation.

edit Mode. A mode controlling whether or not new structure elements are inserted between already existing structure (INSERT mode) elements or in place of them (REPLACE mode).

element pointer. A pointer used during structure editing which points to the structure element which is currently subject to modification.

element record. The inquirable contents of a structure element.

element type. A structure element's identifying classification, for example, POLYGON, LABEL, APPLICATION DATA, LINEWIDTH SCALE FACTOR, etc.

empty structure. A structure containing no structure elements.

error condition. An abnormal situation detectable by the graphics system.

error detection. The realization of the presence of an error condition.

error logging. Recording information of the occurrence of an error condition.

error reaction. A predefined action taken after error detection.

error reporting. The communication of the error condition to the application program.

escape. A function used to access implementation or device dependent features, other than for the generation of graphical output, that are not otherwise addressed by the GKS or PHIGS models.

event input. One of three input modes. In event input mode, asynchronous input is placed on the event queue when a trigger fires.

event queue. A time-ordered collection of input events.

event Report. A logical input value saved on an event queue.

exclusion highlighting set. Those highlighting classes whose primitives are declared ineligible for highlighting.

exclusion invisibility set. Those invisibility classes whose primitives are declared ineligible for invisibility.

exclusion pick set. Those pick classes whose primitives are declared ineligible for picking.

extended pixel memory (EPM). A feature available on an IBM 6090 which provides a 6090 with Component Frame Buffer capabilities.

eye point. See projection reference point.

F

face culling. The process of making back facing (or front facing) primitives or portions of primitives invisible.

facet. A planar portion of an area defining primitive. Facets may be defined by vertices that constitute a subset of the primitive's set of vertices. The following primitives consist of one or more facets: fill area, fill area set, and triangle strip. Facets may also result from the tessellation of parametric surface primitives.

facet normal. A vector supplied with an area defining primitive and which is associated with a facet of such a primitive. A facet normal is typically used for determining the geometric normal of a facet, and for determining the reflectance normal, in case vertex normals are not supplied with the primitive.

far clipping plane. A plane parallel to the view plane whose location is specified by a viewing coordinate space distance along the view plane normal from the view reference point. When far plane clipping is enabled, portions of objects behind the far clipping plane are discarded. Clipping against the far clipping plane is controlled separately from all other clipping.

far plane clipping. Clipping against the far clipping plane. If far plane clipping is enabled, only that part of the object which lies in front of and on the far clipping plane will be projected onto the viewport. Far plane clipping is enabled by default.

far distance. The distance from the far clipping plane to the origin of the VRC coordinate system.

fill area. An output primitive used to draw polygonal areas. The graPHIGS API supports the more general polygon primitive.

fill area with data. An output primitive consisting of a single contour, similar to the polygon primitive in the graPHIGS API element may include other information such as colors or normals that may be used to light and shade the primitive.

front face. Any portion of an area defining primitive whose geometric normal when transformed to NPC has a non-negative Z component. Front facing portions of primitives can be made invisible.

fixed size font. A text font in which every character has the same character body boundaries.

font designer. The person who designs text fonts for a graPHIGS API implementation. The font designer is responsible for choosing the font's aspects, including the justification points, using aesthetic criteria.

font directory. A resource of a graPHIGS API nucleus used to store font definitions supplied by a graPHIGS API shell.

frame buffer. An array of memory defining the color or intensity of each pixel on a workstation's display surface. Also see Indexed Frame Buffer and Component Frame Buffer.

frame buffer write protect mask. Consists of a set of bits defining which frame buffer bit planes are write protected.

G

generalized drawing primitive (GDP). A primitive structure element which is not supported on all workstation platforms.

generalized structure element (GSE). A structure element (typically a primitive attribute) which is not supported on all workstation platforms.

geometric normal. A vector that is perpendicular to the plane containing a primitive, facet, or sub-primitive. The geometric normal may be used in lighting calculations, and to determine whether primitives or portions of primitives are back facing.

geometric text. An output primitive for text display for which all text attributes are fully transformable. This is used for drawing text where the application requires explicit control over all aspects of the text's presentation.

graphics data. The collection of data required to produce a picture.

graPHIGS API description table. The data structure which gives the static (fixed) workstation-independent parameters and defaults of the graPHIGS API system.

graPHIGS APIstate list. The data structure which gives the dynamic (variable) workstation-independent control parameters of the graPHIGS API system.

global modeling transformation. During structure traversal, the composite modeling transformation of the parent structure, composed with the local modeling transformation to form the current composite modeling transformation.

H

hatch. One possible representation of the interior of a POLYGON primitive. The interior of the polygon is filled with a pattern of parallel and/or crossing hatch lines, selected from the workstation's hatch table.

hatch table. The workstation-dependent collection of possible hatches.

Hidden Line and Hidden Surface Removal (HLHSR). The process of displaying only those primitives which are not obscured by other primitives in the user's field of view. Also see Z-Buffer.

HLHSR. See Hidden Line and Hidden Surface Removal and Z-Buffer.

hierarchical. A relationship between structures resulting from the ability of structures to invoke other structures.

highlighting. An attribute indicating whether subsequent output primitives encountered during structure traversal are to be distinguished in some workstation-dependent manner. The current color used to highlight primitives is indicated by the highlight color index.

highlighting filter. A collection of highlighting classes (the Inclusion Highlighting Filter and the Exclusion Highlighting Filter) used to identify primitives which are eligible or ineligible for highlighting.

hollow. One possible representation of the interior of a POLYGON primitive. A boundary line only is displayed (the interior itself is empty).

HSV. The Hue, Saturation, Value color model.

I

intrinsic color. The color of an area defining primitive that is independent of light sources. This color is used as the diffuse color in reflectance calculations. In case lighting is disabled, the intrinsic color is used for rendering the primitive.

isoparametric curve. The parametric curve that is produced from a parametric surface by holding one of the independent variables constant.

image. A collection of image boards and possibly a color table that can be mapped to a view for display.

image board. A resource of a graPHIGS API nucleus which consists of an array of data used to store and display an image.

implementation-dependent. Some aspect of the system which cannot be completely specified, but will vary from implementation to implementation.

implicit regeneration. Regeneration of the picture on a display surface, which may occur when changes to the picture definition invalidate the displayed image. The application program did not explicitly request the regeneration.

inclusion highlighting set. Those highlighting classes whose primitives are declared eligible for highlighting.

inclusion invisibility set. Those invisibility classes whose primitives are declared eligible for invisibility.

inclusion pick set. Those pick classes whose primitives are declared eligible for picking.

indexed frame buffer. A type of frame buffer which contains one display color table index for each pixel on the display surface. Also see Frame Buffer and Component Frame Buffer.

individual attribute selection. Selection of one particular attribute value by a structure element.

infinite light. A type of light source that enters into the lighting calculation dependent on the orientation of surface being illuminated, but independent of the relative position of the surface being illuminated. This is used to simulate light sources relatively far from the surface being shaded. Same as directional light source.

inherit. The automatic passing of attribute selections from a parent structure to a child structure. The child structure need not specify all attributes explicitly, since the inherited values act as local defaults.

input class. A set of input devices that are logically equivalent with respect to their function. In graPHIGS API, the input classes are: Locator, Stroke, Valuator, Choice, Pick, and String.

input data record. A data structure containing detailed information about the measure and echo type of a logical input device. Provided by the application program when the device is initialized.

input device. A hardware capability used for input. A physical input device is either part of a display device or a separate part of the workstation.

input mode. One of the three possible means of requesting and obtaining data from a logical input device: REQUEST, SAMPLE, or EVENT.

input priority. One characteristic of a view; it helps determine the particular view whose inverse transformation is applied to locator input.

instancing. A method of defining an object to appear once in a data base and replicating it (without copying) multiple times with what may be different positions, sizes, orientations, and other attributes as inherited by the instance. (See also hierarchical and inheritance.)

interactive device. Any graphics device that supports both graphics output and input.

inquiry. The communication of data contained in a state list or description table to the application program. Can also be applied to other data structures such as structures (also called "query").

invisibility filter. A collection of invisibility classes (the Inclusion Invisibility Filter and the Exclusion Invisibility Filter) used to identify primitives which are eligible or ineligible for invisibility.

isotropic mapping. A transformation which preserves aspect ratio.

K

knot vector. A non-decreasing sequence of real numbers that is part of the definition of non-uniform B-splines. This vector consists of values for the independent variable of the parametric primitive, and is used in computing the B-spline basis polynomials.

L

label. A structure element consisting of an identifier which can be used to facilitate structure editing.

language binding. The binding of a functional specification to the syntax of a particular programming language.

lighting. The effect of light sources upon an area defining primitive.

lighting equation. A general formula through which the effect of lights illuminating area defining primitives is modelled.

light source. An entry in a workstation light source table. Four types of light sources are defined: ambient, infinite, positional and spot. All light sources have a color. Some light source types have a position, direction, concentration exponent, spread angle, and/or attenuation coefficients.

light source direction. A unit vector that defines the orientation of directional and spot light sources.

light source state. An attribute that selects which light sources in a workstation light source table are ON.

lighting. The effect of light sources upon an area defining primitive.

linetype. An attribute which indicates the style of the image of certain visible lines (e.g., solid, dashed). Values of this attribute apply only to primitives which create visible line segments (for example, POLYLINE). The default line type is SOLID.

linewidth scale factor. An attribute which indicates the relative width of the image of a visible line. The linewidth scale factor is applied to a workstation-dependent nominal value. Values of this attribute apply only to primitives which create visible line segments (for example, POLYLINE).

local modeling transformation. During structure traversal, the modeling transformation of the current structure. Composed with the global modeling transformation, possibly inherited from the parent structure, to form the current composite modeling transformation. Initialized to the identity transformation upon entering a structure.

locator. An input class providing world coordinate positioning information.

locator device. (1) A logical input device that provides a position in World Coordinates (WC); a locator logical input device can be implemented as a physical input device such as a mouse, a tablet, or a puck. (2) See also choice device, pick device, valuator device.

logical input device. An abstraction of one or more physical input devices which delivers logical input values to the application program. Logical input devices in graPHIGS API can be of class locator, stroke, valuator, choice, pick, or string.

logical input value. A value delivered by a logical input device.

M

marker. A glyph with a specified appearance which is used to identify a particular location. Markers are a means by which two-dimensional and three-dimensional points manifest themselves on the output display surface. Marker size is not subject to transformations, but position is.

marker size scale factor. An attribute controlling the size of a marker. The size is specified as a multiple of the nominal marker size, a workstation-dependent constant.

marker type. An attribute which defines the glyph used to denote the position of a visible POLYMARKER primitive.

measure. A value (associated with a logical input device) which is determined by one or more physical input devices and a mapping from the values delivered by the physical devices. The logical input value delivered by a logical input device is the current value of the measure.

measure process. A process in existence whenever a logical input device has been enabled for interaction. The current state of a measure process is the measure.

modal. A type of change mechanism which extends its effect until further notice, that is, until another change specification supersedes it. Attribute settings and control functions behave modally in graPHIGS API.

modal attribute settings. The specification of attributes during structure traversal in graPHIGS API using a current value which applies to subsequent output primitives until changed.

model. Refers to a computer's internal representation of an object in the form of an application program interleaved with graphics data. Your application uses the graphics data to build models that represents objects in the real world.

modeling coordinates. A local coordinate system in which graphical objects are defined by the application program using the graPHIGS API output primitives.

modeling coordinate system. A high-level system for defining (constructing) and manipulating objects. A modeling system describes objects to the graPHIGS API using modeling coordinates. Modeling coordinate objects are mapped into world coordinates using the modeling transformation.

modeling transformation. A transformation applied to all primitives (which are defined in modeling coordinate space), to position them in world coordinate space.

N

near clipping plane. A plane parallel to the view plane which is specified by a distance in viewing coordinate space from the origin along the N axis. When near plane clipping is enabled, portions of objects in front of the near clipping plane are discarded. Clipping against the near clipping plane is controlled separately from window clipping.

near distance. The distance from the near clipping plane to the origin of VRC.

near plane clipping. Near plane clipping is clipping against that part of the object which lies within and on the view volume, behind and on the near clipping plane. Near plane clipping is enabled by default. Near plane clipping is independent of far plane clipping.

new frame action. See Regeneration.

NIL. A value returned for some parameters of type "enumeration" (E) to indicate non-existence, for example, Inquire Open Structure returns NIL when no structure is open.

nominal value. The default, workstation-dependent value for an attribute such as linewidth, to which other possible values on that workstation are relative.

non-rigid transformation. Any transformation that doesn't preserve angles, and distorts the shape of objects, for example; perspective, shearing, and non-uniform scaling.

Non-Uniform Rational B-Splines (NURBS). A mathematically flexible means of defining parametric curves and surfaces.

normal. A vector that is perpendicular to a surface at a specific location. The normal is used to specify the orientation of a surface for use in the light calculation. Using the graPHIGS API, an application can approximate a surface by polygon with data primitives. In this case, the application could supply surface normals at each vertex to obtain a better visual representation. When this occurs, the normals are not necessarily perpendicular to the plane of the polygon.

nucleus. The part of the graPHIGS API which manages workstation, structure store, image board, and font directory resources. The nucleus is responsible for processing requests from attached graPHIGS API shells.

NURBS. See Non-Uniform Rational B-Spline.

O

object. Refers to both things and abstractions in the real world such as tangible substances, and intangible ideas and processes.

object-centered viewing. A viewing situation in which the object is considered fixed and the most likely dynamic behavior is for the viewer to move around the object. See viewer-centered viewing.

oblique view. A parallel projection whose projectors are not perpendicular to the view plane.

operator. User of an (interactive) application program which is implemented using the graPHIGS API The operator interacts with the application program through workstation input and output capabilities.

origin. A reference point whose coordinates are all zero.

output primitive. A basic graphical element (e.g., a line or a text string) used to construct an object. The values of attributes determine certain aspects of the appearance of an output primitive.

P

panning. The process of translating all elements of a picture to give the appearance of sideways movement to a point or object of interest. See zooming.

parallel projection. The image of a three-dimensional object in which lines that are parallel in the object appear parallel in the image without regard to relative distance or depth.

parent structure. A structure which invokes another structure, the child structure.

pattern. One possible representation of the interior of a POLYGON primitive. The interior of the polygon is filled with a two-dimensional array of color indexes, selected from the workstation's pattern table.

pattern table. The workstation-dependent table of possible pattern values.

perspective projection. The image of a three-dimensional object in which parallel lines appear to converge in the image as a function of relative distance or depth of the object from the position of the viewer.

PHIGS. The Programmer's Hierarchical Interactive Graphics System, a standard (ISO and ANSI).

physical input device. The actual hardware input device used to generate input to an application program. Physical input devices supply input data to logical input devices to generate the actual input to an application program. Also see logical input device.

pick. An input class providing identifying information (e.g., structure identifier, pick identifier, etc.) for a selected output primitive.

pick aperture. An implementation-dependent and workstation-dependent area for testing objects during a pick input operation. To be picked, at least some portion of the object must be within the pick aperture. The coordinate system used to define the pick aperture is implementation-dependent and workstation-dependent.

pick device. (1) A logical input device to select a graphical display element or segment; a pick logical input device can be implemented as a physical input device such as a screen cursor controlled by a mouse, a stylus, or a puck. (2) See also choice device, locator device, valuator device.

pick filter. A collection of pick classes (the Inclusion Pick Filter and the Exclusion Pick Filter) associated with a pick interaction, used to identify primitives which are eligible or ineligible for picking.

pick identifier. A "name" returned by the pick logical input device.

pick path. The traversal path to a picked primitive from its root structure, represented as a series of structure elements, pick ids, and structure ids.

pick path depth. The number of levels of the pick path returned on a pick, as specified when the pick device is initialized.

picture. The collection of information that is visible at any moment on a display surface.

pipeline. See transformation pipeline.

pixel. The smallest element of a raster display surface that can be independently assigned a color or intensity.

polygon. An output primitive consisting of a collection of polygonal areas which are considered as one area. Attributes are provided in the graPHIGS API to control the appearance of both the interior and/or the edges of the polygon.

polygonal area. A closed planar figure defined by the vertices of its linear boundary (or edge). The boundary may cross itself. Polygonal areas are defined using the POLYGON primitive.

polygon edge. The boundary of a polygon. Contained in the POLYGON primitive.

polyline. An output primitive consisting of a set of connected lines.

polyline set with data. An output primitive consisting of an unconnected set of polylines. The corresponding structure element may include other information such as colors that may be used to shade the primitive.

polymarker. An output primitive consisting of a set of markers.

positional Light. A type of light source that enters into the lighting calculation dependent on the orientation and relative position of the surface being illuminated.

priority. The priority used in displaying primitives, structures, and views.

primary trigger. The input trigger which terminates the measure process and causes the input to be returned to the application.

primitive. See Output Primitive.

projector. Lines which pass through each point of an object and intersect the view plane.

projection. A transformation function used to map three-dimensional coordinates to a constrained three-dimensional coordinate space. In particular, the intersections of all of the projectors with the view plane is called the projection of that object on the view plane. See also parallel projection and perspective projection.

projection plane. See View Plane.

projection reference point (PRP). A VRC point which determines the direction of all projectors in a parallel projection (i.e., all of the projectors are parallel to the vector defined by the projection reference point and the center of the window) or from which all projectors in a perspective projection emanate.

projection type. The type of projection to be used in view mapping. i.e., parallel projection or perspective projection.

prompt. Output to the operator indicating that a specific logical input device is available. Used to request input.

proportionally sized font. A text font in which each character's body boundaries vary as a function of that character's visible representation.

prune. To replace or bypass traversal of a portion of a structure network when a particular extent is completely clipped by either the modelling clipping limits, or the workstation transformation.

R

raster cell. See cell, pixel.

raster graphics. Computer graphics in which a picture is composed of an array of pixels arranged in rows and columns.

rational parametric polynomial primitives. Curves and surfaces that are defined via a vector polynomial that maps from parameter space to 4D homogeneous coordinates, and by a projection to 3D modelling coordinates.

realized value. An actual value used by a workstation depending on its capabilities. See SET Value.

reference. See Structure Reference.

reflectance equation. The equation that models the light reflected by an illuminated area defining primitive.

reflectance normal. A vector used in the reflectance calculation, typically derived from vertex normals or from the geometry of the primitive.

regeneration. The redrawing of the display. May be explicit or implicit. On some devices, it may also be automatic.

rendering. The process of generating the image of a geometric primitive based on the primitive's definition and attributes.

rendering color table. The workstation color table used to convert color index values into color vectors to be processed by the rendering pipeline. A rendering color table is sometimes referred to as an input color table because the values taken from the color table are used as input to the rendering pipeline. Also see display color table.

rendering pipeline. The sequential set of processes performed on a primitive to generate the primitive's image.

request input. One of three input modes. In request mode, the application program requests graphical input and then waits for an input value to be returned.

resolution. The number of visible distinguishable units in the device coordinate space. Contrast with addressable point.

RGB. The Red, Green, Blue color model.

right-handed system. A three-dimensional coordinate system in which, if the positive X-axis points up, then the positive Z-axis points toward the viewer. In mathematical terms, the cross product of the X unit vector with the Y unit vector produces the Z unit vector (Z = X x Y).

rigid transformations. Any transformation that preserves angles, so as to preserve the constant shape of objects and, more importantly, preserves normals; for example rotations, translations, and uniform scales.

root structure. A structure which has been associated to a workstation and view or both.

rotation. Turning an object about an arbitrary axis in a two-dimensional or three-dimensional coordinate space.

S

sample input. One of three input modes. In sample mode, the application program retrieves the measure of a logical input device without waiting for any external operator action.

scaling. Enlarging or reducing the size of an object by multiplying the coordinates of its output primitives by a constant value.

secondary trigger. An input trigger which performs some intermediate function in the accumulation of input during the measure process. For example, this may involve adding, deleting, or modifying the current data in the input device buffer.

set value. A value as provided by the application program to a workstation. The workstation may not be able to render the SET value exactly.

shading. The interpolation portion of the rendering pipeline. Shading is applicable to area defining primitives.

shell. The part of the graPHIGS API which interfaces with an application program. The shell performs parameter checking, error handling, event handling, and the building of data buffers containing nucleus requests.

silhouette edge. A curve on a surface that exhibits a special relation to an observer of the surface. A point on the surface belongs to the silhouette edge if the surface normal at that point is perpendicular to the vector emanating from the point to the eye point.

solid. One possible representation of the interior or a polygon primitive. The interior of the image is filled with the solid color specified by the interior color index attribute.

specular color. The color of specular highlights of an area.

specular exponent. A number representing the shininess of a surface. The higher the specular exponent, the shinier the surface. Negative exponents are not permitted.

specular reflection. An approximation of the light reflected from a surface which causes highlights on shiny objects. The intensity of specular reflections, unlike diffuse reflections, is highly dependent on the viewing angle of the observer.

specular reflection coefficient. The fraction of light from non-ambient sources specularly reflecting from an area.

spot light. A type of light source like a positional light, but that also restricts the zone of illumination to a semi-infinite cone and/or concentrates the brightness of the light along a ray emanating from the light source position.

spread angle. An angle that determines the cone of influence of a spot light source. Only points inside this cone are affected by the corresponding light source.

state list. A data structure containing current values of system variables. Application programs can obtain state list contents through inquiry. See graPHIGS API State List, Workstation State List, Structure State List, Error State List, Utility Function State List, Traversal State List.

string. An input class which returns a character string.

string device. A logical input device of input class string.

stroke. An input class which returns a sequence of positions in world coordinates.

stroke device. A logical input device of input class stroke.

structure. A grouping of elements which provides the necessary information to describe all or part of an object, excluding workstation state and control information.

structure element. A unit of data which comprises a structure. Structure elements include output primitives, attribute selections, labels, application data, pick set specifications, transformation selections, and structure invocations.

structure identifier. The identifier by which a structure can be referenced. An integer in the graPHIGS API.

structure invocation. The process of executing another structure.

structure network. A hierarchical family of related structures.

structure reference. A reference to a structure; created by executing a structure or by posting it as a root.

structure state list. A data structure containing information for all structures defined during the execution of a graPHIGS API program.

structure store. A resource of a graPHIGS API nucleus used to store structures.

structure traversal. The processing of structures to produce an image.

structure query. Communication of information in the current structure element to the application program, at the request of the application program.

sub-primitive. An implementation dependent fragment that may be generated by the tessellation of a curve or surface primitive that is rendered in much the same way a polyline or polygon is rendered.

surface properties. An attribute that defines the set of reflectance coefficients and other aspects which provide information about an area defining primitive to the lighting and shading stage of the rendering pipeline. Surface properties include ambient reflection coefficient, diffuse reflection coefficient, specular exponent and transparency coefficient.

T

tessellation. The process of subdividing a curve or surface primitive into lines or polygons respectively.

text. An output primitive consisting of a character string.

text alignment. An attribute of text which specifies the mode of justification. This attribute has two components, one for horizontal justification (LEFT, LEFT BODY, CENTER, RIGHT BODY, RIGHT) and one for vertical justification (TOP, CAP, HALF, BASE, BOTTOM).

text font. A workstation-dependent attribute of text which indicates certain aspects of a visible character (such as style, typeface, boldface, italic, polygonal vs. outline, etc.). Text font in graPHIGS API is an integer, selecting a font encompassing these aspects, as defined by the font designer. Text font is one of the components of text bundle entry.

text path. An attribute of text which indicates the direction, relative to the character up vector, in which the text is drawn within the text plane.

text plane. The plane on which text appears.

text position. A point defined within the text primitive which (together with the text reference points) defines the text plane. The text position also determines (together with text alignment), the location of the text string.

text precision. A workstation-dependent attribute of text which indicates the accuracy of interpretation of positioning and clipping the text primitive.

text reference points. Two points in the text function which (together with the text position) determine the text plane.

transformation. A mathematical operation which converts the coordinates of one representational system into another; for example, modeling coordinates to world coordinates.

transformation pipeline. The series of mathematical operations which act on output primitives and geometric attributes to convert them from modeling coordinates to device coordinates.

translation. The application of a displacement to the position of an object without rotation or scaling.

transparency. An attribute applied to surface primitives which permits primitives behind the surface to be visible through the surface.

transparency coefficient. The fraction of light transmitted through an area.

traversal. See structure traversal.

traversal state list. A data structure containing information for all structures traversed during the execution of a graPHIGS API program.

trimmed surface. A primitive that is defined by a parametric surface and a set of contours in parameter space. The contours specify the portions of parameter space over which the surface is rendered.

trimming curve. A parametric curve defined in the parameter space of the surface to which it applies. Trim curves are combined to form contours which limit the parameter range over which the corresponding surface is rendered.

trigger. A physical input device or set of devices which an operator can use to indicate completion of a measure process.

trigger process. A process which notifies a recipient logical input device when a trigger is fired. The trigger process only exists when a device is in EVENT mode, or is in REQUEST mode with a request pending.

U

utility function. One of a group of functions provided to create a graPHIGS API matrix from the parameters which are natural to the application program. Functions are provided to assist with the creation of both modeling and viewing matrices. Viewing parameters are used which support a commonly used viewing approach. Application programs may choose to use another approach to viewing, or compose the matrices directly for other reasons.

utility function state list. The data structure which contains the parameters used by the utility functions which support the creation of viewing matrices.

UVN Coordinate System. See Viewing Coordinates.

V

valuator device. (1) A logical input device that provides a scalar value; a valuator logical input device is typically implemented as a physical input device such as a dial. The 5080/6090 dials unit with eight dials is an example; each of the eight dials is a valuator input mechanism. (2) See also choice device, locator device, pick device.

vector. A straight line segment which has both magnitude and direction. Vectors are used in the graPHIGS API to specify certain parameters. In some cases, only the direction of the vector (not its magnitude) is actually used by the graphics system (e.g., character up direction).

vertex color. A Color associated with each vertex of some primitives such as polyline set with data, fill area with data, fill area set with data, polyhedron with data, or triangle strip with data. The color is contained within the primitive definition and may be used as input to the rendering pipeline.

vertex normal. A vector supplied with an area defining primitive and associated with a vertex of such a primitive. Vertex normals are typically used for determining reflectance normals. For example, an application can approximate a surface using polygon 3 with data primitives, and supply vertex normals to obtain a better visual representation. In this case, the normals are not necessarily perpendicular to the plane of the polygon, but might be normal to the surface being approximated.

view. The description of a viewing operation which produces a displayable picture from world coordinates. Each workstation has a table of views which is accessed in a workstation-independent manner.

view distance. See view plane distance.

viewer-centered viewing. A viewing situation in which the viewer's position is considered fixed and the most likely dynamic behavior is for the viewer to "look around" at the world.

viewing coordinates. A three-dimensional coordinate system used for defining windows and projection parameters. It is defined by its view orientation matrix. The axes of the viewing coordinate system are labeled U, V, N.

viewing parameters. The parameters which may be used to define the viewing coordinate system and other aspects of a view.

viewing pipeline. See transformation pipeline.

viewing transformation. A normalization operation which maps positions in world coordinates to positions in viewing coordinates. In addition, a viewing operation specifies the portion of world coordinate space that is to be displayed.

view mapping. The transformation from viewing coordinates to logical device coordinates. This transformation includes a projection mapping and optional clipping. Also called the window or viewport transformation.

view matrix. A matrix used to specify the viewing transformation. The view matrix may be composed using utility functions.

view plane. A two-dimensional plane onto which three-dimensional objects are projected.

view plane distance. The distance of the view plane from the origin of VRC. Used by the viewing utilities.

view plane normal. A vector normal to the view plane used to orient the plane. Used by the viewing utilities.

viewport. An application program specified part of normalized projection coordinates. The contents of the view volume are mapped to the viewport.

view reference point. A convenient world coordinate point on or near the object being viewed. All of the viewing parameters are specified relative to the view reference point. The view reference point becomes the origin of the viewing coordinate system. Used by the viewing utilities.

view surface. See display surface.

view table. The workstation-dependent table of views found on each workstation.

view up vector. A vector in world coordinates relative to the view reference point which, if it were within the window, would appear upright on the display surface. The view up vector is projected onto the view plane, in the direction of the view plane normal; this projection (which is the U axis in the viewing coordinate system) orients the world coordinate "up" direction for the view. The default view up vector is (0,1,0) which causes the Y axis to be "up" Note that this default will not work if the view plane normal is parallel to the Y axis. Used by the viewing utilities.

view volume. The view volume is either a (possibly truncated) pyramid for perspective projection or a volume with sides parallel to the direction of projection for parallel projection. The boundaries of the view volume are determined by the window defined in the view plane, the near and far clipping planes, and projections from the projection reference point through the window corners (for perspective projection) or projectors in the direction of projection through the window corners (for parallel projection). If the projection reference point is not on the view plane normal, a sheared projection will result. In strictly two-dimensional applications, the view volume reduces to an area on the view plane.

visibility. An attribute which indicates whether output primitives are actually visible on the display surface. In the graPHIGS API, visibility is controlled using class names and filters.

W

Ward. A section of a Double-Byte Character Set where the first byte of all the codes belonging to it are the same. A Ward has a unique number which represents the first byte of the code belonging to that Ward.

window. A rectangle on the view plane which defines the XY limits of the view volume.

window clipping. Clipping against the sides of the view volume defined by the window.

window or viewport transformation. See view mapping.

wire frame. A three-dimensional object represented as a series of line segments outlining its surface.

workstation. An abstraction of physical graphics devices providing the logical interface through which the application program controls physical devices.

workstation attribute. Those attributes which have values that are specific to a workstation. Workstation attribute values are workstation-dependent.

workstation attribute tables. A conceptually upper boundless table of all workstation attribute table entries for a given table-driven workstation attribute, including, but not limited to, the bundled attributes. The attribute tables are referenced indirectly through an index, which may be either workstation-independent (e.g., Text Index) or workstation-dependent (e.g., Text Color Index). Not all workstation attributes are table-driven. The workstation tables are workstation-dependent since they exist for each workstation.

workstation attribute table entry. One of a set of specifications for a particular workstation attribute. For example, a color table entry is a workstation attribute table entry since it is a specification of one of a set of colors. Format is of no concern to the user.

workstation attribute table index. A reference to a workstation attribute table entry. The workstation attribute table index is a global-modal attribute. The index can be either workstation-independent (e.g., Text Index) or workstation-dependent (e.g., Text Color Index).

workstation attribute registers. Conceptual registers in which the current value of each workstation attribute is kept during structure traversal. These values determine the actual appearance of the image. See conceptual registers.

workstation category. Determines whether a particular workstation type can process graphics input only, graphics output only, or both output and input.

Workstation Configuration Variable (WCV). Items describing the capabilities of a workstation which may vary depending on its physical configuration are identified as WCV's.

workstation-dependent. Entities that can vary from workstation to workstation.

workstation description table. The data structure which gives static (fixed) information for a particular workstation type.

workstation identifier. Uniquely identifies a particular workstation.

workstation-independent. Entities which are the same across all workstations.

workstation state list. The data structure which gives dynamic (variable) information for a particular workstation.

workstation transformation. An isotropic transformation which maps the boundary and interior of a workstation window into the boundary and interior of a workstation viewport, performing translation and scaling. This transformation maps normalized projection coordinates (NPC) to device coordinates. The effect of preserving aspect ratio is that the interior of the workstation window might not map to the whole of the workstation viewport.

workstation type. A type or class of actual workstation, sharing common characteristics and a single workstation description table.

workstation viewport. A portion of display space currently selected for output of graphics.

workstation window. The area in NPC space which is represented on a display surface and is mapped to the workstation viewport.

World Coordinates (WC). Device-independent Cartesian coordinates used by the application program to organize modelled two-dimensional or three-dimensional objects for display. The effect of applying the composite modeling transformation to modeling coordinates is to produce world coordinates.

Z

Z-Buffer. A hardware feature that permits a workstation to perform Hidden Line and Hidden Surface Removal (HLHSR).

zooming. The process of scaling all elements of a picture to give the appearance of having moved towards or away from a point or object of interest.


[ Previous | Contents | Glossary | Home | Search ]