|
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, std::int64_t size) override |
| virtual void | byteswap () override |
| virtual void | calculate_read (const podbytes_t &slbuf, const std::shared_ptr< IHistHeaderAccess > &hh) override |
| virtual void | calculate_cache () override |
| virtual podbytes_t | calculate_write () override |
| virtual std::array< std::int64_t, 3 > | bricksize () const override |
| virtual RawDataType | datatype () const override |
| virtual std::array< float, 2 > | codingrange () const override |
| virtual std::array< std::uint8_t, 16 > | dataid () const override |
| virtual std::array< std::uint8_t, 16 > | verid () const override |
| virtual std::array< std::uint8_t, 16 > | previd () const override |
| virtual std::string | srcname () const override |
| virtual std::string | srcdesc () const override |
| virtual RawDataType | srctype () const override |
| virtual std::array< float, 3 > | orig () const override |
| virtual std::array< float, 3 > | inc () const override |
| virtual std::array< std::int64_t, 3 > | size () const override |
| virtual std::int64_t | scnt () const override |
| virtual double | ssum () const override |
| virtual double | sssq () const override |
| virtual float | smin () const override |
| virtual float | smax () const override |
| virtual std::array< float, 4 > | gpiline () const override |
| virtual std::array< float, 4 > | gpxline () const override |
| virtual std::array< double, 4 > | gpx () const override |
| virtual std::array< double, 4 > | gpy () const override |
| virtual std::string | hprjsys () const override |
| virtual RawHorizontalDimension | hdim () const override |
| virtual double | hunitfactor () const override |
| virtual std::string | hunitname () const override |
| virtual RawVerticalDimension | vdim () const override |
| virtual double | vunitfactor () const override |
| virtual std::string | vunitname () const override |
| virtual std::uint32_t | slbufsize () const override |
| virtual const std::array< std::array< double, 2 >, 4 > & | ocp_index () const override |
| virtual const std::array< std::array< double, 2 >, 4 > & | ocp_annot () const override |
| virtual const std::array< std::array< double, 2 >, 4 > & | ocp_world () const override |
| virtual std::int32_t | nlods () const override |
| virtual const std::vector< std::array< std::int64_t, 3 > > & | lodsizes () const override |
| virtual const std::vector< std::int64_t > & | alphaoffsets () const override |
| virtual const std::vector< std::int64_t > & | brickoffsets () const override |
| virtual void | setstats (std::int64_t scnt, double ssum, double sssq, float smin, float smax) |
Public Attributes | |
| InfoHeaderV2POD | _pod |
| std::string | _srcname |
| std::string | _srcdesc |
| std::string | _hprjsys |
| std::string | _hunitname |
| std::string | _vunitname |
| std::int32_t | _cached_nlods |
| std::vector< std::array< std::int64_t, 3 > > | _cached_lodsizes |
| std::vector< std::int64_t > | _cached_alphaoffsets |
| std::vector< std::int64_t > | _cached_brickoffsets |
| std::array< std::array< double, 2 >, 4 > | _cached_index |
| std::array< std::array< double, 2 >, 4 > | _cached_annot |
| std::array< std::array< double, 2 >, 4 > | _cached_world |
Additional Inherited Members | |
Public Types inherited from InternalZGY::IHeaderAccess | |
| typedef std::vector< std::uint8_t > | podbytes_t |
|
overridevirtual |
Calculate derived information that is too expensive to compute on the fly. The code here is needed both after reading an existing file and after creating a new one.
Implements InternalZGY::IInfoHeaderAccess.
|
overridevirtual |
Fix up information that logically belong in this header but is stored elsewhere. This is not quite the same as calculate_cache() and it should only be called after reading an existing fille.
Implements InternalZGY::IInfoHeaderAccess.
|
overridevirtual |
Prepare for writing out this info header. 1) Pack the 5 strings into a string header, which isn't a separate type. 2) Record the size of the string header inside this info header. 3) Return the bytes of the string header.
If this is a newly created header then the cached derived information needs to be computed as well. It might be safer to do that unconditionally.
TODO-WARNING: If I at some point add a method to change the corner coordinates of an existing file then either that function is responsible for updating both the pod and the derved corners or this function needs to compute one from the other. Depending on which was actually changed.
Implements InternalZGY::IInfoHeaderAccess.
1.8.17