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.