Grok 20.3.2
grk::PrecinctImpl Struct Reference

Stores tag trees and code blocks belonging to a Precinct A reference to the Precinct is also stored. More...

#include <PrecinctImpl.h>

Inheritance diagram for grk::PrecinctImpl:
grk::PrecinctImplCompress grk::PrecinctImplDecompress

Public Member Functions

 PrecinctImpl (Precinct *prec)
 Constructs a new PrecinctImpl.
virtual ~PrecinctImpl (void)
 Destroys the PrecinctImpl.
 PrecinctImpl (const PrecinctImpl &)=delete
PrecinctImploperator= (const PrecinctImpl &)=delete
Rect32_16 getCodeBlockBounds (uint32_t cblkno)
 Gets non-nominal bounds for a code block.
template<typename T>
void initCodeBlock (T *block, uint32_t cblkno)
 Initializes code block.
void deleteTagTrees ()
 Deletes tag trees.
TagTreeU16getIncludeTagTree (void)
 Gets include tag tree.
TagTreeU8getIMsbTagTree (void)
 Gets MSB tag tree.

Public Attributes

BlockCache< t1::CodeblockCompress, PrecinctImpl > * enc_
 Cache of CodeblockCompress.
BlockCache< t1::CodeblockDecompress, PrecinctImpl > * dec_
 Cache of CodeblockDecompress.
Rect32_16 cblk_grid_
 code block grid
Precinctprec_
 associated precinct

Protected Member Functions

bool genCodeBlockGrid (void)

Private Member Functions

bool hasCodeBlocks (void)

Private Attributes

TagTreeU16incltree_
TagTreeU8imsbtree_

Detailed Description

Stores tag trees and code blocks belonging to a Precinct A reference to the Precinct is also stored.

Constructor & Destructor Documentation

◆ PrecinctImpl() [1/2]

grk::PrecinctImpl::PrecinctImpl ( Precinct * prec)
explicit

◆ ~PrecinctImpl()

grk::PrecinctImpl::~PrecinctImpl ( void )
virtual

Destroys the PrecinctImpl.

References dec_, deleteTagTrees(), and enc_.

◆ PrecinctImpl() [2/2]

grk::PrecinctImpl::PrecinctImpl ( const PrecinctImpl & )
delete

References PrecinctImpl().

Member Function Documentation

◆ deleteTagTrees()

void grk::PrecinctImpl::deleteTagTrees ( )

Deletes tag trees.

References imsbtree_, and incltree_.

Referenced by ~PrecinctImpl().

◆ genCodeBlockGrid()

bool grk::PrecinctImpl::genCodeBlockGrid ( void )
protected

◆ getCodeBlockBounds()

Rect32_16 grk::PrecinctImpl::getCodeBlockBounds ( uint32_t cblkno)

Gets non-nominal bounds for a code block.

Parameters
cblknocode block index
Returns
Rect32_16 code block bounds

References cblk_grid_, and prec_.

Referenced by grk::Precinct::getCodeBlockBounds(), and initCodeBlock().

◆ getIMsbTagTree()

TagTreeU8 * grk::PrecinctImpl::getIMsbTagTree ( void )

Gets MSB tag tree.

Returns
TagTreeU8* TagTreeU8 MSB tag tree

References cblk_grid_, grk::grklog, hasCodeBlocks(), and imsbtree_.

Referenced by grk::Precinct::getImsbTree().

◆ getIncludeTagTree()

TagTreeU16 * grk::PrecinctImpl::getIncludeTagTree ( void )

Gets include tag tree.

Returns
TagTreeU16* TagTreeU16 include tag tree

References cblk_grid_, grk::grklog, hasCodeBlocks(), and incltree_.

Referenced by grk::Precinct::getInclTree().

◆ hasCodeBlocks()

bool grk::PrecinctImpl::hasCodeBlocks ( void )
private

References cblk_grid_.

Referenced by getIMsbTagTree(), and getIncludeTagTree().

◆ initCodeBlock()

template<typename T>
void grk::PrecinctImpl::initCodeBlock ( T * block,
uint32_t cblkno )

Initializes code block.

Template Parameters
TCodeBlock type
Parameters
blockcode block
cblknoindex of code block in precinct

References getCodeBlockBounds().

◆ operator=()

PrecinctImpl & grk::PrecinctImpl::operator= ( const PrecinctImpl & )
delete

References PrecinctImpl().

Member Data Documentation

◆ cblk_grid_

◆ dec_

◆ enc_

◆ imsbtree_

TagTreeU8* grk::PrecinctImpl::imsbtree_
private

◆ incltree_

TagTreeU16* grk::PrecinctImpl::incltree_
private

◆ prec_

Precinct* grk::PrecinctImpl::prec_

associated precinct

Referenced by genCodeBlockGrid(), getCodeBlockBounds(), and PrecinctImpl().


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