Fawkes API  Fawkes Development Version
firevision::FireVisionDataFileBlock Class Reference

FireVision File Format data block. More...

#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
 Pointer to the internal data segment. More...
 
size_t _data_size
 Size of _data in bytes. More...
 
void * _spec_header
 Pointer to the content specific block header. More...
 

Detailed Description

FireVision File Format data block.

This class describes one data block inside a FVFF file.

Author
Tim Niemueller

Definition at line 35 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 59 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 71 of file fvfile_block.cpp.

◆ 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 83 of file fvfile_block.cpp.

◆ 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 95 of file fvfile_block.cpp.

References _data, _data_size, _spec_header, data_size(), firevision::_fvff_block_header_t::size, firevision::_fvff_block_header_t::spec_head_size, type(), and firevision::_fvff_block_header_t::type.

◆ ~FireVisionDataFileBlock()

firevision::FireVisionDataFileBlock::~FireVisionDataFileBlock ( )
virtual

Destructor.

Definition at line 173 of file fvfile_block.cpp.

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 195 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 205 of file fvfile_block.cpp.

◆ data_ptr()

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

Get data pointer.

Returns
pointer to the data segment of the block

Definition at line 215 of file fvfile_block.cpp.

References _data.

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 225 of file fvfile_block.cpp.

References _data_size.

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 145 of file fvfile_block.cpp.

References _data, _data_size, _spec_header, and firevision::_fvff_block_header_t::spec_head_size.

◆ 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.

References firevision::_fvff_block_header_t::type.

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

Member Data Documentation

◆ _data

void * firevision::FireVisionDataFileBlock::_data
protected

◆ _data_size

◆ _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 57 of file fvfile_block.h.

Referenced by firevision::ColormapFileYuvBlock::ColormapFileYuvBlock(), FireVisionDataFileBlock(), firevision::HistogramBlock::HistogramBlock(), firevision::RectificationInfoBlock::RectificationInfoBlock(), and set_spec_header().


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