![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
#include <Decoder.h>


Public Member Functions | |
| BitpackFloatDecoder (unsigned bytestreamNumber, SourceDestBuffer &dbuf, FloatPrecision precision, uint64_t maxRecordCount) | |
| size_t | inputProcessAligned (const char *inbuf, const size_t firstBit, const size_t endBit) override |
| void | dump (int indent=0, std::ostream &os=std::cout) override |
Public Member Functions inherited from e57::BitpackDecoder | |
| void | destBufferSetNew (std::vector< SourceDestBuffer > &dbufs) override |
| uint64_t | totalRecordsCompleted () override |
| size_t | inputProcess (const char *source, const size_t availableByteCount) override |
| void | stateReset () override |
Public Member Functions inherited from e57::Decoder | |
| Decoder ()=delete | |
| virtual | ~Decoder ()=default |
| unsigned | bytestreamNumber () const |
Protected Attributes | |
| FloatPrecision | precision_ = E57_SINGLE |
Protected Attributes inherited from e57::BitpackDecoder | |
| uint64_t | currentRecordIndex_ = 0 |
| uint64_t | maxRecordCount_ = 0 |
| std::shared_ptr< SourceDestBufferImpl > | destBuffer_ |
| std::vector< char > | inBuffer_ |
| size_t | inBufferFirstBit_ = 0 |
| size_t | inBufferEndByte_ = 0 |
| unsigned int | inBufferAlignmentSize_ |
| unsigned int | bitsPerWord_ |
| unsigned int | bytesPerWord_ |
Protected Attributes inherited from e57::Decoder | |
| unsigned int | bytestreamNumber_ |
Additional Inherited Members | |
Static Public Member Functions inherited from e57::Decoder | |
| static std::shared_ptr< Decoder > | DecoderFactory (unsigned bytestreamNumber, const CompressedVectorNodeImpl *cVector, std::vector< SourceDestBuffer > &dbufs, const ustring &codecPath) |
Protected Member Functions inherited from e57::BitpackDecoder | |
| BitpackDecoder (unsigned bytestreamNumber, SourceDestBuffer &dbuf, unsigned alignmentSize, uint64_t maxRecordCount) | |
| void | inBufferShiftDown () |
Protected Member Functions inherited from e57::Decoder | |
| Decoder (unsigned bytestreamNumber) | |
| BitpackFloatDecoder::BitpackFloatDecoder | ( | unsigned | bytestreamNumber, |
| SourceDestBuffer & | dbuf, | ||
| FloatPrecision | precision, | ||
| uint64_t | maxRecordCount | ||
| ) |
Definition at line 352 of file Decoder.cpp.
|
overridevirtual |
Reimplemented from e57::BitpackDecoder.
Definition at line 452 of file Decoder.cpp.
References e57::BitpackDecoder::dump(), e57::E57_SINGLE, QtCompat::endl(), precision_, and e57::space().
|
overridevirtual |
Read from inbuf, decode, store in destBuffer Repeat until have filled destBuffer, or completed all records
Verify first bit is zero
Calc how many whole records worth of data we have in inbuf
Can't process more records than we have input data for.
Form the starting address for first data location in inBuffer
Copy floats from inbuf to destBuffer_
E57_DOUBLE precision
Form the starting address for first data location in inBuffer
Copy doubles from inbuf to destBuffer_
Update counts of records processed
Returned number of bits processed (always a multiple of alignment size).
Implements e57::BitpackDecoder.
Definition at line 360 of file Decoder.cpp.
References e57::BitpackDecoder::currentRecordIndex_, e57::BitpackDecoder::destBuffer_, e57::E57_ERROR_INTERNAL, E57_EXCEPTION2, e57::E57_SINGLE, QtCompat::endl(), e57::BitpackDecoder::maxRecordCount_, precision_, and e57::toString().
|
protected |
Definition at line 110 of file Decoder.h.
Referenced by dump(), and inputProcessAligned().