API / geotoolkit3d / scene / seismic / SliceMaterial / SliceMaterial
seismic.SliceMaterial.SliceMaterial
A seismic slice material.
The seismic slice material is supposed to be used in conjunction with Slice.
It is responsible for creating and managing the textures required to render a seismic cross section.
To do so, it will create a SeismicPipeline using the given SeismicReader.
As rasterization process is delegated to the SeismicPipeline, it supports any pipeline configuration (Colormap, interpolation, etc).
At initialization time using 'options.pipeline.options'.
And at runtime using getPipeline().setOptions().
This material also supports an 'overlay' feature that lets you provide a group containing 2D shapes.
The content of this group will be rendered on top of the seismic.
This group model limits and bounds will be automatically set to the correct values.
The group's content should use coordinates in trace/sample domain.
Note that this group will be rasterized in a way similar to how the seismic is rasterized itself.
Example
// Default pipeline configuration is:
{
'normalization': {
'type': NormalizationType.RMS,
'scale': 1
},
'plot': {
'type': {
'wiggle': false,
'interpolateddensity': true
},
'decimationspacing': 5
},
'colors': {
'colormap': SeismicColors.getDefault().createNamedColorMap("WhiteBlack", 320)
}
}↳
SliceMaterial
Constructors
Methods
Methods
▸ dispose(): void
Dispose method for SliceMaterial. Specifically for disposing of pipeline memory reference
void
▸ disposeMaterials(): void
Dispose Materials
void
▸ disposeNewMaterials(): void
Dispose the Materials used for the next tile render. For internal use only.
void
▸ disposeOverlayDatas(): void
Dispose Overlay Datas
void
▸ getClassName(): string
string
▸ getOpacity(): number
Get the opacity
number
The opacity
▸ getOptions(): OptionsBaseOut
Get the SliceMaterial options
Returns a group that can be used to render 2D shapes on top of the seismic slice.
The coordinate system of the group is in trace/samples.
The overlay group
▸ getPipeline(): SeismicPipeline
Get the internal pipeline
The internal pipeline
▸ hasEventListener(type, callback?): boolean
Check if a list of event listeners for this type contains this listener
| Name | Type | Description |
|---|---|---|
type | string | type of event or property |
Optional callback | Function | to be called, if null, check if any callback is registered |
boolean
EventDispatcher.hasEventListener
▸ isDisposed(): boolean
Returns whether this object has been disposed
boolean
▸ isSilent(): boolean
Return true if the event dispatcher doesn't notify any events
boolean
▸ notify(type, source, args?): SliceMaterial
Notify listeners
| Name | Type | Description |
|---|---|---|
type | string | event types |
source | any | of the event |
Optional args | any | arguments of the event |
this
▸ off<E>(type?, callback?): SliceMaterial
Detach listener on event. Calling .off() with no arguments removes all attached listeners. Calling .off(type) with no callback removes all attached listeners for specific type.
| Name | Type |
|---|---|
E | extends string |
| Name | Type | Description |
|---|---|---|
Optional type | E | type of the event |
Optional callback | (eventType: E, sender: SliceMaterial, args: EventMap[E]) => void | function to be called |
this
▸ on<E>(type, callback): SliceMaterial
Attach listener on event that will be called whenever the specified event is delivered to the target
If the callback function is already in the list of event listeners for this target, the function is not added a second time.
If a particular anonymous function is in the list of event listeners registered for a certain target, and then later in the code, an identical anonymous function is given in an "on" call, the second function will also be added to the list of event listeners for that target.
| Name | Type |
|---|---|
E | extends string |
| Name | Type | Description |
|---|---|---|
type | E | type of event or property |
callback | (eventType: E, sender: SliceMaterial, args: EventMap[E]) => void | to be called |
this
▸ resetTiles(): void
Resets the slice tiles, filling them by the loading color defined by the user. Usually used when updating the slice, such as moving the slice along its axis, thus requiring some time to fetch the new samples and redraw the seismic slice.
void
▸ setLOD(lod, minLod?, maxLod?): Promise<void>
Sets level of details if it is enabled
Deprecated
since 4.1, LOD is temporarily unavailable but will be back soon, with a different API.
| Name | Type | Description |
|---|---|---|
lod | number | level of details. if level is less then current level the current is used |
Optional minLod | number | minimum level of details |
Optional maxLod | number | maximum level of details |
Promise<void>
a new generic promise
▸ setOpacity(value): void
Set opacity property of the slice.
| Name | Type | Description |
|---|---|---|
value | number | the opacity value from 0 (transparent) to 1 (opaque). |
void
▸ setOptions(options): SliceMaterial
Set the SliceMaterial options
| Name | Type |
|---|---|
options | OptionsBase |
▸ setSilent(bool): SliceMaterial
Set silent mode
| Name | Type | Description |
|---|---|---|
bool | boolean | flag to enable silent mode |
this
▸ updateLOD(lod): Promise<void>
Manually update this Slice level of detail. For internal use only.
| Name | Type |
|---|---|
lod | number |
Promise<void>
▸ Static getClassName(): string
string