Fawkes API  Fawkes Development Version
firevision::FireVisionDataFileBlock Class Reference

#include <>>

Inheritance diagram for firevision::FireVisionDataFileBlock:

Public Member Functions

 FireVisionDataFileBlock (unsigned int type, size_t data_size, void *spec_header, size_t spec_header_size)
 Constructor. More...
 
 FireVisionDataFileBlock (unsigned int type, size_t data_size, size_t spec_header_size)
 Constructor. More...
 
 FireVisionDataFileBlock (unsigned int type, size_t data_size)
 Constructor. More...
 
 FireVisionDataFileBlock (FireVisionDataFileBlock *block)
 Shallow copy constructor. More...
 
virtual ~FireVisionDataFileBlock ()
 Destructor. More...
 
unsigned int type () const
 Get block type. More...
 
void * block_memptr () const
 Pointer to the whole block. More...
 
size_t block_size () const
 Size of blocks. More...
 
void * data_ptr () const
 Get data pointer. More...
 
size_t data_size () const
 Size of data chunk. More...
 

Protected Member Functions

void set_spec_header (void *spec_header, size_t spec_header_size)
 Set content-specific header. More...
 

Protected Attributes

void * _data
 
size_t _data_size
 
void * _spec_header
 

Detailed Description

FireVision File Format data block. This class describes one data block inside a FVFF file.

Author
Tim Niemueller

Definition at line 39 of file fvfile_block.h.

Constructor & Destructor Documentation

◆ FireVisionDataFileBlock() [1/4]

firevision::FireVisionDataFileBlock::FireVisionDataFileBlock ( unsigned int  type,
size_t  data_size,
void *  spec_header,
size_t  spec_header_size 
)

Constructor.

Parameters
typeblock type, content specific
data_sizesize of the data segment
spec_headercontent-specific header
spec_header_sizesize of spec_header in bytes

Definition at line 61 of file fvfile_block.cpp.

◆ FireVisionDataFileBlock() [2/4]

firevision::FireVisionDataFileBlock::FireVisionDataFileBlock ( unsigned int  type,
size_t  data_size,
size_t  spec_header_size 
)

Constructor.

Parameters
typeblock type, content specific
data_sizesize of the data segment
spec_header_sizea specific header of the given size is created internally

Definition at line 74 of file fvfile_block.cpp.

References data_size(), and type().

◆ FireVisionDataFileBlock() [3/4]

firevision::FireVisionDataFileBlock::FireVisionDataFileBlock ( unsigned int  type,
size_t  data_size 
)

Constructor.

Specific header is assumed to be unused.

Parameters
typeblock type, content specific
data_sizesize of the data segment

Definition at line 86 of file fvfile_block.cpp.

References _data_size.

◆ FireVisionDataFileBlock() [4/4]

firevision::FireVisionDataFileBlock::FireVisionDataFileBlock ( FireVisionDataFileBlock block)

Shallow copy constructor.

This creates a shallow copy of the given block. "Shallow" means that the data is not copied but referenced. This instance is only valid as long as the original instance still exists.

Parameters
blockblock to copy

Definition at line 97 of file fvfile_block.cpp.

◆ ~FireVisionDataFileBlock()

firevision::FireVisionDataFileBlock::~FireVisionDataFileBlock ( )
virtual

Destructor.

Definition at line 174 of file fvfile_block.cpp.

References firevision::_fvff_block_header_t::type.

Member Function Documentation

◆ block_memptr()

void * firevision::FireVisionDataFileBlock::block_memptr ( ) const

Pointer to the whole block.

Returns
pointer to whole block, including headers

Definition at line 194 of file fvfile_block.cpp.

◆ block_size()

size_t firevision::FireVisionDataFileBlock::block_size ( ) const

Size of blocks.

Returns
size of blocks in bytes.

Definition at line 203 of file fvfile_block.cpp.

References _data.

◆ data_ptr()

void * firevision::FireVisionDataFileBlock::data_ptr ( ) const

Get data pointer.

Returns
pointer to the data segment of the block

Definition at line 212 of file fvfile_block.cpp.

References _data_size.

Referenced by firevision::Histogram::Histogram(), and firevision::FireVisionDataFile::read().

◆ data_size()

size_t firevision::FireVisionDataFileBlock::data_size ( ) const

Size of data chunk.

Returns
size of data in bytes.

Definition at line 221 of file fvfile_block.cpp.

Referenced by FireVisionDataFileBlock().

◆ set_spec_header()

void firevision::FireVisionDataFileBlock::set_spec_header ( void *  spec_header,
size_t  spec_header_size 
)
protected

Set content-specific header.

If necessary this re-creates internal buffers. To avoid this use the three-parameter ctor to have it account for the expected header size.

Parameters
spec_headercontent-specific header
spec_header_sizesize of spec_header in bytes

Definition at line 147 of file fvfile_block.cpp.

◆ type()

unsigned int firevision::FireVisionDataFileBlock::type ( ) const

Get block type.

Returns
block type ID, content specific

Definition at line 185 of file fvfile_block.cpp.

Referenced by FireVisionDataFileBlock(), and firevision::TriclopsStereoProcessor::verify_rectification_lut().

Member Data Documentation

◆ _data

void * firevision::FireVisionDataFileBlock::_data
protected

Pointer to the internal data segment. Never free or modify the pointer, but only deal with the data it points to.

Definition at line 66 of file fvfile_block.h.

Referenced by block_size(), firevision::HistogramBlock::HistogramBlock(), firevision::RectificationLutInfoBlock::RectificationLutInfoBlock(), and firevision::HistogramBlock::set_data().

◆ _data_size

size_t firevision::FireVisionDataFileBlock::_data_size
protected

◆ _spec_header

void * firevision::FireVisionDataFileBlock::_spec_header
protected

Pointer to the content specific block header. Never free or modify the pointer, but only deal with the data it points to.

Definition at line 68 of file fvfile_block.h.

Referenced by firevision::HistogramBlock::HistogramBlock().


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