LogDensity Object Class


Overview

The LogDensity object class provides a visual representation of a Log curve, similar to the density plot type defined by the Seismic widget. Each sample is color coded based on its amplitude. An extensive set of resources is available to customize the appearance of a LogDensity object. The data used for a LogDensity object is specified using a one dimensional array containing the sample values. Points of a LogDensity graphic object can be edited. A portion of the LogDensity can also be selected and edited independently.

Color

The colormap used by the LogDensity object is specified using a pointer to a structure of type XintColorRec (see resource
Xm NdensityColorRecord). You can share a color record between multiple LogDensity objects, as well as between a LogDensity object and a Seismic widget (Image resource XmNcolorRecord). To extract the color record from a LogDensity object or a Seismic widget, use XtVaGetValues. Make sure that the color record obtained from a Seismic widget is not NULL, as this widget only creates a color record if the plot type specifies colors.

Creation

LogDensity object can be created as a child of a Track widget, a widget class optimized to handle the display of LogDensity objects. It is also possible to create LogDensity 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 LogDensity object is created in a similar fashion as is a widget, using standard functions such as XtCreateWidget or using function XintCreateLogDensity. LogDensity objects and other graphic objects should never be managed.

Floating Point Resources

The LogDensity object defines some floating point resources such as XmNbottom, and XmNtop. 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.