API / geotoolkit3d / data / reservoir / hexahedral / ReservoirData / ReservoirData
hexahedral.ReservoirData.ReservoirData
This class host the Reservoir data using hexahedral (8 corner per cell) cell structure.<br> One value per cell can be added for both filtering and render coloration purpose.<br> Additionally, multiple additional data can be defined per cell to be used along user-defined filters, allowing for very customizable cell filtering.<br> The cell data format expected by the ReservoirData constructor:<ul> <li>The reservoir data format require 8 vertices per cell.</li> <li>Cells do not need to be cubes or have parallel faces.</li> <li>Neighboring cells do not need to share the same corners (useful to represent faults).</li> </ul> The geometrical data are expected in a regular order, see example<br> x values are [xA, xB, xC, xD, xE, xF, xG, xH],<br> y values are [yA, ..., yH]<br> and z values are [zA, ..., zH]<br>
Example
I |------>
A ------- B __
|\ |\ \
| \ | \ \ J
| C ------- D _ v
E -|----- F | |
\ | \ | | K
\| \| |
G ------- H v↳
ReservoirData
Constructors
- [new ReservoirData(options)](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit3d.data-8.reservoir-1.hexahedral.reservoirdata.reservoirdata.md#new reservoirdata(options))
Methods
Methods
▸ computeCellsVolume(): void
Compute the reservoir cells volume, and enable volume data in ReservoirData#getCellData() method.
void
▸ dispose(): void
Dispose this reservoir data to allow for garbage collection.
void
▸ getCellData(ijk): CellData
Returns the Cell Data from the given IJK index.
| Name | Type | Description |
|---|---|---|
ijk | number[] | IJKIndex | the ijk position of the cell data to retrieve. |
the cell data, or null if the cell is not found.
▸ getCellDataByIndex(index): CellData
Returns the Cell Data from the given cell index.
| Name | Type | Description |
|---|---|---|
index | number | the index of the cell data to retrieve. |
the cell data, or null if the cell is not found.
▸ getCellIJKbyIndex(index): [i: number, j: number, k: number]
Return the IJK index of the cell identified by the given position in the reservoir.
| Name | Type | Description |
|---|---|---|
index | number | the cell index in the reservoir. Index start at 0, and must be inferior to the total number of cells. |
[i: number, j: number, k: number]
▸ getCellTetrahedronIndices(): number[][]
Define the vertices repartition for turning a cell into individual convex tetrahedrons.<br> Divide the cell into 6 tetrahedrons and return the indices, used for intersections.
Example
0 ------- 1
|\ |\
| \ | \
| 2 ------- 3
4 -|----- 5 |
\ | \ |
\| \|
6 ------- 7number[][]
▸ getCellTriangleIndices(): number[]
Return the sequence of point indices to draw the cell triangles.<br> Will return an array of 36 indices (6 faces * 2 triangle * 3points) where each index is a number between 0 and 7 which correspond to the cell corners from A to H.
Example
0 ------- 1
|\ |\
| \ | \
| 2 ------- 3
4 -|----- 5 |
\ | \ |
\| \|
6 ------- 7number[]
▸ getClassName(): string
string
AbstractReservoirData.getClassName
▸ getIJKCount(): IJKIndex
Returns the ijk count for this reservoir data.
▸ getIndexForCell(i, j, k): number
Returns the index for the reservoir cell based on the given i j k index
| Name | Type |
|---|---|
i | number |
j | number |
k | number |
number
index for this i j k cell (null if the cell doesn't exist)
▸ getMetaData(): ReservoirMetaData
Returns the metadata of the grid
AbstractReservoirData.getMetaData
▸ getNumberOfCells(): number
Returns the number of cells in the data object.
number
number of cells
AbstractReservoirData.getNumberOfCells
▸ getReservoirFullVolume(): number
Returns the total volume measure of this reservoir.<br> Computed by the sum of the volume of every cells, filters are ignored.<br> The unit of the volume measurement is based on the unit used in cells coordinates, to user discretion. (ex: if cells coordinates are in meters, then the volume will be in cubic meters. If feet, then cubic feet, and so on.)
number
▸ isCellIndexValid(index): boolean
Return true if the given cell index match an existing cell, false if not. Ignore user filters.
| Name | Type | Description |
|---|---|---|
index | number | the cell index to check the validity of. |
boolean
true if the cell index is valid, false if the index is out of bounds.
▸ Static checkDuplicateIJK(ijk): void
This utility will check for duplicate IJK indices in the reservoirData.<br> Each cell must have an identical IJK index, this tool is made to verify this.<br> Depending on the number of cells this can be VERY slow, so please use only when debugging.
| Name | Type | Description |
|---|---|---|
ijk | IJKArray | the IJK typed array. |
void
▸ Static getClassName(): string
string