|
OpenZGY/C++ API and Internals (ALPHA)
Access seismic data stored in ZGY format.
|
Public Member Functions | |
| virtual podbytes_t | podbytes () const override |
| virtual void | read (const std::shared_ptr< FileADT > &file, std::int64_t offset) override |
| virtual void | byteswap () override |
| virtual void | calculate (const std::shared_ptr< IInfoHeaderAccess > &ih) override |
| virtual std::int64_t | infoff () const override |
| virtual std::int64_t | stroff () const override |
| virtual std::int64_t | alphalupoff () const override |
| virtual std::int64_t | bricklupoff () const override |
| virtual std::int64_t | histoff () const override |
| virtual std::int64_t | infsize () const override |
| virtual std::int64_t | histsize () const override |
| virtual std::int64_t | alphalupsize () const override |
| virtual std::int64_t | bricklupsize () const override |
Additional Inherited Members | |
Public Types inherited from InternalZGY::IHeaderAccess | |
| typedef std::vector< std::uint8_t > | podbytes_t |
|
overridevirtual |
Calculate offsets and sizes for the various headers and tables. Some information requires the InfoHeader to be already known. If it isn't we will just calculate as much as we can.
In general the size of a header as written to file might be larger than the size that the header expects to unpack. This allows adding more data fields at the end of the header. Older readers will just unpack the fields they know about.
For ZGY V2 and V3 this is moot, as all the offsets are implicit with all the headers written sequentially. So the size needs to match exactly or the headers following this will be corrupt.
Implements InternalZGY::IOffsetHeaderAccess.
1.8.17