MeVisLab Toolbox 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. More... | |
Public Member Functions | |
PageBuffer () | |
Initialize the structure. More... | |
Public Attributes | |
VirtualVolume * | _virtVol |
Pointer to the virtual volume object. More... | |
SubImageBox | _box |
Box of original image mapped in this page. More... | |
MLMemoryBlockHandle | _memoryBlockHandle |
The memory block handle for holding the page data locked. More... | |
void * | _page |
Pointer to the page data reduced by the offset to the page origin. More... | |
bool | _locked |
If true this page contains written data and must not be removed. More... | |
ReturnPageFunc | _getPageFkt |
Pointer to function to return the page managed by the PageBuffer. More... | |
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 463 of file mlVirtualVolume.h.
typedef void*(* ml::PageBuffer::ReturnPageFunc) (PageBuffer *toMePtr) |
Function to return the data page of the PageBuffer.
Definition at line 466 of file mlVirtualVolume.h.
|
inline |
Initialize the structure.
Definition at line 469 of file mlVirtualVolume.h.
SubImageBox ml::PageBuffer::_box |
Box of original image mapped in this page.
Definition at line 475 of file mlVirtualVolume.h.
ReturnPageFunc ml::PageBuffer::_getPageFkt |
Pointer to function to return the page managed by the PageBuffer.
Definition at line 489 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().
bool ml::PageBuffer::_locked |
If true this page contains written data and must not be removed.
Definition at line 486 of file mlVirtualVolume.h.
Referenced by 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(), and ml::TVirtualVolume< DATATYPE >::setCursorValue().
MLMemoryBlockHandle ml::PageBuffer::_memoryBlockHandle |
The memory block handle for holding the page data locked.
Definition at line 478 of file mlVirtualVolume.h.
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 483 of file mlVirtualVolume.h.
Referenced by ml::VirtualVolume::_getPageCB().
VirtualVolume* ml::PageBuffer::_virtVol |
Pointer to the virtual volume object.
Definition at line 472 of file mlVirtualVolume.h.