Incompatible API changes in INTViewer 4.2

Modules

The number of modules in INTViewer has been increased to allow more customization capabilities. For example, all pointset modules and associated functionalities can now be removed by just removing the "PointSetData" module in the Tools > Plugins screen.

This change has introduced several new modules that provided classes and interfaces that used to be part of the IntviewerCore module in INTViewer 4.1. These new modules are:

  • Viewer2D (required by all modules displaying data in 2D)
  • SeismicData (required by all modules reading or writing seismic data)
  • Seismic2D (required by all modules displaying seismic data in 2D)
  • PointSetData (required by all modules reading or writing pointset data)
  • PointSet2D (required by all modules displaying pointset data in 2D)
  • HorizonData (required by all modules reading or writing horizon data)
  • Horizon2D (required by all modules displaying horizon data in 2D)

INTViewer 4.2 also requires the use of NetBeans 6.9.1. If you load your existing code into NetBeans 6.9.1 with the INTViewer 4.2 platform, you will have to add the NetBeans "Lookup" module. See http://platform.netbeans.org/whatsnew/69.html for more information about the NetBeans 6.9.1 release.

In other words, to migrate a module from INTViewer 4.1 to INTViewer 4.2, add the Viewer2D, SeismicData, Seismic2D, PointSetData, PointSet2D, HorizonData, Horizon2D and Lookup modules to this module.

You do not need to add PointSetData and PointSet2D if you were not using pointsets. You do not need to add HorizonData and Horizon2D if you were not using horizons.

When in doubt, use the Project Properties > Libraries > Add Dependency > Filter field in NetBeans to find in which module each class or interface resides. In the snapshot below, the Dependency screen indicates that the IHorizonData interface belongs to the HorizonData module.

API change

In com.interactive.intviewerapi.plugins.traceprocessor.AbstractSeismicProcessor and com.interactive.intviewerapi.plugins.traceprocessor.ISeismicProcessor, preProcess(ISeismicData seismicData, ILayer2D layer has been changed to void preProcess(ISeismicData seismicData, IVisual visual);

The com.interactive.intviewerapi.data.IDataWriter interface has been simplified. The following two methods have been removed:

  • void writeData(OutputStream os, IData data, ILongTaskProgressMonitor m) throws Exception, and
  • void writeData(String fileName, IData data, IDataQuery query, Object extraInfo, ILongTaskProgressMonitor m) throws Exception

Transformations have been moved from map windows to map layers: the setIJToXYTransformation method of IMapWindow interface has been deprecated. Use the setIJToXYTransformation method of each map layer instead.