There is more than one transformation between the world coordinate and model spaces, and between the model and page spaces. Depending on the desired output, the transformations can be combined in different ways.
Between the world coordinate and model space, there are five ways of combining the three transformations.
World Coordinate to Model Space Transformation Combinations
┌──────────────────────────────┬────────────────┬──────────────┐ │Transformation Function │Effect │Transformation│ │ │ │Type Sequence │ ├──────────────────────────────┼────────────────┼──────────────┤ │GpiCallSegmentMatrix │ADD │M I S │ ├──────────────────────────────┼────────────────┼──────────────┤ │ │PREEMPT │I M S │ ├──────────────────────────────┼────────────────┼──────────────┤ │ │REPLACE │ I S │ ├──────────────────────────────┼────────────────┼──────────────┤ │GpiDrawSegment (Call Segment) │Drawing outside │ M S │ │ │of an instance │ │ │ │drawing │ │ │ │primitive but │ │ │ │inside a │ │ │ │segment. │ │ ├──────────────────────────────┼────────────────┼──────────────┤ │No specific function │Drawing outside │ M │ │ │of segments │ │ │ │altogether. │ │ └──────────────────────────────┴────────────────┴──────────────┘
Abbreviations: I - Instance Transformation, M - Model Transformation, S - Segment Transformation
Between the model and page space pair are two transformations and they also can be combined in different ways.
Model to Page Space Transformation Combinations
┌──────────────────────────────┬────────────────┬──────────────┐ │Transformation Function │Effect │Transformation│ │ │ │Type Sequence │ ├──────────────────────────────┼────────────────┼──────────────┤ │GpiSetPageViewport │Drawing inside │V D │ │ │of and outside │ │ │ │of segments. │ │ ├──────────────────────────────┼────────────────┼──────────────┤ │GpiSetDefaultViewMatrix │Drawing outside │ D │ │ │of segments. │ │ └──────────────────────────────┴────────────────┴──────────────┘
Abbreviations: V - Viewing Transformation, D - Default Viewing Transformation