A PHIGURE 2D view is defined by the tview2_center function. This makes it possible to project a square in WC space on a zone inside the workstation display surface. This square is defined by its center (center_view) and by a the reciprocal coefficient of half a side. It is possible to make a comparison between,
center and observed point
coefficient and zoom factor
tview2_center (ws_id, view_ind, ¢er_view, zoom, &viewport);
the viewport is the display surface area where the square defined in WC space is displayed. It is quite possible to use only part of the display surface. This zone is a Plimit-type variable with fields {x_min, x_max, y_min, y_max } expressed between 0 and 1. A viewport = {0,1,0,1} corresponds to the entire display surface . A viewport = {0,0.5, 0,0.5} corresponds to the lower left-hand side, etc. A viewport = {0,1,0,1} is not necessarily square, as the coordinates are in relation to the display surface : if the display surface is rectangular, the viewport = {0,1,0,1} is also rectangular.
Examples of displays with different view definitions
example 1

example 2

example 3

example 4

example 5

If the viewport is rectangular, the square in WC space is projected by default in the largest centered square inside the viewport.

By default, a circle in space is displayed as a circle on the viewport whatever the dimensions of the viewport.
The ratio maintenance feature may be changed in advance by calling the function :
tview_config. (ws_id, view_ind, viewport_type, viewport_clip)
with viewport_type = tisotropic_viewport
or tnon_isotropic_viewport
or tphigs_viewport
and viewport_clip = pind_clip
or pind_no_clip
to change the "type" of projection on the viewport to the view index view_ind on the workstation ws_id.
tisotropic_viewport corresponds to the the definition of a viewport maintaining the h/w ratio, and is, therefore, the default mode for all PHIGURE view definitions.
tnon_isotropic_viewport corresponds to the the definition of a viewport where the h/w ratio is not maintained : this mode ensures that the contents of the square selected in WC space are projected on the entire the workstation display surface viewport. Primitives may therefore be distorted :
example with viewport_type = tnon_isotropic_viewport

example with viewport_type = tisotropic_viewport

the viewport_clip flag indicates whether those parts of the primitives which overlap the square selected in WC space are cut or not when the image is projected on the viewport, when it is not identical to the entire display surface.
Example with viewport_clip = pind_clip

Example with viewport_clip = pind_no_clip
