|
OpenZGY/C++ API and Internals (ALPHA)
Access seismic data stored in ZGY format.
|
#include <cornerpoints.h>
Classes | |
| struct | Element |
Public Types | |
| enum | { Min0Min1, Max0Min1, Min0Max1, Max0Max1 } |
| typedef std::int64_t | index_type |
| typedef float | annot_type |
| typedef double | coord_type |
Public Member Functions | |
| OrderedCornerPoints () | |
| OrderedCornerPoints (annot_type il0, annot_type ilinc, size_t ilcnt, annot_type xl0, annot_type xlinc, size_t xlcnt, const std::array< std::array< coord_type, 2 >, 4 > &ocp) | |
| OrderedCornerPoints (annot_type il0, annot_type ilinc, size_t ilcnt, annot_type xl0, annot_type xlinc, size_t xlcnt, annot_type acp0il, annot_type acp0xl, coord_type acp0x, coord_type acp0y, annot_type acp1il, annot_type acp1xl, coord_type acp1x, coord_type acp1y, annot_type acp2il, annot_type acp2xl, coord_type acp2x, coord_type acp2y) | |
| const Element & | operator[] (size_t i) const |
| std::array< std::array< coord_type, 2 >, 4 > | index_coords () const |
| corner coordinates in index space. | |
| std::array< std::array< coord_type, 2 >, 4 > | annot_coords () const |
| corner coordinates in annotation space. | |
| std::array< std::array< coord_type, 2 >, 4 > | world_coords () const |
| corner coordinates in world space. | |
This class can be used to calculate the map projection (x, y) coordinates of the four corners of a cube from a set of arbitrary control points (ACP). The result is ordered according to the Petrel Ordered Corner Points (OCP) definition, which is as follows corresponding to bulk data access indices:
( 0, 0, ?) (size[0] - 1, 0, ?) ( 0, size[1] - 1, ?) (size[0] - 1, size[1] - 1, ?)
Ref: PetrelOrientationHandling
| typedef float InternalZGY::OrderedCornerPoints::annot_type |
Bulk-data index type.
| typedef double InternalZGY::OrderedCornerPoints::coord_type |
Inline/crossline annotation index datatype.
| anonymous enum |
Ordering
| InternalZGY::OrderedCornerPoints::OrderedCornerPoints | ( | ) |
Default constructor. Initializes OCPs to zero.
| InternalZGY::OrderedCornerPoints::OrderedCornerPoints | ( | annot_type | il0, |
| annot_type | ilinc, | ||
| size_t | ilcnt, | ||
| annot_type | xl0, | ||
| annot_type | xlinc, | ||
| size_t | xlcnt, | ||
| const std::array< std::array< coord_type, 2 >, 4 > & | ocp | ||
| ) |
Construct OCPs from cube extent in annotation space and four OCP coordinates.
| il0 | Inline annotation corresponding to bulk data index 0 along dimension 0 (I). |
| ilinc | Inline annotation increment corresponding to bulk data index increment of 1 along dimension 0 (I). |
| ilcnt | Number of samples along dimension 0 (I). |
| xl0 | Crossline annotation corresponding to bulk data index 0 along dimension 1 (J). |
| xlinc | Crossline annotation increment corresponding to bulk data index increment of 1 along dimension 1 (J). |
| xlcnt | Number of samples along dimension 1 (J). |
| ocp | Four sets of (x, y) map projection coordinates expected to be in correct OCP ordering. |
| InternalZGY::OrderedCornerPoints::OrderedCornerPoints | ( | annot_type | il0, |
| annot_type | ilinc, | ||
| size_t | ilcnt, | ||
| annot_type | xl0, | ||
| annot_type | xlinc, | ||
| size_t | xlcnt, | ||
| annot_type | acp0il, | ||
| annot_type | acp0xl, | ||
| coord_type | acp0x, | ||
| coord_type | acp0y, | ||
| annot_type | acp1il, | ||
| annot_type | acp1xl, | ||
| coord_type | acp1x, | ||
| coord_type | acp1y, | ||
| annot_type | acp2il, | ||
| annot_type | acp2xl, | ||
| coord_type | acp2x, | ||
| coord_type | acp2y | ||
| ) |
Construct OCPs from cube extent in annotation space and three ACPs.
| il0 | Inline annotation corresponding to bulk data index 0 along dimension 0 (I). |
| ilinc | Inline annotation increment corresponding to bulk data index increment of 1 along dimension 0 (I). |
| ilcnt | Number of samples along dimension 0 (I). |
| xl0 | Crossline annotation corresponding to bulk data index 0 along dimension 1 (J). |
| xlinc | Crossline annotation increment corresponding to bulk data index increment of 1 along dimension 1 (J). |
| xlcnt | Number of samples along dimension 1 (J). |
| acp0il | Inline annotation for first ACP. |
| acp0xl | Crossline annotation for first ACP. |
| acp0x | X (easting) map coordinate for first ACP. |
| acp0y | Y (northing) map coordinate for first ACP. |
| acp1il | Inline annotation for second ACP. |
| acp1xl | Crossline annotation for second ACP. |
| acp1x | X (easting) map coordinate for second ACP. |
| acp1y | Y (northing) map coordinate for second ACP. |
| acp2il | Inline annotation for third ACP. |
| acp2xl | Crossline annotation for third ACP. |
| acp2x | X (easting) map coordinate for third ACP. |
| acp2y | Y (northing) map coordinate for third ACP. |
holds (inline, crossline)
receives (x, y)
| const Element& InternalZGY::OrderedCornerPoints::operator[] | ( | size_t | i | ) | const |
1.8.17