ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
e57::Encoder Class Referenceabstract

#include <Encoder.h>

Inheritance diagram for e57::Encoder:

Public Member Functions

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

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_
 

Detailed Description

Definition at line 34 of file Encoder.h.

Constructor & Destructor Documentation

◆ ~Encoder()

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

◆ Encoder()

Encoder::Encoder ( unsigned  bytestreamNumber)
protected

Definition at line 191 of file Encoder.cpp.

Member Function Documentation

◆ bitsPerRecord()

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

◆ bytestreamNumber()

unsigned e57::Encoder::bytestreamNumber ( ) const
inline

Definition at line 57 of file Encoder.h.

References bytestreamNumber_.

Referenced by EncoderFactory().

◆ currentRecordIndex()

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

◆ dump()

void Encoder::dump ( int  indent = 0,
std::ostream &  os = std::cout 
) const
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 Constuct 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 Constuct ScaledInteger encoder with appropriate register size, based on number of bits stored.

!!

!!

!!

!!

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

!!

!!

Definition at line 42 of file Encoder.cpp.

References bitsPerRecord(), bytestreamNumber(), e57::DATA_PACKET_MAX, e57::E57_ERROR_BAD_PROTOTYPE, e57::E57_ERROR_INTERNAL, E57_EXCEPTION2, e57::E57_FLOAT, e57::E57_INTEGER, e57::E57_SCALED_INTEGER, e57::E57_STRING, QtCompat::endl(), cloudViewer::t::geometry::path, 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::ConstantIntegerEncoder, and e57::BitpackEncoder.

◆ 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::ConstantIntegerEncoder, and e57::BitpackEncoder.

◆ 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

Definition at line 68 of file Encoder.h.

Referenced by bytestreamNumber(), and dump().


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