FireVisionDataFileBlock Class Reference

FireVision File Format data block. More...

#include <fvutils/fileformat/fvfile_block.h>

Inheritance diagram for FireVisionDataFileBlock:

List of all members.


Public Member Functions

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

Protected Member Functions

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

Protected Attributes

void * _data
 Pointer to the internal data segment.
size_t _data_size
 Size of _data in bytes.
void * _spec_header
 Pointer to the content specific block header.

Detailed Description

FireVision File Format data block.

This class describes one data block inside a FVFF file.

Author:
Tim Niemueller

Definition at line 30 of file fvfile_block.h.


Constructor & Destructor Documentation

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

Constructor.

Parameters:
type block type, content specific
data_size size of the data segment
spec_header content-specific header
spec_header_size size of spec_header in bytes

Definition at line 54 of file fvfile_block.cpp.

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

Constructor.

Parameters:
type block type, content specific
data_size size of the data segment
spec_header_size a specific header of the given size is created internally

Definition at line 66 of file fvfile_block.cpp.

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

Constructor.

Specific header is assumed to be unused.

Parameters:
type block type, content specific
data_size size of the data segment

Definition at line 78 of file fvfile_block.cpp.

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:
block block to copy

Definition at line 90 of file fvfile_block.cpp.

References _data, _data_size, and _spec_header.

FireVisionDataFileBlock::~FireVisionDataFileBlock (  )  [virtual]

Destructor.

Definition at line 168 of file fvfile_block.cpp.


Member Function Documentation

void * FireVisionDataFileBlock::block_memptr (  )  const

Pointer to the whole block.

Returns:
pointer to whole block, including headers

Definition at line 190 of file fvfile_block.cpp.

size_t FireVisionDataFileBlock::block_size (  )  const

Size of blocks.

Returns:
size of blocks in bytes.

Definition at line 200 of file fvfile_block.cpp.

void * FireVisionDataFileBlock::data_ptr (  )  const

Get data pointer.

Returns:
pointer to the data segment of the block

Definition at line 210 of file fvfile_block.cpp.

References _data.

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

size_t FireVisionDataFileBlock::data_size (  )  const

Size of data chunk.

Returns:
size of data in bytes.

Definition at line 220 of file fvfile_block.cpp.

References _data_size.

void 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_header content-specific header
spec_header_size size of spec_header in bytes

Definition at line 140 of file fvfile_block.cpp.

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

unsigned int FireVisionDataFileBlock::type (  )  const

Get block type.

Returns:
block type ID, content specific

Definition at line 180 of file fvfile_block.cpp.

References _fvff_block_header_t::type.

Referenced by TriclopsStereoProcessor::verify_rectification_lut().


Member Data Documentation

void * 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 50 of file fvfile_block.h.

Referenced by ColormapFileYuvBlock::ColormapFileYuvBlock(), data_ptr(), FireVisionDataFileBlock(), HistogramBlock::HistogramBlock(), RectificationLutInfoBlock::RectificationLutInfoBlock(), HistogramBlock::set_data(), and set_spec_header().

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 52 of file fvfile_block.h.

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


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