Picking Library


Point Functions

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

Function NameDescription
XintPointCreateCreates a new point using coordinates specified as time and trace sequence number.
XintPointDeleteDeletes a specified point in a specified horizon.
XintPointGetAutoPickExtracts the auto picking information for a point.
XintPointInsertInserts a previously created point into a horizon.
XintPointNextReturns the address of the point in a horizon that immediately follows a specified point.
XintPickingRecordPointSnapSnaps the specified point to a location using the current setting of the snap mode.
XintPointTimeReturns the time coordinate of a specified point.
XintPointTraceNumberReturns the trace sequence number coordinate of a specified point.


XintPointCreate

This function creates a new point at a specified location that can later be inserted into a horizon. You can optionally specify the address of a data structure that your application has defined to be associated with the new point.

     XintPoint *XintPointCreate (...)

floattimeSpecifies the vertical coordinate of the new point in terms of time.
inttnSpecifies the horizontal coordinate of the new point in terms of trace sequence number.
XtPointeruser_dataOptionally specifies a pointer to an application defined data structure to be associated with the new point.
longdateOptionally specifies a time stamp when the point was created. If you specify 0, the date when the point is created will be set automatically. The first byte contains the day, the second byte the month and the third byte the year.


XintPointDelete

This function deletes the specified point from the specified horizon.

     void XintPointDelete (...)

XintPickingRecord *picking_recordPointer to the Picking Record that contains the horizon with the point to be deleted.
XintHorizon *horizonPointer to the horizon containing the point to be deleted.
XintPoint *pointPointer to the point to be deleted.


XintPointGetAutoPick

This function returns pointers to the time pick list and the number of picks in the list.

     Boolean *XintPointGetAutoPick (...)

XintPoint *point Pointer to the point you wish picking information on.
float **time_pick_listReturns a pointer to the array which stores the time values for the specified auto pick p oint.
int *npicksNumber of values in array time_pick_list.

If the point was not generated from auto picking then the function returns False.


XintPointInsert

This function inserts a previously created point into a specified horizon.

     void  XintPointInsert (...)

XintPickingRecord *picking_recordPointer to the Picking Record that contains the horizon into which the point will be inserted.
XintHorizon *horizonPointer to the horizon into which the point will be inserted.
XintPoint *pointPointer to the point to be inserted.
intinsertion_modeSpecifies whether the point is to be inserted at the beginning, at the end, or into the interior of the horizon.

You must specify the insertion_mode as one of the following constants:

Constant NameDescription
XintAPPENDSpecifies that the new point is to be added after the last point in the horizon.
XintFIRSTSpecifies that the new point is to be added before the first point in the horizon.
XintINSERTSpecifies that the new point is to be inserted according to the point's horizontal coordinate.
XintINSERT_TIMESpecifies that the new point is to be inserted according to the point's vertical coordinate.


XintPointNext

This function returns a pointer to the point that immediately follows the specified point.

     XintPoint *XintPointNext (XintPoint *point)

where point is a pointer to the point before the point of interest. If point is the last point in the horizon then the function returns NULL.


XintPickingRecordPointSnap

This function snaps a specified point.

     Boolean XintPickingRecordPointSnap (...)

XintPickingRecord *picking_recordPointer to a Picking Record.
XintPoint*pointPointer to the point to be snapped.

If no error occurs then this function returns True. Otherwise, it returns False.


XintPointTime

This function returns the vertical coordinate of the specified point as a time value.

     float  XintPointTime (XintPoint *point)

where point is a pointer to the point of interest.


XintPointTraceNumber

This function returns the horizontal coordinate of the specified point as a trace sequence number.

     int  XintPointTraceNumber (XintPoint *point)

where point is a pointer to the point of interest.