ULIS  dev4.0.7
Utility Library for Imaging Systems
Public Member Functions | Static Public Member Functions | List of all members
FTiledBlock Class Reference

The FTiledBlock class provides a mean of storing very large tiled images, powered by a large number of complex algorithms allowing efficient memory usage and performances, as well as disk streaming facilities, compression systems, redundant data reuse by hashing pixel data, low overall rates in memory fragmentation, infinite or unbounded images in space and time, within reasonable range ( depends on the user available disk space and ram space ), and multithreaded operations.

Public Member Functions

 FTiledBlock (const FTiledBlock &)=delete
 
 FTiledBlock (FTilePool &iTilePool)
 
 ~FTiledBlock ()
 
FVec2I ChunkCoordinatesFromKey (uint64 iKey) const
 
FVec2I ChunkCoordinatesFromPixelCoordinates (const FVec2I &iPos) const
 
void Clear ()
 
void ExtendOperativeGeometryAfterMutableChange (const FRectI &iRect)
 
void GatherChunks (TArray< FLQTree * > *oVec)
 
uint64 KeyFromChunkCoordinates (const FVec2I &iPos) const
 
uint64 KeyFromPixelCoordinates (const FVec2I &iPos) const
 
const FRectILeafGeometry () const
 
uint64 NumChunks () const
 
const FRectIOperativeGeometry () const
 
FTiledBlockoperator= (const FTiledBlock &)=delete
 
FVec2I PixelCoordinatesFromChunkCoordinates (const FVec2I &iPos) const
 
FVec2I PixelCoordinatesFromKey (uint64 iKey) const
 
const uint8QueryConstTile (const FVec2I &iPos) const
 
FTile ** QueryMutableTile (const FVec2I &iPos)
 
void RecomputeLeafGeometry ()
 
void RecomputeRootGeometry ()
 
const FRectIRootGeometry () const
 
void SanitizeNow ()
 
void SubstractOperativeGeometryAfterMutableChange (const FRectI &iRect)
 

Static Public Member Functions

static bool IsValidPixelCoordRange (int64 iValue)
 

Constructor & Destructor Documentation

◆ ~FTiledBlock()

FTiledBlock::~FTiledBlock ( )

Destructor, cleanup chunks.

◆ FTiledBlock() [1/2]

FTiledBlock::FTiledBlock ( FTilePool iTilePool)

Constructor, initialize with zero chunks.

◆ FTiledBlock() [2/2]

FTiledBlock::FTiledBlock ( const FTiledBlock )
delete

Explicitely deleted copy constructor

Member Function Documentation

◆ ChunkCoordinatesFromKey()

FVec2I FTiledBlock::ChunkCoordinatesFromKey ( uint64  iKey) const

Coordinates

◆ ChunkCoordinatesFromPixelCoordinates()

FVec2I FTiledBlock::ChunkCoordinatesFromPixelCoordinates ( const FVec2I iPos) const

Coordinates

◆ Clear()

void FTiledBlock::Clear ( )

Clear all map

◆ ExtendOperativeGeometryAfterMutableChange()

void FTiledBlock::ExtendOperativeGeometryAfterMutableChange ( const FRectI iRect)

Process operative geometry

◆ GatherChunks()

void FTiledBlock::GatherChunks ( TArray< FLQTree * > *  oVec)

Gather all chunks in an array

◆ IsValidPixelCoordRange()

static bool FTiledBlock::IsValidPixelCoordRange ( int64  iValue)
static

check wether the input coordinate is in a valid range

◆ KeyFromChunkCoordinates()

uint64 FTiledBlock::KeyFromChunkCoordinates ( const FVec2I iPos) const

Coordinates

◆ KeyFromPixelCoordinates()

uint64 FTiledBlock::KeyFromPixelCoordinates ( const FVec2I iPos) const

Coordinates

◆ LeafGeometry()

const FRectI& FTiledBlock::LeafGeometry ( ) const

Return the rough leaf geometry built from all leafs

◆ NumChunks()

uint64 FTiledBlock::NumChunks ( ) const

Get the number of chunk entries in the map

◆ OperativeGeometry()

const FRectI& FTiledBlock::OperativeGeometry ( ) const

Return the operative geometry

◆ operator=()

FTiledBlock& FTiledBlock::operator= ( const FTiledBlock )
delete

Explicitely deleted copy assignment operator

◆ PixelCoordinatesFromChunkCoordinates()

FVec2I FTiledBlock::PixelCoordinatesFromChunkCoordinates ( const FVec2I iPos) const

Coordinates

◆ PixelCoordinatesFromKey()

FVec2I FTiledBlock::PixelCoordinatesFromKey ( uint64  iKey) const

Coordinates

◆ QueryConstTile()

const uint8* FTiledBlock::QueryConstTile ( const FVec2I iPos) const

Query a tile for Read only

◆ QueryMutableTile()

FTile** FTiledBlock::QueryMutableTile ( const FVec2I iPos)

Query a tile for Read Write

◆ RecomputeLeafGeometry()

void FTiledBlock::RecomputeLeafGeometry ( )

Manual recompute cached leaf geometry

◆ RecomputeRootGeometry()

void FTiledBlock::RecomputeRootGeometry ( )

Manual recompute cached root geometry

◆ RootGeometry()

const FRectI& FTiledBlock::RootGeometry ( ) const

Return the rough root geometry made up from chunks

◆ SanitizeNow()

void FTiledBlock::SanitizeNow ( )

Sanitize map, removing pure empty chunks

◆ SubstractOperativeGeometryAfterMutableChange()

void FTiledBlock::SubstractOperativeGeometryAfterMutableChange ( const FRectI iRect)

Process operative geometry