|
MeVisLab Toolbox Reference
|
Class to read R2Sonic water column sonar data. More...
#include <mlR2SonicWCLoader.h>
Public Member Functions | |
| R2SonicWCLoader () | |
| Default constructor creating an instance with empty fileName and closed loader. | |
| void | open () override |
| MLErrorCode | loadWaterColumnPackage (PCLR2SonicWCLoader &updateObject, MLuint64 workMemoryHint=5000000000) |
| ~R2SonicWCLoader () override | |
| Destructor. | |
| void | reset () |
| Closes and resets internals. | |
| std::string | getStringDump (const MLint maxPackets=-1, const MLint maxBeams=-1, const MLint maxSamplesPerBeam=-1, const std::string &prefix="", const std::string &sep=" ", const bool showFirstOfEachPacketTypeOnly=false) const |
| virtual std::string | getAsString (const std::string &prefix="", const std::string &sep=", ", const size_t maxNumBinaryEntries=8, const size_t maxNumStringEntries=20) const override |
| const WaterColumnDataSet & | getLoadedWaterColumnPackage () const |
| Public Member Functions inherited from ml::ByteDataReader | |
| ByteDataReader () | |
| Default constructor which gets its settings later. | |
| ByteDataReader (const std::string &fileName) | |
| Constructor already setting the file name. | |
| virtual | ~ByteDataReader () |
| virtual std::string | getFileName () const |
| Returns the currently used file name or "" on default case. | |
| virtual void | setFileName (const std::string &fileName) |
| Sets the new file name. | |
| virtual bool | isOpen () const |
| Returns true if the file is open, otherwise false. | |
| virtual void | close () |
| Closes the file if it was open, otherwise the call is ignored. | |
| virtual bool | isGood () const |
| Returns true if the recent operations since the last clearState() call were successful. | |
| virtual std::string | getErrorState () const |
| Returns the current state string which is non empty on any error, empty otherwise. | |
| virtual void | clearErrorState () |
| Resets the error state to success, i.e. to an empty string. | |
| virtual void | setIndent (const std::string &indent) |
| Sets the default indentation string for tag dumps. | |
| virtual const std::string & | getIndent () const |
| The default indentation string for tag dumps. | |
| bool | needsByteSwapping () const |
| virtual void | prefetch () |
| virtual const MLuint8 * | getPrefetchData () const |
| Returns pointer to prefetch data (or nullptr if not available). | |
| virtual void | clearPrefetchData () |
| If any data is in the prefetch data memory then it is freed. | |
| MLuint8 | get8BitUWord (MLuint64 pos) const |
| Read an unsigned 8 bit word from position pos. | |
| MLuint16 | get16BitUWord (MLuint64 pos) const |
| Read an unsigned 16 bit word from position pos. | |
| MLuint16 | get16BitUWordInLocalEndianess (MLuint64 pos) const |
| Read an unsigned 16 bit word from position pos and convert it in local endianness. | |
| MLuint32 | get32BitUWord (MLuint64 pos) const |
| Read an unsigned 32 bit word from position pos. | |
| MLuint32 | get32BitUWordInLocalEndianess (MLuint64 pos) const |
| Read an unsigned 32 bit word from position pos and convert it in local endianness. | |
| MLuint64 | get64BitUWord (MLuint64 pos) const |
| Read an unsigned 64 bit word from position pos. | |
| MLuint64 | get64BitUWordInLocalEndianess (MLuint64 pos) const |
| Read an unsigned 64 bit word from position pos and convert it in local endianness. | |
| std::string | getNonTerminatedDataAsString (MLuint originPosition, MLuint numChars) const |
| MLuint8 * | getDataChunk (MLuint64 pos, MLuint64 numBytes) const |
| const MLuint8 * | getPrefetchDataChunk (MLuint64 pos, MLuint64 numBytes) const |
| MLint | getFileSizeFromCurrentDescriptor () |
| Returns MLFileGetSizeFromDescriptor(_getFileDescriptor()). | |
| void | appendStringToState (const std::string &errDesc) const |
| Appends the given string to error state string (which also sets bad read state). | |
Protected Member Functions | |
| MLErrorCode | loadWaterColumnPackage (MLuint64 &waterColumnDataBaseOffset, WaterColumnDataSet &waterColumnPackage) |
| Protected Member Functions inherited from ml::ByteDataReader | |
| int | _getFileDescriptor () const |
| Returns the current file descriptor. | |
| void | _appendErrNoToState (const std::string &errDesc) const |
| void | _setNeedsByteSwapping (bool needsSwapping) |
Class to read R2Sonic water column sonar data.
Definition at line 33 of file mlR2SonicWCLoader.h.
| ml::R2SonicWC::R2SonicWCLoader::R2SonicWCLoader | ( | ) |
Default constructor creating an instance with empty fileName and closed loader.
Referenced by loadWaterColumnPackage().
|
override |
Destructor.
|
overridevirtual |
Default implementation of virtual base class method which uses getStringDump with maxNumBinaryEntries for maxPackets, maxBeams, and maxSamplesPerBeam.
Reimplemented from ml::ByteDataReader.
| const WaterColumnDataSet & ml::R2SonicWC::R2SonicWCLoader::getLoadedWaterColumnPackage | ( | ) | const |
Returns the read-only pointer to the currently loaded WaterColumnDataSet if there is one or nullptr otherwise.
| std::string ml::R2SonicWC::R2SonicWCLoader::getStringDump | ( | const MLint | maxPackets = -1, |
| const MLint | maxBeams = -1, | ||
| const MLint | maxSamplesPerBeam = -1, | ||
| const std::string & | prefix = "", | ||
| const std::string & | sep = " ", | ||
| const bool | showFirstOfEachPacketTypeOnly = false ) const |
Convert content to a human readable string with the prefix prefix before all lines and separator sep between subcomponents.
| maxPackets | The maximum number of packets to dump. |
| maxBeams | The maximum number of beams to dump. |
| maxSamplesPerBeam | The maximum number of samples to dump of each beam. |
| prefix | A string added at begin of each line. |
| sep | A separator string to be printed between values printed in one line. |
| showFirstOfEachPacketTypeOnly | If enabled then only the first of each section type is shown (if available); in enabled case the maxPackets value is ignored (default is false). If more than the allowed number of values exist in data then "..." is dumped followed by a comment showing the number of skipped entries. |
|
protected |
Loads a WaterColumnPackage from the file position WaterColumnPackageBaseOffset.
| waterColumnDataBaseOffset | The first byte of the WaterColumnPackage in the file, where the number of bytes of the WaterColumnPackage should be stored; incremented to the position of the next WaterColumnPackage after return. |
| waterColumnPackage | Filled with the information from file on success, otherwise undefined. |
References R2SonicWCLoader().
| MLErrorCode ml::R2SonicWC::R2SonicWCLoader::loadWaterColumnPackage | ( | PCLR2SonicWCLoader & | updateObject, |
| MLuint64 | workMemoryHint = 5000000000 ) |
After opening the file this loads all WaterColumnPackages of the file into memory. Optionally a callback function with user data pointer can be passed. Must get a shared pointer explicitly to be able to store a shared reference to the loader to be able to make use of it later for (re/un)mapping data Mx data sections on demand from with the loaded WaterColumnDateSet.
| updateObject | The object on which updateProgress shall be performed. |
| workMemoryHint | Same meaning as documented for PCLR2SonicLoaderModule::_workingMemoryHintFld. |
|
overridevirtual |
Opens the file if possible, isGood() will return true on success, otherwise false; if byte swapping may be required in file format then derived classes should overwrite this method and call _setNeedsByteSwapping() to make get*BitUWordInLocalEndianess() methods work correctly.
Reimplemented from ml::ByteDataReader.
| void ml::R2SonicWC::R2SonicWCLoader::reset | ( | ) |
Closes and resets internals.