Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ display_seg(3G) — HP-UX 5.20

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

buffer_mode(3G)

display_element(3G)

hidden_surface(3G)

make_picture_current(3G)

refresh_segment(3G)

refresh_element(3G)

set_disp_traversal_control(3G)

set_traversal_depth(3G)

traversal_lock(3G)

zbuffer_switch(3G)

DISPLAY_SEGMENT(3G)

NAME

display_segment − display a segment network on specified graphics display device

SYNOPSIS

C Syntax:

void display_segment(fildes,segno,devdes)
int fildes,segno,devdes;

void display_segment_hsr(fildes,segno,devdes)
int fildes,segno,devdes;

FORTRAN77 Syntax:

subroutine display_segment(fildes,segno,devdes)
integer*4 fildes,segno,devdes

subroutine display_segment_hsr(fildes,segno,devdes)
integer*4 fildes,segno,devdes

Pascal Syntax:

procedure display_segment(fildes,segno,devdes:integer);

procedure display_segment_hsr(fildes,segno,devdes:integer);

DESCRIPTION

Input Parameters

fildes Integer file descriptor returned by gopen when an I/O path to a graphics output device is opened.  This file descriptor identifies the display list device. 

segno Segment name. 

devdes Integer file descriptor returned by gopen when an I/O path to a graphics output device is opened.  This file descriptor identifies the graphics display device on which the specified segment network will be displayed. 

Discussion

Display_segment displays the specified segment network from the display list of the specified display list device on the specified graphics display device. 

If a segment is open on graphics display device devdes, the displayed elements of the segment network are copied to the open segment.  Call_segment elements are expanded, flattening the segment network as it is copied. 

Display_segment_hsr displays the specified segment network from the specified display list device on the associated graphics display device, removing hidden surfaces.  For correct results from strip-zbuffer hidden-surface removal, the specified segment network should represent the complete image being displayed.  Hidden surface removal must be enabled before making this call (see hidden_surface(3G)). This call applies appropriate zbuffer switching (see zbuffer_switch(3G)).

Display_segment_hsr should not be called if any segment is currently open on the specified graphics output device.  Otherwise, multiple copies of the segment network and zbuffer_switch elements could be placed in the open segment. 

An error is generated if:

• Fildes does not identify a display list device. 

• The segment identified by segno does not exist. 

Set_traversal_depth(3G) can be used to limit traversal depth.  The default maximum traversal depth limits traversal processing to 42 call_segment elements.  If a call_segment element would exceed the maximum traversal depth, a warning is generated and the call_segment element is not traversed. 

Segment network traversal can also be limited by display traversal control elements (see set_disp_traversal_control(3G)).

Output from the display traversal process is subject to buffering (see buffer_mode(3G)). If buffering is enabled, output from the display traversal process may not be displayed until the buffer is flushed. Calling make_picture_current(3G) will make sure that the buffers have been flushed.

ERRORS

1 Graphics device is not initialized for this operation. 

39 Specified segment does not exist. 

40 Fildes is not a display list device. 

1042 Warning: Traversal attempted beyond specified maximum traversal depth. 

HARDWARE DEPENDENCIES

For bit-mapped displays, display traversal performance can be improved by using traversal_lock(3G). This call gains exclusive access to the display during display traversal, postponing all other display updates (such as printing in terminal emulator windows) while display traversal is in progress.

SEE ALSO

buffer_mode(3G), display_element(3G), hidden_surface(3G), make_picture_current(3G),
refresh_segment(3G), refresh_element(3G), set_disp_traversal_control(3G),
set_traversal_depth(3G), traversal_lock(3G), zbuffer_switch(3G).

Hewlett-Packard Company  —  December 25, 1986

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026