golib  0.5
goSignal3DGenericIterator2< T > Class Template Reference

Public Member Functions

 goSignal3DGenericIterator2 (goSignal3DBase< void > *s)
 
 goSignal3DGenericIterator2 (const goSignal3DGenericIterator2< T > &other)
 
void setPosition (goIndex_t x, goIndex_t y, goIndex_t z)
 Sets the iterator position to x,y,z in the signal. More...
 
bool endX ()
 
bool endY ()
 
bool endZ ()
 
void incrementX ()
 
void incrementY ()
 
void incrementZ ()
 
void decrementX ()
 
void decrementY ()
 
void decrementZ ()
 
void resetX ()
 Resets the X pointer and internals concerning X to the beginning of the current x-line.
 
void resetY ()
 Resets the Y pointer and internals concerning Y to the beginning of the current z-plane.
 
void resetZ ()
 
T * operator* ()
 
T * leftX ()
 
T * leftY ()
 
T * leftZ ()
 
T * rightX ()
 
T * rightY ()
 
T * rightZ ()
 
T * leftUp ()
 
T * leftDown ()
 
T * rightUp ()
 
T * rightDown ()
 
const T * operator* () const
 

Public Attributes

goSignal3DBase< void > * sig
 
goPtrdiff_t * dx
 
goPtrdiff_t * dy
 
goPtrdiff_t * dz
 
goPtrdiff_t * dxStart
 
goPtrdiff_t * dyStart
 
goPtrdiff_t * dzStart
 
goByte * px
 
goByte * py
 
goByte * pz
 
goIndex_t posX
 
goIndex_t posY
 
goIndex_t posZ
 
goIndex_t maxX
 
goIndex_t maxY
 
goIndex_t maxZ
 

Member Function Documentation

◆ endX()

template<class T >
bool goSignal3DGenericIterator2< T >::endX ( )
inline
Returns
True if the end of the current x-line is reached, false otherwise.

◆ endY()

template<class T >
bool goSignal3DGenericIterator2< T >::endY ( )
inline
Returns
True if the end of the current y-plane is reached, false otherwise.

◆ endZ()

template<class T >
bool goSignal3DGenericIterator2< T >::endZ ( )
inline
Returns
True if the end of the current z-plane is reached (end of the 3D signal), false otherwise.

◆ incrementZ()

template<class T >
void goSignal3DGenericIterator2< T >::incrementZ ( )
inline

Bug:
See todo.
Todo:
This runs over the edge of the dz array when there is no border (holds for all increment functions). This leads to an invalid read operation which may lead to problems. Check if there is a way to fix this without having to change

all iterator calls.

◆ operator*()

template<class T >
T* goSignal3DGenericIterator2< T >::operator* ( )
inline
Returns
Pointer to the data element at the current iterator position.

◆ setPosition()

template<class T >
void goSignal3DGenericIterator2< T >::setPosition ( goIndex_t  x,
goIndex_t  y,
goIndex_t  z 
)
inline

Sets the iterator position to x,y,z in the signal.

Parameters
xX position
yY position
zZ position

The documentation for this class was generated from the following file: