display_segment(3G)
NAME
display_segment, display_segment_hsr − display a segment network on the 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, as if the specified segment network actually existed as a display list on the specified graphics display device and a refresh_segment(3G) were executed.
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 and execute_segment elements are expanded, flattening the segment network as it is copied. Cond_call_segment and cond_execute_segment elements are expanded if the conditions specified by their parameters are satisfied. Elements in a segment after a cond_return element are copied only if the conditions of the cond_return are satisfied. The cond_return element is never copied to the open segment. The implicit push_state and pop_state of execute_segment and cond_execute_segment will be copied to the open segment as explicit push_state and pop_state elements.
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 segment-referencing elements; these are call_segment, execute_segment, cond_call_segment and cond_execute_segment. If traversal of one of these elements would exceed the maximum traversal depth, a warning is generated and the element is not traversed.
Segment network traversal can also be limited by display traversal control elements (see set_pick_traversal_control(3G)), segment control (see seg_control(3G)), individual element control (see ele_control(3G)), and the invisibility and highlighting filters (see set_invisibility_filter(3G) and set_highlighting_filter(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 will 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.
SEE ALSO
buffer_mode(3G), display_element(3G), ele_control(3G), hidden_surface(3G),
make_picture_current(3G), refresh_segment(3G), refresh_element(3G),
seg_control(3G), set_disp_traversal_control(3G), set_highlighting_filter(3G),
set_invisibility_filter(3G), set_traversal_depth(3G), zbuffer_switch(3G).
Hewlett-Packard Company — HP-UX Release 10.0