# INTViewer API For Layers

## INTViewer APIs for 2D Layers

### 2D layers implementing ILayer2D

2D layers are used to display a particular data object in a ILayeredWindow. All layers in a ILayeredWindow implement the com.interactive.intviewerapi.ILayer2D interface. Layers can be stacked on top of each other, so that for example several horizon layers can be displayed on top of a seismic layer.

[Working with 2D seismic layers](/solutions/intviewer/intviewer-api-for-layers/working-with-seismic-layers) - creating and setting attributes of a seismic layer in a XSection or Map window

- ISeismicLayer - to display seismic data in a XSection window.
- IMapSeismicLayer - to display a seismic time slice in a Map window.
- IMapOutlineSeismicLayer - to display a volume outline in a Map window.
- IMapSeismicLineLayer - to display a 2D seismic line in a Map window


[Working with 2D horizon layers](/solutions/intviewer/intviewer-api-for-layers/working-with-2d-horizon-layers) - creating and setting attributes of a horizon layer in a XSection or Map window.

- IHorizonLayer - to display a horizon in a XSection window on top of ISeismicLayer
- IMapHorizonLayer - to display a horizon in a Map window.


[Working with 2D pointset layers](/solutions/intviewer/intviewer-api-for-layers/working-with-2d-pointset-layers) - creating and setting attributes of a pointset layer in a XSection or Map window.

- IPointSetLayer - to display pointset data in a XSection window on top of ISeismicLayer
- IMapPointSetLayer - to display pointset data in a Map window on top of IMapSeismicLayer


[Working with 2D triangle mesh layers](/solutions/intviewer/intviewer-api-for-layers/working-with-2d-triangle-mesh-layers) - creating and setting attributes of a triangle mesh layer in a XSection or Map window

- ITriangleMeshLayer - to display the intersection of a triangulated surface in a XSection window on top of ISeismicLayer
- IMapTriangleMeshLayer - to display the intersection of a triangulated surface in a Map window on top of IMapSeismicLayer


[Working with 2D grid surface layers](/solutions/intviewer/intviewer-api-for-layers/working-with-2d-grid-surface-layers) - creating and setting attributes of a grid surface layer in a XSection or Map window.

- IGridSurfaceLayer - to display grid surface data in a XSection window on top of ISeismicLayer
- IMapGridSurfaceSetLayer - to display grid surface data in a Map window


[Working with 2D well layers](/solutions/intviewer/intviewer-api-for-layers/working-with-2d-well-layers) - creating and setting attributes of a well layer in a XSection or Map window.

- IWellLayer - to overlay a well trajectory in XSection window on top of ISeismicLayer
- IMapWellLayer - to display a well trajectory in a Map window


[Working with 2D GIS layers](/solutions/intviewer/intviewer-api-for-layers/working-with-2d-gis-layers) - creating and setting attributes of a gis layer in a Map window.

- IGisLayer - to display gis data in a Map window.


[Working with FK layers](/solutions/intviewer/intviewer-api-for-layers/working-with-fk-layers) - creating and setting attributes of a fk layer in a FK window.

- IFKLayer - to display a FK display in a FK window.


[Working with spectrum and spectrum phase layers](/solutions/intviewer/intviewer-api-for-layers/working-with-spectrum-and-spectrum-phase-layers) - creating and setting attributes of a spectrum layer in a spectrum window, and a spectrum phase layer in a spectrum phase window

- ISpectrumLayer - to display a spectrum chart in a spectrum window (ISpectrumWindow).
- ISpectrumPhaseLayer - to display a spectrum plot in a spectrum phase window (ISpectrumPhaseWindow).


[Working with histogram layers](/solutions/intviewer/intviewer-api-for-layers/working-with-histogram-layers) - creating and setting attributes of a histogram layer in a histogram window

- ISeismicHistogramLayer - to display a seismic histogram chart in a seismic histogram window (ISeismicHistogramWindow).
- IWellHistogramLayer - to display a seismic histogram chart in a seismic histogram window (IWellHistogramWindow).


### 2D layers implementing only IVisual

Well logs are displayed in track windows called IWellLogWindow that have a different behavior than ILayeredWindow.

[Working for well log visuals](/solutions/intviewer/intviewer-api-for-layers/working-with-well-log-visuals) - creating and setting attributes of a well log visual in a well log window

- IWellLogVisual - to display a well log visual in a well log window (IWellLogWindow).


### Event Handlers, Actions and Synchronization

You can interact programmatically with existing layers using event handlers or actions.

[2D Layer Event Handlers](/solutions/intviewer/intviewer-api-for-layers/layer-event-handlers) - how to control event handling for a 2D layer

[Drawing Shapes](/solutions/intviewer/intviewer-api-for-layers/drawing-shapes) - how to add J/CarnacPro shapes to a 2D layer

[Layer Actions](/solutions/intviewer/intviewer-api-for-layers/layer-right-click-popup-menus) - how to add control actions that appear when a user right clicks on a 2D and 3D layer window

[Synchronization](/solutions/intviewer/intviewer-api-for-layers/synchronization) - how to control synchronization between layers

An API is also provided to [create your own 2D layers](/solutions/intviewer/intviewer-api-for-layers/creating-layer2d) and [drag and drop layers](/solutions/intviewer/intviewer-api-for-layers/drag-and-drop-layers).

See also: [Working with Attribute and Window Shortcut Panels](/solutions/intviewer/intviewer-apis-for-dialogs-and-editors/working-with-attribute-and-window-shortcut-panels)