Layers and Readers

The tutorial has described how to extend INTViewer programmatically. Here is a brief explanation of the INTViewer components involved:

Layers

There are several layer types. A common layer type is com.interactive.intviewerapi.layers.ISeismicLayer for seismic layers.

More information about seismic layers is available.

As several objects can be selected at the same time within INTViewer, the use of a GlobalSelection<ISeismicLayer> variable in traceInfoTopComponent in the tutorial restricts the list of detected selected objects to the type ISeismicLayer. This class variable is named in the tutorial "layerSelection":

GlobalSelection<ISeismicLayer> layerSelection = new GlobalSelection<>(ISeismicLayer.class);

The traceInfoTopComponent associates the layerSelection variable with the lookup listener using this call of its constructor method :

layerSelection.addLookupListener(this);

Readers

Each object implementing the ISeismicLayer interface has a getReader() method that returns a ISeismicReader object. This reader object allows access to the properties of the associated layer.

The ISeismicReader interface has a getNumberOfTraces() method that returns the number of traces found.

Readers are also used to read raw data, as shown in the Data, Key Ranges, Traces and Headers section.