LogCurve Object Class


Overview

The LogCurve object class provides a visual representation of a Log curve. An extensive set of resources is available to customize the appearance of a LogCurve object. The data used for a LogCurve object is specified using a one dimensional array containing the sample values. A second array, the depth array, can also be specified if the sample values are not evenly spaced in depth. Points of a LogCurve graphic object can be edited. A portion of the LogCurve can also be selected and edited independently.

Creation

A LogCurve object can be created as a child of a Track widget, a widget class optimized to handle the display of LogCurve objects. It is also possible to create LogCurve objects as children of other widget classes such as the Seismic or Grid classes, and more generally, on top of any class derived from the EditObject class. A LogCurve object is created in a similar fashion as is a widget, using standard functions such as XtCreateWidget or using function XintCreateLogCurve. LogCurve objects and other graphic objects should never be managed.

Editing

LogCurve objects can be edited. Editing operations include the standard actions defined in the Graphic class, such as select, move, size or shape. In addition, specific actions are provided to add, delete and move the LogCurve object points. Editing is enabled by registering the proper translation table to the LogCurve object parent.

Built-in Resource Editor

The LogCurve object has a built-in resource editor panel that allows the end-user to edit the object resources. It can be invoked by using public function XintEditObjectManageResourceDialog.


Figure 22: LogCurve Object Editor

Action ResourceDialog (defined by the EditObject class) is also available for the enduser to interactively edit the object's resources.This action is connected as follows in the default translation table:

ActionDefault Dialog Translation
None <Btn1Down>ResourceDialog()

Note that action ResourceDialog actually checks for a double click, so it will only trigger on a double click of Button1.

You can disable the resource editor panel by setting Graphic resource XmNresourceDialog to False when creating the object.


Region

A set of resources and functions is designed to select and operate on a portion of the LogCurve object. The selected portion of the LogCurve is called the Region. The Region, if set, can be drawn using a specified color and line width. A special set of functions is available to edit the Region.

Floating Point Resources

The LogCurve object defines some floating point resources such as XmNbottom, XmNtop and XmNreferenceValue. The Xt library does not support floating point resources, and thus those resources must be passed as an address rather than a value. Floating point resources can also be retrieved using the XtGetValues function. You must specify the address of a pointer to a floating point value in the XtSetArg or XtVaGetValues call. NOTE: This is different from what is done for INT widgets where a special converter is used to make this operation easier. If the resource is not defined, a NULL pointer is returned.