Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members | Related Pages

vlVolIterBaseConst< DataType > Class Template Reference

This is the base class for volume iterators that work on a grid. More...

#include <vlvoliterbase.h>

Inheritance diagram for vlVolIterBaseConst< DataType >:

vlVolIterSuperBase vlVolIterConst< DataType, Layout > vlVolIterConst< DataType, LayoutType > vlVolIterConst< DataType, vlLayout::Generic > vlVolIterConst< DataType, vlLayout::Linear > vlVolIterConst< DataType, vlLayout::VirtualCall > vlVolIter< DataType, Layout > vlVolIter< DataType, LayoutType > vlVolIter< DataType, vlLayout::Generic > vlVolIter< DataType, vlLayout::Linear > vlVolIter< DataType, vlLayout::VirtualCall > List of all members.

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.


Detailed Description

template<typename DataType>
class vlVolIterBaseConst< DataType >

Each layout type should re-implement all the API functions in the most optimal way. Iterator class for each data layout should have the name vlVolIter<layout_name>. For e.g., for Linear layout, the iterators are vlVolIterLinear and vlVolIterLinearConst. This base class if for const iterators. That is, iterators which will not modify any data. You will also need to implement iterator derived from the non-const version which is vlVolIterBase.

See also:
vlVolIterBase
Author:
Sarang Lakare <sarang@users.sf.net>

Definition at line 77 of file vlvoliterbase.h.


Constructor & Destructor Documentation

template<typename DataType>
vlVolIterBaseConst< DataType >::vlVolIterBaseConst  )  [inline]
 

Definition at line 81 of file vlvoliterbase.h.

References vlVolIterBaseConst< DataType >::m_volData.

template<typename DataType>
vlVolIterBaseConst< DataType >::vlVolIterBaseConst const vlVolume vol  )  [inline]
 

Definition at line 84 of file vlvoliterbase.h.

References vlVolIterBaseConst< DataType >::m_volData, vlVolume::typeInfo(), and vlVolume::volData().

template<typename DataType>
vlVolIterBaseConst< DataType >::vlVolIterBaseConst const vlVolData data  )  [inline]
 

Definition at line 96 of file vlvoliterbase.h.

References vlVolIterBaseConst< DataType >::m_volData, and vlVolData::typeInfo().

template<typename DataType>
vlVolIterBaseConst< DataType >::vlVolIterBaseConst const vlVolDataLayoutBase< DataType > *  data  )  [inline]
 

Definition at line 109 of file vlvoliterbase.h.

References vlVolIterBaseConst< DataType >::m_volData.

template<typename DataType>
virtual vlVolIterBaseConst< DataType >::~vlVolIterBaseConst  )  [inline, virtual]
 

Definition at line 115 of file vlvoliterbase.h.


Member Function Documentation

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::end  )  [pure virtual]
 

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::endOfNeighborhood  )  [pure virtual]
 

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 >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::firstNeighbor  )  [pure virtual]
 

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 >.

template<typename DataType>
virtual DataType vlVolIterBaseConst< DataType >::get  )  [pure virtual]
 

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual vlInterpolatorBase<DataType> const* vlVolIterBaseConst< DataType >::getInterpolator  )  [pure virtual]
 

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 >.

template<typename DataType>
virtual DataType vlVolIterBaseConst< DataType >::getNeighbor  )  [pure virtual]
 

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 >.

template<typename DataType>
virtual uint16 vlVolIterBaseConst< DataType >::getNeighborId  )  [pure virtual]
 

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 >.

template<typename DataType>
virtual vlOffset vlVolIterBaseConst< DataType >::getNeighborOffset  )  [pure virtual]
 

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 >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::getOp vlVoxelOpValue value  )  [pure virtual]
 

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.

See also:
setVoxelOp()

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::getOp DataType &  value  )  [pure virtual]
 

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.

See also:
setVoxelOp()

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual DataType vlVolIterBaseConst< DataType >::getRelative const vlPoint3f delta  )  [pure virtual]
 

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 >.

template<typename DataType>
virtual DataType vlVolIterBaseConst< DataType >::getRelative const vlOffset offset  )  [pure virtual]
 

Implemented in vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual DataType vlVolIterBaseConst< DataType >::getRelativeNBC const vlOffset offset  )  [pure virtual]
 

Implemented in vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual DataType vlVolIterBaseConst< DataType >::getRelativeX const int32  offset  )  [pure virtual]
 

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual DataType vlVolIterBaseConst< DataType >::getRelativeY const int32  offset  )  [pure virtual]
 

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual DataType vlVolIterBaseConst< DataType >::getRelativeZ const int32  offset  )  [pure virtual]
 

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual DataType vlVolIterBaseConst< DataType >::getValueAt const vlPoint3f pos  )  [pure virtual]
 

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 >.

template<typename DataType>
virtual DataType vlVolIterBaseConst< DataType >::getValueAt const vlPoint3ui pos  )  [pure virtual]
 

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual vlVoxelOpBase<DataType> const* vlVolIterBaseConst< DataType >::getVoxelOperator  )  [pure virtual]
 

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 >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::moveRelative const vlOffset offset  )  [pure virtual]
 

Implemented in vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::moveTo const vlPoint3ui newPosition  )  [pure virtual]
 

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::next  )  [pure virtual]
 

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual void vlVolIterBaseConst< DataType >::nextNBC  )  [pure virtual]
 

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.

See also:
next()

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::nextNeighbor  )  [pure virtual]
 

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 >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::nextXYZ  )  [pure virtual]
 

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::nextYZX  )  [pure virtual]
 

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::nextZXY  )  [pure virtual]
 

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::operator++  )  [pure virtual]
 

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::operator--  )  [pure virtual]
 

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::outside  )  [pure virtual]
 

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 >.

template<typename DataType>
virtual vlPoint3ui vlVolIterBaseConst< DataType >::pos  )  [pure virtual]
 

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::prev  )  [pure virtual]
 

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual void vlVolIterBaseConst< DataType >::prevNBC  )  [pure virtual]
 

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.

See also:
prev()

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::prevXYZ  )  [pure virtual]
 

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::prevYZX  )  [pure virtual]
 

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::prevZXY  )  [pure virtual]
 

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual void vlVolIterBaseConst< DataType >::resetOutside  )  [pure virtual]
 

Implemented in vlVolIterConst< DataType, LayoutType >, vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::setInterpolation const std::string &  name  )  [pure virtual]
 

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 >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::setInterpolation const vlInterpolationType  type  )  [pure virtual]
 

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 >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::setNeighborhood const vlNeighborhood neighborhood  )  [pure virtual]
 

A neighborhood is defined by a list of offsets stored in the vlNeighborhood object.

See also:
vlNeighborhood

Implemented in vlVolIterConst< DataType, Layout >, vlVolIterConst< DataType, vlLayout::Generic >, vlVolIterConst< DataType, vlLayout::Linear >, and vlVolIterConst< DataType, vlLayout::VirtualCall >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::setVoxelOperation const std::string &  name  )  [pure virtual]
 

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 >.

template<typename DataType>
virtual bool vlVolIterBaseConst< DataType >::setVoxelOperation const vlVoxelOpType  type  )  [pure virtual]
 

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 >.


Member Data Documentation

template<typename DataType>
vlVolDataLayoutBase<DataType>* vlVolIterBaseConst< DataType >::m_volData [protected]
 

Definition at line 352 of file vlvoliterbase.h.

Referenced by vlVolIterBaseConst< DataType >::vlVolIterBaseConst(), vlVolIterConst< DataType, LayoutType >::vlVolIterConst(), and vlVolIterConst< DataType, vlLayout::Generic >::vlVolIterConst().


The documentation for this class was generated from the following file:
Generated on Fri Mar 18 11:33:21 2005 for OpenVL by doxygen 1.3.3