#include <itkOffset.h>
Offset is a templated class to represent a multi-dimensional offset, i.e. (i,j,k,...). Offset is templated over the dimension of the space.
For the sake of efficiency, Offset does not define a default constructor, a copy constructor, or an operator=. We rely on the compiler to provide efficient bitwise copies.
Definition at line 53 of file itkOffset.h.
Public Types | |
typedef Offset< VOffsetDimension > | OffsetType |
typedef long | OffsetValueType |
typedef Offset | Self |
Public Member Functions | |
void | Fill (OffsetValueType value) |
const OffsetValueType * | GetOffset () const |
OffsetValueType | operator[] (unsigned int dim) const |
OffsetValueType & | operator[] (unsigned int dim) |
void | SetOffset (const OffsetValueType val[VOffsetDimension]) |
bool | operator!= (const Self &vec) const |
const Self | operator+ (const Size< VOffsetDimension > &size) const |
const Self | operator+ (const Self &offset) const |
const Self & | operator+= (const Self &vec) |
const Self & | operator+= (const Size< VOffsetDimension > &size) |
const Self | operator- (const Self &vec) |
const Self & | operator-= (const Self &vec) |
const Self & | operator-= (const Size< VOffsetDimension > &size) |
bool | operator== (const Self &vec) const |
Static Public Member Functions | |
static Self | GetBasisOffset (unsigned int dim) |
static unsigned int | GetOffsetDimension () |
Public Attributes | |
OffsetValueType | m_Offset [VOffsetDimension] |
typedef Offset<VOffsetDimension> itk::Offset< VOffsetDimension >::OffsetType |
Compatible offset typedefs.
Definition at line 62 of file itkOffset.h.
typedef long itk::Offset< VOffsetDimension >::OffsetValueType |
Definition at line 63 of file itkOffset.h.
typedef Offset itk::Offset< VOffsetDimension >::Self |
Standard class typedefs.
Definition at line 56 of file itkOffset.h.
void itk::Offset< VOffsetDimension >::Fill | ( | OffsetValueType | value | ) | [inline] |
Set one value for the offset in all dimensions. Useful for initializing an offset to zero.
Definition at line 189 of file itkOffset.h.
References itk::Offset< VOffsetDimension >::m_Offset.
Offset< VOffsetDimension > itk::Offset< VOffsetDimension >::GetBasisOffset | ( | unsigned int | dim | ) | [static] |
Return a basis vector of the form [0, ..., 0, 1, 0, ... 0] where the "1" is positioned in the location specified by the parameter "dim". Valid values of "dim" are 0, ..., VOffsetDimension-1.
Definition at line 213 of file itkOffset.h.
References itk::Offset< VOffsetDimension >::m_Offset.
const OffsetValueType* itk::Offset< VOffsetDimension >::GetOffset | ( | void | ) | const [inline] |
Get the index. This provides a read only reference to the index.
Definition at line 173 of file itkOffset.h.
References itk::Offset< VOffsetDimension >::m_Offset.
static unsigned int itk::Offset< VOffsetDimension >::GetOffsetDimension | ( | ) | [inline, static] |
Get the dimension (size) of the index.
Definition at line 59 of file itkOffset.h.
bool itk::Offset< VOffsetDimension >::operator!= | ( | const Self & | vec | ) | const [inline] |
Compare two offsets.
Definition at line 151 of file itkOffset.h.
References itk::Offset< VOffsetDimension >::m_Offset.
const Self itk::Offset< VOffsetDimension >::operator+ | ( | const Size< VOffsetDimension > & | size | ) | const [inline] |
Add a size to an offset.
Definition at line 78 of file itkOffset.h.
References itk::Offset< VOffsetDimension >::m_Offset.
const Self itk::Offset< VOffsetDimension >::operator+ | ( | const Self & | offset | ) | const [inline] |
Add an offset to an offset.
Definition at line 67 of file itkOffset.h.
References itk::Offset< VOffsetDimension >::m_Offset.
const Self& itk::Offset< VOffsetDimension >::operator+= | ( | const Self & | vec | ) | [inline] |
Increment offset by an offset.
Definition at line 120 of file itkOffset.h.
References itk::Offset< VOffsetDimension >::m_Offset.
const Self& itk::Offset< VOffsetDimension >::operator+= | ( | const Size< VOffsetDimension > & | size | ) | [inline] |
Increment index by a size.
Definition at line 89 of file itkOffset.h.
References itk::Offset< VOffsetDimension >::m_Offset.
const Self itk::Offset< VOffsetDimension >::operator- | ( | const Self & | vec | ) | [inline] |
Subtract two offsets.
Definition at line 109 of file itkOffset.h.
References itk::Offset< VOffsetDimension >::m_Offset.
const Self& itk::Offset< VOffsetDimension >::operator-= | ( | const Self & | vec | ) | [inline] |
Decrement offset by an offset.
Definition at line 130 of file itkOffset.h.
References itk::Offset< VOffsetDimension >::m_Offset.
const Self& itk::Offset< VOffsetDimension >::operator-= | ( | const Size< VOffsetDimension > & | size | ) | [inline] |
Decrement index by a size.
Definition at line 99 of file itkOffset.h.
References itk::Offset< VOffsetDimension >::m_Offset.
bool itk::Offset< VOffsetDimension >::operator== | ( | const Self & | vec | ) | const [inline] |
Compare two offsets.
Definition at line 140 of file itkOffset.h.
References itk::Offset< VOffsetDimension >::m_Offset.
OffsetValueType itk::Offset< VOffsetDimension >::operator[] | ( | unsigned int | dim | ) | const [inline] |
Access an element of the index. Elements are numbered 0, ..., VOffsetDimension-1. This version can only be an rvalue. No bounds checking is performed.
Definition at line 168 of file itkOffset.h.
References itk::Offset< VOffsetDimension >::m_Offset.
OffsetValueType& itk::Offset< VOffsetDimension >::operator[] | ( | unsigned int | dim | ) | [inline] |
Access an element of the offset. Elements are numbered 0, ..., VOffsetDimension-1. No bounds checking is performed.
Definition at line 162 of file itkOffset.h.
References itk::Offset< VOffsetDimension >::m_Offset.
void itk::Offset< VOffsetDimension >::SetOffset | ( | const OffsetValueType | val[VOffsetDimension] | ) | [inline] |
Set the index. Try to prototype this function so that val has to point to a block of memory that is the appropriate size.
Definition at line 179 of file itkOffset.h.
References itk::Offset< VOffsetDimension >::m_Offset.
OffsetValueType itk::Offset< VOffsetDimension >::m_Offset[VOffsetDimension] |
Offset is an "aggregate" class. Its data is public (m_Offset) allowing for fast and convenient instantiations/assignments.
The following syntax for assigning an index is allowed/suggested: Offset<3> index = {5, 2, 7};
Definition at line 197 of file itkOffset.h.
Referenced by itk::Offset< VOffsetDimension >::Fill(), itk::Offset< VOffsetDimension >::GetBasisOffset(), itk::Offset< VOffsetDimension >::GetOffset(), itk::Offset< VOffsetDimension >::operator!=(), itk::Offset< VOffsetDimension >::operator+(), itk::Offset< VOffsetDimension >::operator+=(), itk::Offset< VOffsetDimension >::operator-(), itk::Index< VIndexDimension >::operator-(), itk::Offset< VOffsetDimension >::operator-=(), itk::Offset< VOffsetDimension >::operator==(), itk::Offset< VOffsetDimension >::operator[](), and itk::Offset< VOffsetDimension >::SetOffset().