#include <vlvoliter_linear_const.h>
Inheritance diagram for vlVolIterConst< DataType, vlLayout::Linear >:

Public Member Functions | |
| vlVolIterConst (const vlVolume *vol) | |
| Constructor when volume pointer is provided. | |
| vlVolIterConst (const vlVolData *data) | |
| Constructor when volume data pointer is provided. | |
| vlVolIterConst (const vlVolDataLayout< DataType, vlLayout::Linear > *data) | |
| Constructor when volume data in linear layout pointer is provided. | |
| virtual | ~vlVolIterConst () |
| default destructor | |
| bool | isValid () |
| Returns true if the iterator was properly initialized. | |
| bool | end () |
| Returns true if end of volume reached. | |
| vlPoint3ui | pos () |
| Return the position of the iterator. | |
| bool | moveTo (const vlPoint3ui &newPosition) |
| move the iterator to voxel at newPosition - for random access | |
| bool | moveRelative (const vlOffset &offset) |
| move the iterator by offset | |
| DataType | get () |
| Get the value of voxel at current position. | |
| DataType | getValueAt (const vlPoint3ui &pos) |
| Get the value of voxel at the given position. | |
| DataType | getValueAt (const vlPoint3f &pos) |
| Get the value of voxel at the given position - interpolation will be used. | |
| bool | operator++ () |
| move the iterator to the next position (no order assumed) | |
| bool | operator-- () |
| move the iterator to the previous position (no order assumed) | |
| bool | next () |
| move the iterator to the next voxel - NOTE : No order assumed - fastest traversal | |
| void | nextNBC () |
| move the iterator to the next voxel - WARNING : No bounds checking | |
| bool | nextXYZ () |
| move the iterator to the next voxel - move first along X, then Y and then Z | |
| bool | nextYZX () |
| move the iterator to the next voxel - move first along Y, then Z and then X | |
| bool | nextZXY () |
| move the iterator to the next voxel - move first along Z, then X and then Y | |
| bool | prev () |
| move the iterator to the previous voxel - NOTE : No order assumed - fastest traversal | |
| void | prevNBC () |
| move the iterator to the previous voxel - WARNING : No bounds checking | |
| bool | prevXYZ () |
| move the iterator to the previous voxel - move first along X, then Y and then Z | |
| bool | prevYZX () |
| move the iterator to the previous voxel - move first along Y, then Z and then X | |
| bool | prevZXY () |
| move the iterator to the previous voxel - move first along Z, then X and then Y | |
| DataType | getRelative (const vlOffset &offset) |
| get value at a voxel with position delta from the current one | |
| DataType | getRelative (const vlPoint3f &delta) |
| Get value at a point delta from the curret position of the iterator. | |
| DataType | getRelativeNBC (const vlOffset &offset) |
| Same as getRelative but with NBC = No Boundary Check, thus faster. | |
| DataType | getRelativeX (const int32 offset) |
| Get the voxel along X axis. | |
| DataType | getRelativeY (const int32 offset) |
| Get the voxel along Y axis. | |
| DataType | getRelativeZ (const int32 offset) |
| Get the voxel along Z axis. | |
| bool | setNeighborhood (const vlNeighborhood &neighborhood) |
| Set the neighborhood of the current voxel to access. | |
| DataType | getNeighbor () |
| Get the value stored at currently selected neighboring voxel. | |
| vlOffset | getNeighborOffset () |
| Get the offset of the current neighbor in the neighborhood. | |
| uint16 | getNeighborId () |
| Get the id of the current neighbor in the neighborhood. | |
| bool | nextNeighbor () |
| Move the neighbor pointer to the next neighbor in the neighborhood list. | |
| bool | firstNeighbor () |
| Move the neighbor pointer to the first neighbor in the neighborhood list. | |
| bool | endOfNeighborhood () |
| This function checks if end of neighborhood is reached. | |
| bool | outside () |
| Returns the status of outside flag. | |
| void | resetOutside () |
| Explicitly reset the outside flag. | |
| bool | setInterpolation (const vlInterpolationType type) |
| Set the type of interpolation to use whenever the need arises. | |
| bool | setInterpolation (const std::string &name) |
| Same as previous function, except that it takes the name of interpolation as argument. | |
| vlInterpolatorBase< DataType > const * | getInterpolator () |
| Returns pointer to the interpolator being used. | |
| bool | setVoxelOperation (const vlVoxelOpType type) |
| Set the type of voxel operator to use. | |
| bool | setVoxelOperation (const std::string &name) |
| Same as previous function, except that it takes the name of voxel operator as argument. | |
| vlVoxelOpBase< DataType > const * | getVoxelOperator () |
| Returns pointer to the voxel operator being used. | |
| bool | getOp (DataType &value) |
| Gets the value computed by the voxel operator. | |
| bool | getOp (vlVoxelOpValue &value) |
| Gets the value computed by the voxel operator. | |
| DataType | getRelative (const int32 deltaOffset) |
| Get value at a voxel with position deltaOffset from the current one. | |
| DataType | getRelativeNBC (const int32 deltaOffset) |
| Same as getRelative(offset) but with NBC = No Boundary Check. | |
Protected Attributes | |
| bool | m_endOfNeighborhood |
| Stores the end of neighborhood marker. | |
| unsigned long | m_voxelCount |
| the total voxels in the volume | |
| DataType * | m_pFirstVoxel |
| this will always point to the first voxel | |
| DataType * | m_pCurrVoxel |
| this will always point to the current voxel | |
| DataType * | m_pLastVoxel |
| Pointer to the last voxel of the volume. | |
| vlVolDataLayout< DataType, vlLayout::Linear > * | m_data |
| the volume data on which the iterator is defined | |
| vlStep | m_step |
| Store the stepping distance along the three axis. | |
| vlDim | m_dim |
| Store the dimensions of the volume. | |
| vlDim | m_dimLimit |
| Limit for dimensions. | |
| vlInterpolationType | m_interpolation |
| The type of interpolation to use. | |
| bool | m_outside |
| Set to true if get*() accessed outside. | |
| bool | m_valid |
| True if iterator is valid - initialized properly. | |
| vlNeighborhood | m_neighborhood |
| Stores the neighborhood being used. | |
| std::vector< vlOffset >::const_iterator | m_currNeighbor |
| Stores iterator which points to the current neighbor. | |
| std::vector< vlOffset >::const_iterator | m_endNeighbor |
| Stores iterator which points to the end of offset list. | |
| uint16 | m_neighborId |
| Stores the ID of the neighbor. | |
| vlInterpolator< DataType, vlLayout::Linear > * | m_nativeIpolator |
| Stores the pointer to native interpolator. | |
| vlInterpolator< DataType, vlLayout::VirtualCall > * | m_virtualIpolator |
| Stores the pointer to interpolator which uses VirtualCall iterator. | |
| vlVoxelOperator< DataType, vlLayout::Linear > * | m_nativeVoxelOp |
| Stores the pointer to native voxel operator. | |
| vlVoxelOperator< DataType, vlLayout::VirtualCall > * | m_virtualVoxelOp |
| Stores the pointer to voxel operator which uses VirtualCall iterator. | |
Replace m_rData with m_pData and check performance
Add robust error checks - easy if moved to m_pData
Definition at line 49 of file vlvoliter_linear_const.h.
|
|||||||||
|
|
|
|||||||||
|
Implements vlVolIterBaseConst< DataType >. Definition at line 152 of file vlvoliter_linear_const.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();
}
Implements vlVolIterBaseConst< DataType >. Definition at line 256 of file vlvoliter_linear_const.h. |
|
|||||||||
|
Call this function to restart looping over the neighboring voxels. Implements vlVolIterBaseConst< DataType >. |
|
|||||||||
|
Implements vlVolIterBaseConst< DataType >. |
|
|||||||||
|
Returns 0L if no interpolator is set. This pointer can be used to get the type and name of the interpolator. Implements vlVolIterBaseConst< DataType >. |
|
|||||||||
|
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. Implements vlVolIterBaseConst< DataType >. |
|
|||||||||
|
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. Implements vlVolIterBaseConst< DataType >. |
|
|||||||||
|
The offset is the location of the neighbor w.r.t. the current location. Implements vlVolIterBaseConst< DataType >. |
|
||||||||||
|
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.
Implements vlVolIterBaseConst< DataType >. |
|
||||||||||
|
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.
Implements vlVolIterBaseConst< DataType >. |
|
||||||||||
|
NOTE : This function is available only for Linear layout. |
|
||||||||||
|
This will be an iterpolated value. Set the type of interpolation using setIterpolation() NOTE : Not implmented as of this update of the documentation.
Implements vlVolIterBaseConst< DataType >. |
|
||||||||||
|
Implements vlVolIterBaseConst< DataType >. |
|
||||||||||
|
NOTE : This function is available only for Linear layout. |
|
||||||||||
|
Implements vlVolIterBaseConst< DataType >. |
|
||||||||||
|
Implements vlVolIterBaseConst< DataType >. |
|
||||||||||
|
Implements vlVolIterBaseConst< DataType >. |
|
||||||||||
|
Implements vlVolIterBaseConst< DataType >. |
|
||||||||||
|
Set the type of interpolation to use using setInterpolation(). NOTE : Not implmented as of this update of the documentation.
Implements vlVolIterBaseConst< DataType >. |
|
||||||||||
|
NOTE : Not implemented yet.
Implements vlVolIterBaseConst< DataType >. |
|
|||||||||
|
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. Implements vlVolIterBaseConst< DataType >. |
|
|||||||||
|
Implements vlVolIterSuperBase. Definition at line 146 of file vlvoliter_linear_const.h. |
|
||||||||||
|
Implements vlVolIterBaseConst< DataType >. |
|
||||||||||
|
Implements vlVolIterBaseConst< DataType >. |
|
|||||||||
|
Implements vlVolIterBaseConst< DataType >. |
|
|||||||||
|
Implements vlVolIterBaseConst< DataType >. |
|
|||||||||
|
If there are no more neighbors left, then the function will return false. Implements vlVolIterBaseConst< DataType >. |
|
|||||||||
|
Implements vlVolIterBaseConst< DataType >. |
|
|||||||||
|
Implements vlVolIterBaseConst< DataType >. |
|
|||||||||
|
Implements vlVolIterBaseConst< DataType >. |
|
|||||||||
|
Implements vlVolIterBaseConst< DataType >. |
|
|||||||||
|
Implements vlVolIterBaseConst< DataType >. |
|
|||||||||
|
Implements vlVolIterBaseConst< DataType >. Definition at line 259 of file vlvoliter_linear_const.h. |
|
|||||||||
|
Implements vlVolIterBaseConst< DataType >. |
|
|||||||||
|
Implements vlVolIterBaseConst< DataType >. |
|
|||||||||
|
Implements vlVolIterBaseConst< DataType >. |
|
|||||||||
|
Implements vlVolIterBaseConst< DataType >. |
|
|||||||||
|
Implements vlVolIterBaseConst< DataType >. |
|
|||||||||
|
Implements vlVolIterBaseConst< DataType >. |
|
|||||||||
|
Implements vlVolIterBaseConst< DataType >. Definition at line 262 of file vlvoliter_linear_const.h. |
|
||||||||||
|
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. Implements vlVolIterBaseConst< DataType >. |
|
||||||||||
|
For e.g., getValueAt(float) will need interpolation to get value at non-grid points. Implements vlVolIterBaseConst< DataType >. |
|
||||||||||
|
A neighborhood is defined by a list of offsets stored in the vlNeighborhood object.
Implements vlVolIterBaseConst< DataType >. |
|
||||||||||
|
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) Implements vlVolIterBaseConst< DataType >. |
|
||||||||||
|
This operator will be used to perform the operation when getOp() is called. Implements vlVolIterBaseConst< DataType >. |
|
||||||||||
|
|
|
||||||||||
|
|
|
||||||||||
|
|
|
|||||
|
Definition at line 341 of file vlvoliter_linear_const.h. |
|
|||||
|
Definition at line 317 of file vlvoliter_linear_const.h. |
|
|||||
|
Definition at line 323 of file vlvoliter_linear_const.h. |
|
|||||
|
Definition at line 326 of file vlvoliter_linear_const.h. |
|
|||||
|
Definition at line 344 of file vlvoliter_linear_const.h. |
|
|||||
|
Set to true when nextNeighbor() is called while at the last voxel in then neighborhood list. Definition at line 302 of file vlvoliter_linear_const.h. |
|
|||||
|
Definition at line 329 of file vlvoliter_linear_const.h. |
|
|||||
|
Definition at line 350 of file vlvoliter_linear_const.h. |
|
|||||
|
Definition at line 356 of file vlvoliter_linear_const.h. |
|
|||||
|
Definition at line 338 of file vlvoliter_linear_const.h. |
|
|||||
|
Definition at line 347 of file vlvoliter_linear_const.h. |
|
|||||
|
Definition at line 332 of file vlvoliter_linear_const.h. |
|
|||||
|
Definition at line 311 of file vlvoliter_linear_const.h. |
|
|||||
|
Definition at line 308 of file vlvoliter_linear_const.h. |
|
|||||
|
Definition at line 314 of file vlvoliter_linear_const.h. |
|
|||||
|
Definition at line 320 of file vlvoliter_linear_const.h. |
|
|||||
|
Definition at line 335 of file vlvoliter_linear_const.h. |
|
|||||
|
Definition at line 353 of file vlvoliter_linear_const.h. |
|
|||||
|
Definition at line 359 of file vlvoliter_linear_const.h. |
|
|||||
|
Definition at line 305 of file vlvoliter_linear_const.h. |
1.3.3