Incompatible API changes in INTViewer 4.5.1

A/ A new IWindow interface has been added on top of IViewerWindow

The new com.interactive.intviewerapi.windows.IWindow interface is common to the IViewerWindow interface and the new ICombinedWindow interface. If you were listing all windows of the desktop this way:

IWindowManager.Factory.getInstance().getViewerWindows()

You might need to change it to:

IWindowManager.Factory.getInstance().getWindows()

Only make this change if you want combined windows to be included, and viewer windows inside combined windows to be excluded.

B/ com.interactive.intviewerapi.events.WindowEvent

Because the com.interactive.intviewerapi.windows.IWindow interface has been added for windows that are not viewer windows, the getWindow() method of the com.interactive.intviewerapi.events.WindowEvent class has been changed from:

    public IViewerWindow getWindow()

to

    public IWindow getWindow()

C/ AbstractLayer2D and Combined windows

The model limits of an axis layer might be overriden when viewed inside combined windows. If you extend com.interactive.intviewerapi.layers.AbstractLayer2D, make sure to override getRequiredModelLimits when you override getModelLimits. Example:

    @Override
    public cgRect getRequiredModelLimits() {
        if (refLayer != null) {
            return ((AbstractLayer2D) refLayer).getRequiredModelLimits();
        } else {
            return new cgRect(0, 0, 1, 1);
        }
    }
    @Override
    public cgRect getModelLimits() {
        if (refLayer != null) {
            return refLayer.getModelLimits();
        } else {
            return new cgRect(0, 0, 1, 1);
        }
    }

D/ Time slices are synchronized by default

To revert to the INTViewer 4.5 behavior, call IMapSeismicLayer.setSynchronizeTimeSlice(false) after creating a time slice layer.

Example:

ISeismicData data = ...
IMapWindow window = ...
IMapSeismicLayer layer = (IMapSeismicLayer) IMapSeismicLayer.factory.createLayer(window, data, new NamedProps(), true);
layer.setSynchronizeTimeSlice(false);
layer.setTimeSlice(0);

E/ The color maps files have been changed

All color maps in the "ColorMaps" directory have been changed. Color map files have been added, others have been removed. The casing of some color map files has also been changed.