{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-guides/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Windows And Layers","description":"Accelerate E&P application development and protect your innovation by consuming our Data and Domain APIs / Platform APIs.","lang":"en-US","meta":[{"name":"robots","content":"noindex"}],"llmstxt":{"hide":false}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"windows-and-layers","__idx":0},"children":["Windows And Layers"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"layers-and-readers","__idx":1},"children":["Layers and Readers"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/intviewer/intviewer-tutorial"},"children":["tutorial"]}," has described how to extend INTViewer programmatically. Here is a brief explanation of the INTViewer components involved:"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"layers","__idx":2},"children":["Layers"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["There are several layer types. A common layer type is com.interactive.intviewerapi.layers.ISeismicLayer for seismic layers."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["More information about ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/intviewer/intviewer-api-for-layers/working-with-seismic-layers"},"children":["seismic layers"]}," is available."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["As several objects can be selected at the same time within INTViewer, the use of a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["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\":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"GlobalSelection<ISeismicLayer> layerSelection = new GlobalSelection<>(ISeismicLayer.class);\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The traceInfoTopComponent associates the layerSelection variable with the lookup listener using this call of its constructor method :"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"layerSelection.addLookupListener(this);\n"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"readers","__idx":3},"children":["Readers"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["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."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ISeismicReader interface has a getNumberOfTraces() method that returns the number of traces found."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Readers are also used to read raw data, as shown in the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/solutions/intviewer/intviewer-basics/data-key-ranges-traces-and-headers"},"children":["Data, Key Ranges, Traces and Headers"]}," section."]}]},"headings":[{"value":"Windows And Layers","id":"windows-and-layers","depth":1},{"value":"Layers and Readers","id":"layers-and-readers","depth":2},{"value":"Layers","id":"layers","depth":3},{"value":"Readers","id":"readers","depth":3}],"frontmatter":{"title":"Windows And Layers","pageId":"intviewer-basics/windows-and-layers","seo":{"title":"Windows And Layers"}},"lastModified":"2026-10-22T14:32:05.576Z","pagePropGetterError":{"message":"","name":""}},"slug":"/solutions/intviewer/intviewer-basics/windows-and-layers","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}