ITK  4.13.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
itk::Offset< VOffsetDimension > Class Template Reference

#include <itkOffset.h>

+ Inheritance diagram for itk::Offset< VOffsetDimension >:

Detailed Description

template<unsigned int VOffsetDimension = 2>
class itk::Offset< VOffsetDimension >

Represent the offset between two n-dimensional indexes in a n-dimensional image.

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.

See Also
Index
Wiki Examples:
Examples:
SphinxExamples/src/Core/Common/AddOffsetToIndex/Code.cxx, and WikiExamples/SimpleOperations/Offset.cxx.

Definition at line 56 of file itkOffset.h.

Public Types

typedef
Functor::OffsetLexicographicCompare
< VOffsetDimension > 
LexicographicCompare
 
typedef Offset< VOffsetDimension > OffsetType
 
typedef itk::OffsetValueType OffsetValueType
 
typedef Offset Self
 

Public Member Functions

void Fill (OffsetValueType value)
 
const OffsetValueTypeGetOffset () const
 
bool operator!= (const Self &vec) const
 
const Self operator+ (const Self &offset) const
 
const Self operator+ (const Size< VOffsetDimension > &size) const
 
const Self operator- (const Self &vec)
 
bool operator== (const Self &vec) const
 
OffsetValueTypeoperator[] (unsigned int dim)
 
OffsetValueType operator[] (unsigned int dim) const
 
void SetOffset (const OffsetValueType val[VOffsetDimension])
 
const Selfoperator+= (const Size< VOffsetDimension > &size)
 
const Selfoperator-= (const Size< VOffsetDimension > &size)
 
const Selfoperator+= (const Self &vec)
 
const Selfoperator-= (const Self &vec)
 

Static Public Member Functions

static Self GetBasisOffset (unsigned int dim)
 
static unsigned int GetOffsetDimension ()
 

Public Attributes

OffsetValueType m_Offset [VOffsetDimension]
 

Static Public Attributes

static const unsigned int Dimension = VOffsetDimension
 

Member Typedef Documentation

template<unsigned int VOffsetDimension = 2>
typedef Functor::OffsetLexicographicCompare< VOffsetDimension > itk::Offset< VOffsetDimension >::LexicographicCompare

Lexicographic ordering functor type.

Definition at line 73 of file itkOffset.h.

template<unsigned int VOffsetDimension = 2>
typedef Offset< VOffsetDimension > itk::Offset< VOffsetDimension >::OffsetType

Compatible offset typedefs.

Definition at line 69 of file itkOffset.h.

template<unsigned int VOffsetDimension = 2>
typedef itk::OffsetValueType itk::Offset< VOffsetDimension >::OffsetValueType

Definition at line 70 of file itkOffset.h.

template<unsigned int VOffsetDimension = 2>
typedef Offset itk::Offset< VOffsetDimension >::Self

Standard class typedefs.

Definition at line 60 of file itkOffset.h.

Member Function Documentation

template<unsigned int VOffsetDimension = 2>
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 203 of file itkOffset.h.

template<unsigned int VOffsetDimension>
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 260 of file itkOffset.h.

References itk::Offset< VOffsetDimension >::m_Offset.

template<unsigned int VOffsetDimension = 2>
const OffsetValueType* itk::Offset< VOffsetDimension >::GetOffset ( ) const
inline

Get the index. This provides a read only reference to the index.

See Also
SetOffset()

Definition at line 183 of file itkOffset.h.

Referenced by itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >::ConstIterator::GetNeighborhoodOffset().

template<unsigned int VOffsetDimension = 2>
static unsigned int itk::Offset< VOffsetDimension >::GetOffsetDimension ( )
inlinestatic

Get the dimension (size) of the index.

Definition at line 66 of file itkOffset.h.

template<unsigned int VOffsetDimension = 2>
bool itk::Offset< VOffsetDimension >::operator!= ( const Self vec) const
inline

Compare two offsets.

Definition at line 161 of file itkOffset.h.

template<unsigned int VOffsetDimension = 2>
const Self itk::Offset< VOffsetDimension >::operator+ ( const Self offset) const
inline

Add an offset to an offset.

Definition at line 77 of file itkOffset.h.

template<unsigned int VOffsetDimension = 2>
const Self itk::Offset< VOffsetDimension >::operator+ ( const Size< VOffsetDimension > &  size) const
inline

Add a size to an offset.

Definition at line 88 of file itkOffset.h.

template<unsigned int VOffsetDimension = 2>
const Self& itk::Offset< VOffsetDimension >::operator+= ( const Size< VOffsetDimension > &  size)
inline

Increment index by a size.

Definition at line 99 of file itkOffset.h.

template<unsigned int VOffsetDimension = 2>
const Self& itk::Offset< VOffsetDimension >::operator+= ( const Self vec)
inline

Increment offset by an offset.

Definition at line 130 of file itkOffset.h.

template<unsigned int VOffsetDimension = 2>
const Self itk::Offset< VOffsetDimension >::operator- ( const Self vec)
inline

Subtract two offsets.

Definition at line 119 of file itkOffset.h.

template<unsigned int VOffsetDimension = 2>
const Self& itk::Offset< VOffsetDimension >::operator-= ( const Size< VOffsetDimension > &  size)
inline

Decrement index by a size.

Definition at line 109 of file itkOffset.h.

template<unsigned int VOffsetDimension = 2>
const Self& itk::Offset< VOffsetDimension >::operator-= ( const Self vec)
inline

Decrement offset by an offset.

Definition at line 140 of file itkOffset.h.

template<unsigned int VOffsetDimension = 2>
bool itk::Offset< VOffsetDimension >::operator== ( const Self vec) const
inline

Compare two offsets.

Definition at line 150 of file itkOffset.h.

template<unsigned int VOffsetDimension = 2>
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 172 of file itkOffset.h.

template<unsigned int VOffsetDimension = 2>
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 178 of file itkOffset.h.

template<unsigned int VOffsetDimension = 2>
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.

See Also
GetOffset()

Definition at line 189 of file itkOffset.h.

Member Data Documentation

template<unsigned int VOffsetDimension = 2>
const unsigned int itk::Offset< VOffsetDimension >::Dimension = VOffsetDimension
static

Dimension constant

Definition at line 63 of file itkOffset.h.

template<unsigned int VOffsetDimension = 2>
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 211 of file itkOffset.h.

Referenced by itk::Offset< VOffsetDimension >::GetBasisOffset(), itk::Offset< VDimension >::operator!=(), itk::Functor::OffsetLexicographicCompare< VOffsetDimension >::operator()(), itk::Offset< VDimension >::operator+=(), itk::Offset< VDimension >::operator-(), itk::Index< itkGetStaticConstMacro(ImageDimension) >::operator-(), itk::Offset< VDimension >::operator-=(), and itk::Offset< VDimension >::operator==().


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