e57::Encoder Class Referenceabstract

#include <Encoder.h>

Public Member Functions

virtual float bitsPerRecord ()=0
 
unsigned bytestreamNumber () const
 
virtual uint64_t currentRecordIndex ()=0
 
virtual size_t outputAvailable () const =0
 
virtual void outputClear ()=0
 get data from encoder More...
 
virtual size_t outputGetMaxSize ()=0
 
virtual void outputRead (char *dest, const size_t byteCount)=0
 number of bytes that can be read More...
 
virtual void outputSetMaxSize (unsigned byteCount)=0
 
virtual uint64_t processRecords (size_t recordCount)=0
 
virtual bool registerFlushToOutput ()=0
 
virtual unsigned sourceBufferNextIndex ()=0
 
virtual void sourceBufferSetNew (std::vector< SourceDestBuffer > &sbufs)=0
 
virtual ~Encoder ()=default
 

Static Public Member Functions

static std::shared_ptr< EncoderEncoderFactory (unsigned bytestreamNumber, std::shared_ptr< CompressedVectorNodeImpl > cVector, std::vector< SourceDestBuffer > &sbuf, ustring &codecPath)
 

Protected Member Functions

 Encoder (unsigned bytestreamNumber)
 

Protected Attributes

unsigned bytestreamNumber_
 

Constructor & Destructor Documentation

◆ ~Encoder()

virtual e57::Encoder::~Encoder ( )
virtualdefault

◆ Encoder()

Encoder::Encoder ( unsigned  bytestreamNumber)
protected

Member Function Documentation

◆ bitsPerRecord()

virtual float e57::Encoder::bitsPerRecord ( )
pure virtual

◆ bytestreamNumber()

unsigned e57::Encoder::bytestreamNumber ( ) const

References bytestreamNumber_.

Referenced by EncoderFactory().

◆ currentRecordIndex()

virtual uint64_t e57::Encoder::currentRecordIndex ( )
pure virtual

◆ EncoderFactory()

std::shared_ptr< Encoder > Encoder::EncoderFactory ( unsigned  bytestreamNumber,
std::shared_ptr< CompressedVectorNodeImpl cVector,
std::vector< SourceDestBuffer > &  sbuf,
ustring codecPath 
)
static

Get node we are going to encode from the CompressedVector's prototype

Get pointer to parent ImageFileImpl, to call bitsNeeded()

!! need to pick smarter channel buffer sizes, here and elsewhere Construct Integer encoder with appropriate register size, based on number of bits stored.

!!

!!

!!

!!

Get pointer to parent ImageFileImpl, to call bitsNeeded()

!! need to pick smarter channel buffer sizes, here and elsewhere Construct ScaledInteger encoder with appropriate register size, based on number of bits stored.

!!

!!

!!

!!

!! need to pick smarter channel buffer sizes, here and elsewhere

!!

!!

References bitsPerRecord(), bytestreamNumber(), e57::DATA_PACKET_MAX, e57::E57_ERROR_BAD_PROTOTYPE, e57::E57_ERROR_INTERNAL, e57::E57_FLOAT, e57::E57_INTEGER, e57::E57_SCALED_INTEGER, e57::E57_STRING, e57::SourceDestBuffer::pathName(), and e57::toString().

Referenced by e57::CompressedVectorWriterImpl::CompressedVectorWriterImpl().

◆ outputAvailable()

virtual size_t e57::Encoder::outputAvailable ( ) const
pure virtual

◆ outputClear()

virtual void e57::Encoder::outputClear ( )
pure virtual

get data from encoder

Implemented in e57::BitpackEncoder, and e57::ConstantIntegerEncoder.

◆ outputGetMaxSize()

virtual size_t e57::Encoder::outputGetMaxSize ( )
pure virtual

◆ outputRead()

virtual void e57::Encoder::outputRead ( char *  dest,
const size_t  byteCount 
)
pure virtual

number of bytes that can be read

Implemented in e57::BitpackEncoder, and e57::ConstantIntegerEncoder.

◆ outputSetMaxSize()

virtual void e57::Encoder::outputSetMaxSize ( unsigned  byteCount)
pure virtual

◆ processRecords()

virtual uint64_t e57::Encoder::processRecords ( size_t  recordCount)
pure virtual

◆ registerFlushToOutput()

virtual bool e57::Encoder::registerFlushToOutput ( )
pure virtual

◆ sourceBufferNextIndex()

virtual unsigned e57::Encoder::sourceBufferNextIndex ( )
pure virtual

◆ sourceBufferSetNew()

virtual void e57::Encoder::sourceBufferSetNew ( std::vector< SourceDestBuffer > &  sbufs)
pure virtual

Member Data Documentation

◆ bytestreamNumber_

unsigned e57::Encoder::bytestreamNumber_
protected

Referenced by bytestreamNumber().


The documentation for this class was generated from the following files: