LogCurve Object Class


Defined Functions

The following functions are defined for creating and manipulating a LogCurve object.

Function NameDescription
XintCreateLogCurveCreates a LogCurve object.
XintLogCurveGetDataRetrieves depth and sample data from a LogCurve object.
XintLogCurveRegionAreaSelectionSets the LogCurve region from an area selection callback structure.
XintLogCurveRegionGetReturns the number of samples and the data samples contained in the current region.
XintLogCurveRegionNullSets the data points of a region to a NULL value.
XintLogCurveRegionSetConstantSets the data points of a region to a constant value.
XintLogCurveRegionTopAndBottomReturns the top and bottom depth values of the current region of a log curve.
XintLogCurveRegionUpdateCauses a redraw of the current region if it is active.
XintLogCurveTopAndBottomReturns the top and bottom depth values of the specified log curve.
XintLogCurveUpdateCauses the display of a portion of a LogCurve to be updated with new values.


XintCreateLogCurve

XintCreateLogCurve creates a LogCurve object. Note: LogCurve objects do not need to be managed.

     Object XintCreateLogCurve (...)

WidgetparentParent of new LogCurve object.
char *nameName of new LogCurve object.
ArgListarglistList of resource/value items.
CardinalargcountNumber of items in arglist.


XintLogCurveGetData

XintLogCurveGetData returns two data arrays containing the sample and depth values of a LogCurve object within a specified depth range. The data pointers returned point directly to the internal LogCurve data structures. The corresponding memory should not be deallocated by the application.

     void XintLogCurveGetData (...)

ObjectobjectID of the LogCurve object.
floatstart_depthSpecifies the starting depth.
floatend_depthSpecifies the ending depth.
float **sample_arrayReturns a pointer to the array containing the sample data.
float **depth_arrayReturns a pointer to the array containing the depth data.
int *sample_countReturns the number of samples.


XintLogCurveRegionAreaSelection

This function uses the callback structure XintEditObjectAreaSelectionCallbackStruct returned by callback XmNareaSelectionCallback to define and activate a region in a LogCurve object.

     void XintLogCurveRegionAreaSelection (...)

ObjectobjectID of the LogCurve object.
XintEditObjectAreaSelectionCallbackStruct *cb_dataPointer to the callback structure returned by callback XmNareaSelectionCallback.


XintLogCurveRegionGet

This function returns a pointer to the sample data array corresponding to the LogCurve object current region. The returned pointer refers directly to the LogCurve object's internal data structure and should not be deallocated by the application. The function returns NULL if no region is defined.

     float *XintLogCurveRegionGet (...)

ObjectobjectID of the LogCurve object.
int *countReturns the number of samples in the region.


XintLogCurveRegionNull

This function sets the current region sample values to the specified null value. Null values of a curve are not displayed when the curve is drawn. The function sets the resource XmNnullValue to the specified null value, sets all the data values inside the region to the null value, and calls XintLogCurveRegionUpdate to update the display.

     void XintLogCurveRegionNull (...)

ObjectobjectID of the LogCurve object.
floatnull_valueSpecifies the null value.


XintLogCurveRegionSetConstant

This function sets the current region's sample values to the specified value and updates the LogCurve object display.

     void XintLogCurveRegionSetConstant (...)

ObjectobjectID of the LogCurve object.
floatconstantSpecifies the constant.


XintLogCurveRegionTopAndBottom

This function returns the top and bottom depth values of the current region of a LogCurve object.

     Boolean XintLogCurveRegionTopAndBottom (...)

ObjectobjectID of the LogCurve object.
float *topReturns the top depth of the region of the LogCurve.
float *bottomReturns the bottom depth of the region of the LogCurve.

If no region is active, then the function returns False and top and bottom are undefined.


XintLogCurveRegionUpdate

This function forces a redraw of the region of a LogCurve object if the region is active. This is normally used when the data associated with the region are modified outside the LogCurve object by the application.

     void XintLogCurveRegionUpdate (Object object)

where object is the ID of a LogCurve object.


XintLogCurveTopAndBottom

This function returns the top and bottom depth values of a LogCurve object.

     void XintLogCurveTopAndBottom (...)

ObjectobjectID of the LogCurve object.
float *topReturns the top depth of the LogCurve.
float *bottomReturns the bottom depth of the LogCurve.


XintLogCurveUpdate

This function updates a contiguous range of samples in a LogCurve object and causes that portion of the LogCurve to be redrawn on the screen.

     void XintLogCurveUpdate (...)

ObjectobjectID of the LogCurve object.
floatdepthThe depth of the first sample.
float *samplesArray containing the new sample values to replace the old ones.
intcountThe number of sample values in samples.

The sample values will replace the corresponding values in the LogCurve even when the LogCurve is not uniformly sampled.


Macros

Macro XintIsLogCurve returns True if the specified object is a LogCurve object.

     Boolean XintIsLogCurve (Object object)