#include <vlvoliterbase.h>
Inheritance diagram for vlVolIterBaseConst< DataType >:

Public Member Functions | |
| vlVolIterBaseConst () | |
| Default constructor. | |
| vlVolIterBaseConst (const vlVolume *vol) | |
| Constructor when a const volume pointer is given. | |
| vlVolIterBaseConst (const vlVolData *data) | |
| Constructor when a const volume data pointer is given. | |
| vlVolIterBaseConst (const vlVolDataLayoutBase< DataType > *data) | |
| Constructor when a const volume data pointer is given. | |
| virtual | ~vlVolIterBaseConst () |
| Default destructor. | |
| virtual bool | end ()=0 |
| Return true if at the end of the volume. | |
| virtual vlPoint3ui | pos ()=0 |
| Return the position of the iterator. | |
| virtual bool | moveTo (const vlPoint3ui &newPosition)=0 |
| move the iterator to voxel at newPosition - for random access | |
| virtual bool | moveRelative (const vlOffset &offset)=0 |
| move the iterator by offset | |
| virtual DataType | get ()=0 |
| Get the value of voxel at current position. | |
| virtual DataType | getValueAt (const vlPoint3ui &pos)=0 |
| Get the value of voxel at the given position. | |
| virtual DataType | getValueAt (const vlPoint3f &pos)=0 |
| Get the value of voxel at the given position - interpolation will be used. | |
| virtual bool | operator++ ()=0 |
| move the iterator to the next position - same as next() | |
| virtual bool | operator-- ()=0 |
| move the iterator to the previous position - same as prev() | |
| virtual bool | next ()=0 |
| move the iterator to the next voxel - NOTE : No order assumed - fastest traversal | |
| virtual void | nextNBC ()=0 |
| Same as next() but w/o checking for any bounds. | |
| virtual bool | nextXYZ ()=0 |
| move the iterator to the next voxel - move first along X, then Y and then Z | |
| virtual bool | nextYZX ()=0 |
| move the iterator to the next voxel - move first along Y, then Z and then X | |
| virtual bool | nextZXY ()=0 |
| move the iterator to the next voxel - move first along Z, then X and then Y | |
| virtual bool | prev ()=0 |
| move the iterator to the previous voxel - NOTE : No order assumed - fastest traversal | |
| virtual void | prevNBC ()=0 |
| Same as prev() but w/o checking for any bounds. | |
| virtual bool | prevXYZ ()=0 |
| move the iterator to the previous voxel - move first along X, then Y and then Z | |
| virtual bool | prevYZX ()=0 |
| move the iterator to the previous voxel - move first along Y, then Z and then X | |
| virtual bool | prevZXY ()=0 |
| move the iterator to the previous voxel - move first along Z, then X and then Y | |
| virtual DataType | getRelative (const vlOffset &offset)=0 |
| get value at a voxel with position delta from the current one | |
| virtual DataType | getRelativeNBC (const vlOffset &offset)=0 |
| Same as getRelative but with NBC = No Boundary Check, thus faster. | |
| virtual DataType | getRelative (const vlPoint3f &delta)=0 |
| Get value at a point delta from the curret position of the iterator. | |
| virtual DataType | getRelativeX (const int32 offset)=0 |
| Get the voxel along X axis. | |
| virtual DataType | getRelativeY (const int32 offset)=0 |
| Get the voxel along Y axis. | |
| virtual DataType | getRelativeZ (const int32 offset)=0 |
| Get the voxel along Z axis. | |
| virtual bool | outside ()=0 |
| Returns true if the outside flag was set. | |
| virtual void | resetOutside ()=0 |
| Explicitly reset the outside flag. | |
| virtual bool | setNeighborhood (const vlNeighborhood &neighborhood)=0 |
| Set the neighborhood of the current voxel to access. | |
| virtual DataType | getNeighbor ()=0 |
| Get the value stored at currently selected neighboring voxel. | |
| virtual vlOffset | getNeighborOffset ()=0 |
| Get the offset of the current neighbor in the neighborhood. | |
| virtual uint16 | getNeighborId ()=0 |
| Get the id of the current neighbor in the neighborhood. | |
| virtual bool | nextNeighbor ()=0 |
| Move the neighbor pointer to the next neighbor in the neighborhood list. | |
| virtual bool | firstNeighbor ()=0 |
| Move the neighbor pointer to the first neighbor in the neighborhood list. | |
| virtual bool | endOfNeighborhood ()=0 |
| This function checks if end of neighborhood is reached. | |
| virtual bool | setInterpolation (const vlInterpolationType type)=0 |
| Set the type of interpolation to use whenever the need arises. | |
| virtual bool | setInterpolation (const std::string &name)=0 |
| Same as previous function, except that it takes the name of interpolation as argument. | |
| virtual vlInterpolatorBase< DataType > const * | getInterpolator ()=0 |
| Returns pointer to the interpolator being used. | |
| virtual bool | setVoxelOperation (const vlVoxelOpType type)=0 |
| Set the type of voxel operator to use. | |
| virtual bool | setVoxelOperation (const std::string &name)=0 |
| Same as previous function, except that it takes the name of voxel operator as argument. | |
| virtual vlVoxelOpBase< DataType > const * | getVoxelOperator ()=0 |
| Returns pointer to the voxel operator being used. | |
| virtual bool | getOp (DataType &value)=0 |
| Gets the value computed by the voxel operator. | |
| virtual bool | getOp (vlVoxelOpValue &value)=0 |
| Gets the value computed by the voxel operator. | |
Protected Attributes | |
| vlVolDataLayoutBase< DataType > * | m_volData |
| Pointer to the volumetric data of the volume. | |
Definition at line 77 of file vlvoliterbase.h.
|
|||||||||
|
Definition at line 81 of file vlvoliterbase.h. References vlVolIterBaseConst< DataType >::m_volData. |
|
||||||||||
|
Definition at line 84 of file vlvoliterbase.h. References vlVolIterBaseConst< DataType >::m_volData, vlVolume::typeInfo(), and vlVolume::volData(). |
|
||||||||||
|
Definition at line 96 of file vlvoliterbase.h. References vlVolIterBaseConst< DataType >::m_volData, and vlVolData::typeInfo(). |
|
||||||||||
|
Definition at line 109 of file vlvoliterbase.h. References vlVolIterBaseConst< DataType >::m_volData. |
|
|||||||||
|
Definition at line 115 of file vlvoliterbase.h. |
|
|||||||||
|
|||||||||
|
If it has reached, it returns true, else it returns false. End of neighborhood is defined as a call to nextNeighbor() when there are no more neighbors. That is, when nextNeighbor() is called while at the last neighbor. This function is useful mainly to write neat and easy-to-understand code like this: while(!iter.endOfNeighborhood()) {
std::cout << iter.getNeighbor() << std::flush;
iter.nextNeighbor();
}
Implemented in vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
|||||||||
|
Call this function to restart looping over the neighboring voxels. Implemented in vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
|||||||||
|
|||||||||
|
Returns 0L if no interpolator is set. This pointer can be used to get the type and name of the interpolator. Implemented in vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
|||||||||
|
If a neighborhood is setup using a call to setNeighborhood(..), then there will always be a neighboring voxel that is selected at any given time. This function call will return the value at that voxel. Implemented in vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
|||||||||
|
This id is basically the position of the neighbor in the neighborhood list. Thus, this id can be used to access the neighbor's properties stored in vlNeighborhood or the classes that derive from it. Implemented in vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
|||||||||
|
The offset is the location of the neighbor w.r.t. the current location. Implemented in vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
||||||||||
|
Use this function call when the voxel operation returns arbitrary data (i.e. not a voxel). Make sure you have set the voxel operator using setVoxelOp(...) before calling this function.
Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
||||||||||
|
Use this function call when the voxel operation returns a voxel as a result. Make sure you have set the voxel operator using setVoxelOp(...) before calling this function.
Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
||||||||||
|
This will be an iterpolated value. Set the type of interpolation using setIterpolation() Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
||||||||||
|
Implemented in vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
||||||||||
|
Implemented in vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
||||||||||
|
||||||||||
|
||||||||||
|
||||||||||
|
Set the type of interpolation to use using setInterpolation(). Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
||||||||||
|
|||||||||
|
Returns 0L if no voxel operator is used. This pointer can be used to get the type and name of the voxel operator. In addition, this can be used to optionally configure the operator. Implemented in vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
||||||||||
|
Implemented in vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
||||||||||
|
|||||||||
|
|||||||||
|
WARNING : Using this w/o proper thought is dangerous. You have been warned! This is simply the fastest way to move to the next voxel. You need to do bounds-checking yourself, else the pointer can easily go outside the data range.
Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
|||||||||
|
If there are no more neighbors left, then the function will return false. Implemented in vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
|||||||||
|
|||||||||
|
|||||||||
|
|||||||||
|
|||||||||
|
|||||||||
|
The outside flag is set whenever a get*() function is called (except the NBC versions). It is set to true if the get*() tried to access outside the volume (in which case it returned zero). It is set to false, if the get call was successful. Thus, by querying this flag, you can find out if get*() was inside volume. The reason why outside flag works only for get*() functions is that these functions have no way to return if they were successful or not (since they return voxel value). All other functions return bool indicating if the function was successful. Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
|||||||||
|
|||||||||
|
|||||||||
|
WARNING : Using this w/o proper thought is dangerous. You have been warned! This is simply the fastest way to move to the previous voxel. You need to do bounds-checking yourself, else the pointer can easily go outside the data range.
Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
|||||||||
|
|||||||||
|
|||||||||
|
|||||||||
|
||||||||||
|
Do not use this function unless you want to use a interpolation plugin about which OpenVL has no idea (i.e. there is no interpolation type specified in vlInterpolationType. Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
||||||||||
|
For e.g., getValueAt(float) will need interpolation to get value at non-grid points. Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
||||||||||
|
A neighborhood is defined by a list of offsets stored in the vlNeighborhood object.
Implemented in vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
||||||||||
|
Do not use this function unless you want to use a voxel operator plugin about which OpenVL has no idea (i.e. there is no voxel operator type specified in vlVoxelOpType) Implemented in vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
||||||||||
|
This operator will be used to perform the operation when getOp() is called. Implemented in vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >. |
|
|||||
|
Definition at line 352 of file vlvoliterbase.h. Referenced by vlVolIterBaseConst< DataType >::vlVolIterBaseConst(), vlVolIterConst< DataType, LayoutType >::vlVolIterConst(), and vlVolIterConst< DataType, vlLayout::Generic >::vlVolIterConst(). |
1.3.3