With one addition, GKS-3D supports the same GKS primitive types as described in chapter on Page . Four of the functions are called in a similar way to that for GKS-2D, but with the addition of a third coordinate:
However, the 3D routines for Cell Array (GCA3) and Text (GTX3) have calling sequences which are substantially changed. GCA3 is not described here, and those brave enough to peruse the standards document will see why. Concerning GTX3, it should be emphasized that this function is only required if it is desired to place text on a surface which is not parallel to the X-Y plane, otherwise the 2D text function (GTX) is sufficient. For example, one would need to use GTX3 to write 'MIGROS' on the side of a truck drawn with some random orientation.
The function call for 3D Text is:
CALL GTX3(PX, PY, PZ, TDX, TDY, TDZ, STR)where the arguments are as follows:
The additional primitive, called Fill Area Set (or Fill Area Set 3), generates a set of polygonal areas which may be hollow or filled with a uniform colour, pattern, or hatch style. Thus, it allows the application to specify regions with holes, or disjoint regions which must be treated as a single entity. There are both 2D and 3D versions of Fill Area Set, and the 2D function will be added to the next revision of GKS. Unlike the Fill Area primitive, Fill Area Set and Fill Area Set 3 have separate attributes, described below, to control the edge style of the polygons. The calls are:
CALL GFAS(NPTR, PTR, PX, PY) CALL GFAS3(NPTR, PTR, PX, PY, PZ)where the arguments are as follows:
Although they are specified in a 3D space, the primitives Text,
Cell Array, Fill Area, and Fill Area Set are all coplanar.
It is the responsibility of the application program to ensure that the
coordinates supplied fulfil this condition.
What happens if they are not coplanar is implementation-dependent!