The following is an example of a sequence of calls in which segment, model, and instance transformations are applied to graphics objects.
GpiSetDrawingMode (DM_RETAIN) /* Sets the current drawing mode */
/* to DM_RETAIN */
GpiOpenSegment (segment 1) /* Creates a chained segment */
GpiCloseSegment
GpiSetSegmentAttrs /* Make segment 1 an unchained segment */
GpiOpenSegment (segment 2) /* Creates a retained, chained segment */
GpiSetModelTransformMatrix (TRANSFORM_ADD)
/* Specifies a transformation to */
/* apply to subsequent primitives. */
/* This is in addition to the current */
/* model transformation. */
GpiCallSegmentMatrix (1, TRANSFORM_ADD)
/* Calls segment 1 and applies a */
/* transformation to it. */
/* This transformation is in addition */
/* to the current model transformation, */
/* and applies only to the called */
/* segment. */
.
.
GpiSetCurrentArcParams
GpiPointArc /* The 3-point arc is not subject */
/* to the transformation specified */
/* on the call to GpiCallSegmentMatrix. */
/* The transformation that was */
/* current before segment 1 was called */
/* is applied to the remainder of */
/* segment 2. */
GpiCloseSegment
GpiSetSegmentTransformMatrix (segment 2)
/* Specifies a segment transformation */
/* for segment 2 */
GpiDrawSegment /* Draws segment 2 */