MeVisLab Toolbox Reference
mlTVirtualVolume.h File Reference
#include "MLToolsSystem.h"
#include "mlVirtualVolume.h"
#include "mlBitImage.h"

Go to the source code of this file.

Classes

class  ml::TVirtualVolume< DATATYPE >
 The TVirtualVolume class implements random access to a paged input image or a pure virtual image without mapping more than a limited number of bytes. Pages of the input volume are mapped temporarily into memory when needed. If no input volume is specified the pages are created and filled with a fill value. When the permitted amount of memory is exceeded then older mapped pages are removed. When pages are written they are mapped until the virtual volume instance is removed or if they are explicitly cleared by the application. More...
 

Namespaces

namespace  ml
 Main documentation file for ML users and developers.
 

Macros

Move cursor to next lower position. The *E versions throw ML_OUT_OF_RANGE exceptions when outside the image.
#define _VV_MOVEBE_TEST(Q)
 Macro to save cursor movement with exception handling if outside image.
 

Macro Definition Documentation

◆ _VV_MOVEBE_TEST

#define _VV_MOVEBE_TEST ( Q)
Value:
if (_cPos.Q >= 0){ _cPageIdx -= static_cast<MLuint>(_strides.Q); } \
else{ _cPos.Q++; _cIdx += static_cast<MLuint>(_pStrides.Q); throw(ML_OUT_OF_RANGE); }
#define ML_OUT_OF_RANGE
Any coordinate or value is out of range, often a voxel address which is outside of an image or it is ...
Definition mlTypeDefs.h:872
MLuint64 MLuint
An unsigned ML integer type with at least 64 bits used for index calculations on very large images ev...
Definition mlTypeDefs.h:506

Macro to save cursor movement with exception handling if outside image.

If called then we're out of page. So test if also out of image. If not then update page index. If yes then correct cursor pos and throw exception.

Definition at line 839 of file mlTVirtualVolume.h.

Referenced by ml::TVirtualVolume< DATATYPE >::_moveBCE(), ml::TVirtualVolume< DATATYPE >::_moveBTE(), ml::TVirtualVolume< DATATYPE >::_moveBUE(), ml::TVirtualVolume< DATATYPE >::_moveBXE(), ml::TVirtualVolume< DATATYPE >::_moveBYE(), and ml::TVirtualVolume< DATATYPE >::_moveBZE().