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. | |
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. | |
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.
typedef void *(* ml::PageBuffer::ReturnPageFunc) (PageBuffer *toMePtr) |
Function to return the data page of the PageBuffer.
Definition at line 479 of file mlVirtualVolume.h.
|
inline |
Initialize the structure.
Definition at line 482 of file mlVirtualVolume.h.
SubImageBox ml::PageBuffer::_box |
Box of original image mapped in this page.
Definition at line 488 of file mlVirtualVolume.h.
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().
bool ml::PageBuffer::_locked |
If true this page contains written data and must not be removed.
Definition at line 499 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 491 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 496 of file mlVirtualVolume.h.
VirtualVolume* ml::PageBuffer::_virtVol |
Pointer to the virtual volume object.
Definition at line 485 of file mlVirtualVolume.h.