Picking Library


Horizon Functions

The following Picking Library functions are defined for creating and manipulating horizons.

Function NameDescription
XintHorizonActivateMakes an horizon visible.
XintHorizonChangeAttributesChanges the name and display attributes of a specified horizon.
XintHorizonCountReturns the number of horizons that exist in a specified picking record.
XintHorizonCreateCreates a new (empty) horizon.
XintHorizonDeactivateMakes an horizon not visible.
XintHorizonDestroyDeletes a horizon from the Picking Record and destroys the associated data structures.
XintHorizonGetReturns the address of a horizon given the horizon's sequence number.
XintHorizonGetByNameReturns the address of a horizon given the horizon's name.
XintHorizonGetFirstPointReturns the address of the first point in a horizon given the horizon's address.
XintHorizonGetLastPointReturns the address of the last point in a horizon given the horizon's address.
XintHorizonGetNameReturns the name of a horizon given the horizon's sequence number.
XintHorizonGetPointCountReturns the number of points that exist in a specified horizon.
XintHorizonSetPixelSets the color of the lines in a specified horizon (using a pixel value).
XintHorizonSetSymbolSizeChanges the point symbol size for a specified horizon.


XintHorizonActivate

This function activates an horizon that has been deactivated previously. An horizon that is not active is not visible on the screen.

     void XintHorizonActivate (...)

XintPickingRecord *picking_recordPointer to a Picking Record.
XintHorizon *horizonSpecifies the horizon to activate.


XintHorizonChangeAttributes

This function changes the name and display attributes of a horizon.

     void XintHorizonChangeAttributes (...)

XintPickingRecord *picking_recordPointer to a Picking Record containing the horizon to be changed.
XintHorizon *horizonPointer to the horizon to be changed.
char *horizon_nameSpecifies a new name for the horizon - specify NULL for no change.
char *color_nameSpecifies a new color for the lines drawn between the points in the horizon - specify NULL for no change.
intline_widthSpecifies a new line width (in pixels) for the lines drawn between the points in the horizon.


XintHorizonCount

This function returns the number of horizons that exist in a specified Picking Record.

     int XintHorizonCount (XintPickingRecord *picking_record)

where picking_record is a pointer to the Picking Record containing the horizons to be counted.


XintHorizonCreate

This function creates a new horizon in a specified Picking Record. You can optionally specify a name for the horizon and a named color to be used as the color of the symbols and lines in the new horizon. You can also optionally specify a line width for the lines in the horizon. The symbols in the new horizon will be drawn using the default symbol size in the Picking Record. You must indicate whether the new horizon is to be selected as the current horizon.

     XintHorizon *XintHorizonCreate (...)

XintPickingRecord *picking_recordPointer to a Picking Record that will contain the new horizon.
char *horizon_nameOptional pointer to a character string naming the new horizon.
char *color_nameOptional pointer to a character string naming a color for the symbols and lines in the new horizon.
intline_widthSpecifies in terms of pixels the width of the lines in the horizon.
Booleanselect_flagIf True, indicates that the new horizon is to become the current horizon.

Specify NULL as the value of the optional arguments if the values are undefined. If color_name is specified as NULL, then the color of the new horizon will be set to the named color red.


XintHorizonDeactivate

This function deactivates an horizon. An horizon that is not active is not visible on the screen.

     void XintHorizonDeactivate (...)

XintPickingRecord *picking_recordPointer to a Picking Record.
XintHorizon *horizonSpecifies the horizon to deactivate.


XintHorizonDestroy

This function deletes a specified horizon in a specified Picking Record.

     void XintHorizonDestroy (...)

XintPickingRecord *picking_recordPointer to a Picking Record.
XintHorizon *horizonSpecifies the horizon to destroy.


XintHorizonGet

This function returns a pointer to the nth horizon in a Picking Record.

     XintHorizon *XintHorizonGet (...)

XintPickingRecord *picking_recordPointer to a Picking Record.
intnSequence number of the horizon of interest. Horizon sequence numbers begin at 1.


XintHorizonGetByName

This function returns a pointer to the horizon having the specified name.

     XintHorizonGetByName (...)

XintPickingRecord *picking_recordPointer to a Picking Record.
char *horizon_nameName of the horizon of interest.


XintHorizonGetFirstPoint

This function returns a pointer to the first point in a specified horizon.

     XintPoint *XintHorizonGetFirstPoint (XintHorizon *horizon)

where horizon is a pointer to the horizon containing the point of interest. If there are no points in the specified horizon, then NULL will be returned.


XintHorizonGetLastPoint

This function returns a pointer to the last point in a specified horizon.

     XintPoint *XintHorizonGetLastPoint (XintHorizon *horizon)

where horizon is a pointer to an horizon structure. If there are no points in the specified horizon, then NULL will be returned.


XintHorizonGetName

This function returns a pointer to the name of the nth horizon in a Picking Record.

     char * XintHorizonGetName (...)

XintPickingRecord *picking_recordPointer to a Picking Record.
intnSequence number of the horizon of interest. Horizon sequence numbers begin at 1.


XintHorizonGetPointCount

This function returns the number of points in a specified horizon.

     int XintHorizonGetPointCount (XintHorizon *horizon)

where horizon is a pointer to a horizon.


XintHorizonSetPixel

This function sets the color of the lines used to represent a specified horizon.

     void XintHorizonSetPixel (...)

XintPickingRecord *picking_recordPointer to the Picking Record containing the horizon of interest.
XintHorizon *horizonPointer to the horizon whose line color is to be changed.
PixelpixelSpecifies the pixel value of the new color for the lines in the horizon.


XintHorizonSetSymbolSize

This function sets the size for the symbols representing points in a specified horizon.

     void XintHorizonSetSymbolSize (...)

XintPickingRecord *picking_recordPointer to a Picking Record containing the horizon to be changed.
XintHorizon *horizonPointer to the horizon to be changed.
intsymbol_sizeSpecifies the symbol size in pixel units.

If you set the value of symbol_size to be zero then no symbol will be drawn. If you set the value of symbol_size to be the constant XintSYMBOL_AUTO_SIZED then the size of the symbol will be automatically determined.