MeVisLab Toolbox Reference
ml::PageBuffer Struct Reference

PageBuffer is a helper structure to manage one page of input data of the VirtualVolume class and it also handles the most important properties of the page. More...

#include <mlVirtualVolume.h>

Public Types

typedef void *(* ReturnPageFunc) (PageBuffer *toMePtr)
 Function to return the data page of the PageBuffer.
 

Public Member Functions

 PageBuffer ()
 Initialize the structure.
 

Public Attributes

VirtualVolume_virtVol
 Pointer to the virtual volume object.
 
SubImageBox _box
 Box of original image mapped in this page.
 
MLMemoryBlockHandle _memoryBlockHandle
 The memory block handle for holding the page data locked.
 
void_page
 Pointer to the page data reduced by the offset to the page origin.
 
bool _locked
 If true this page contains written data and must not be removed.
 
ReturnPageFunc _getPageFkt
 Pointer to function to return the page managed by the PageBuffer.
 

Detailed Description

PageBuffer is a helper structure to manage one page of input data of the VirtualVolume class and it also handles the most important properties of the page.

It is an internal class and is not intended to be used by any application. It contains a pointer to a function which returns the virtual image data. The function pointer first points to a function which loads the page, later it points only to a function which returns the data. In this way the data access tests for page loading only once and has maximum performance later on.

Definition at line 476 of file mlVirtualVolume.h.

Member Typedef Documentation

◆ ReturnPageFunc

typedef void *(* ml::PageBuffer::ReturnPageFunc) (PageBuffer *toMePtr)

Function to return the data page of the PageBuffer.

Definition at line 479 of file mlVirtualVolume.h.

Constructor & Destructor Documentation

◆ PageBuffer()

ml::PageBuffer::PageBuffer ( )
inline

Initialize the structure.

Definition at line 482 of file mlVirtualVolume.h.

Member Data Documentation

◆ _box

SubImageBox ml::PageBuffer::_box

Box of original image mapped in this page.

Definition at line 488 of file mlVirtualVolume.h.

◆ _getPageFkt

ReturnPageFunc ml::PageBuffer::_getPageFkt

Pointer to function to return the page managed by the PageBuffer.

Definition at line 502 of file mlVirtualVolume.h.

Referenced by ml::TVirtualVolume< DATATYPE >::_getVoxel1D(), ml::TVirtualVolume< DATATYPE >::_getVoxel1DE(), ml::TVirtualVolume< DATATYPE >::_getVoxel2D(), ml::TVirtualVolume< DATATYPE >::_getVoxel2DE(), ml::TVirtualVolume< DATATYPE >::_getVoxel3D(), ml::TVirtualVolume< DATATYPE >::_getVoxel3DE(), ml::TVirtualVolume< DATATYPE >::_getVoxel4D(), ml::TVirtualVolume< DATATYPE >::_getVoxel4DE(), ml::TVirtualVolume< DATATYPE >::_getVoxel5D(), ml::TVirtualVolume< DATATYPE >::_getVoxel5DE(), ml::TVirtualVolume< DATATYPE >::_getVoxel6D(), ml::TVirtualVolume< DATATYPE >::_getVoxel6DE(), ml::TVirtualVolume< DATATYPE >::_isMapped1D(), ml::TVirtualVolume< DATATYPE >::_isMapped1DE(), ml::TVirtualVolume< DATATYPE >::_isMapped2D(), ml::TVirtualVolume< DATATYPE >::_isMapped2DE(), ml::TVirtualVolume< DATATYPE >::_isMapped3D(), ml::TVirtualVolume< DATATYPE >::_isMapped3DE(), ml::TVirtualVolume< DATATYPE >::_isMapped4D(), ml::TVirtualVolume< DATATYPE >::_isMapped4DE(), ml::TVirtualVolume< DATATYPE >::_isMapped5D(), ml::TVirtualVolume< DATATYPE >::_isMapped5DE(), ml::TVirtualVolume< DATATYPE >::_isMapped6D(), ml::TVirtualVolume< DATATYPE >::_isMapped6DE(), ml::TVirtualVolume< DATATYPE >::_setVoxel1D(), ml::TVirtualVolume< DATATYPE >::_setVoxel1DE(), ml::TVirtualVolume< DATATYPE >::_setVoxel2D(), ml::TVirtualVolume< DATATYPE >::_setVoxel2DE(), ml::TVirtualVolume< DATATYPE >::_setVoxel3D(), ml::TVirtualVolume< DATATYPE >::_setVoxel3DE(), ml::TVirtualVolume< DATATYPE >::_setVoxel4D(), ml::TVirtualVolume< DATATYPE >::_setVoxel4DE(), ml::TVirtualVolume< DATATYPE >::_setVoxel5D(), ml::TVirtualVolume< DATATYPE >::_setVoxel5DE(), ml::TVirtualVolume< DATATYPE >::_setVoxel6D(), ml::TVirtualVolume< DATATYPE >::_setVoxel6DE(), ml::TVirtualVolume< DATATYPE >::getCursorValue(), and ml::TVirtualVolume< DATATYPE >::setCursorValue().

◆ _locked

◆ _memoryBlockHandle

MLMemoryBlockHandle ml::PageBuffer::_memoryBlockHandle

The memory block handle for holding the page data locked.

Definition at line 491 of file mlVirtualVolume.h.

◆ _page

void* ml::PageBuffer::_page

Pointer to the page data reduced by the offset to the page origin.

So the page origin needs not to be subtracted from the voxel coordinates. It can be treated as a pointer to the origin of the virtual volume.

Definition at line 496 of file mlVirtualVolume.h.

◆ _virtVol

VirtualVolume* ml::PageBuffer::_virtVol

Pointer to the virtual volume object.

Definition at line 485 of file mlVirtualVolume.h.


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