This chapter describes the following graPHIGS API deviations from the ISO PHIGS standard:
The graPHIGS API implementation of ISO PHIGS does not support the functionality required for:
For Set Annotation Text Character Up Vector and Set Character Up Vector, the graPHIGS API stores only the normalized vectors. Therefore, on the inquiry for these elements, the normalized vectors are returned. In addition, if the application passes a vector of length 0, the default vector is stored in the element. On a subsequent inquiry for the element, the graPHIGS API returns the default vector.
For Text 3, only the normalized text reference vectors are stored into the element. These normalized vectors are returned on an inquiry for the element. If the text reference vectors are linearly dependent (e.g., one vector is 0, or they are parallel) the default vectors of [1,0,0] and [0,1,0] are stored. An inquiry for this element returns the default vectors. In either case, the display is identical.
Inquired color components of type SET may differ from the parameters passed to the setting routine due to conversions between the color model in which color components are stored and the model at the time the set and inquiry routines are called. either subroutine call. In most cases these differences are due to numerical roundoff and truncation, and are slight. Differences can be large when CIELUV coordinates are outside the gamut of the monitor primaries. The u' and v' coordinates are desaturated toward white to obtain a color within the gamut without changing the luminosity y. The resulting RGB coordinates are saved and inquired.
The ISO PHIGS Await Event subroutine call could return a class of Input Overflow Events in the graPHIGS API. See The graPHIGS Programming Interface: Technical Reference for additional information.
Initial pick path is ignored by the graPHIGS API. Therefore, on an inquiry for the pick device data, the pick path set by the application on the Initialize Pick is not returned.
A sample input device subroutine call forces an invalid mode error if the device is in request mode, but no error is issued if the device is in event or sample mode. The ISO PHIGS standard defines a 252 error if not in sample mode, but the graPHIGS API does not issue the error if the device is sampled while in event or sample mode.
A request input device subroutine call never forces an invalid mode error. ISO PHIGS defines a 251 error if you are not in request mode.
During traversal, if a text precision is not available in the current font, then the graPHIGS API uses the highest precision available for that font. ISO PHIGS states that STRING precision of font 1 should be the default.
During traversal, if a text font is not available, the graPHIGS API substitutes font 1 at the same precision. ISO PHIGS states that STRING precision of font 1 should be used.
Copy All Elements from Structure and Execute Structure have no error defined in ISO PHIGS for "an attempt to execute the open structure". The graPHIGS API rejects such an attempt and issues implementation error -125.
The following is a list of functions and related errors which can be detected only by a graPHIGS API nucleus. Therefore, it is possible that the error may not be generated during the subroutine call which caused it.