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

#include <itkSize.h>

+ Inheritance diagram for itk::Size< VDimension >:

Detailed Description

template<unsigned int VDimension = 2>
class itk::Size< VDimension >

Represent the size (bounds) of a n-dimensional image.

Size is a class to represent multi-dimensional array bounds, templated over the dimension. Insight assumes that the first element of Size is the fastest moving index.

For the sake of efficiency, Size does not define a default constructor, a copy constructor, or an operator=. We rely on the compiler to provide efficient bitwise copies.

Size is an "aggregate" class. Its data is public (m_Size) allowing for fast and convenient instantiations/assignments.

The following syntax for assigning a size is allowed/suggested: Size<3> size = {256, 256, 20};

See Also
Index
Wiki Examples:
Examples:
SphinxExamples/src/Core/Common/CreateABackwardDifferenceOperator/Code.cxx, and SphinxExamples/src/Core/Common/CreateASize/Code.cxx.

Definition at line 52 of file itkSize.h.

Public Types

typedef Size Self
 
typedef Size< VDimension > SizeType
 
typedef itk::SizeValueType SizeValueType
 

Public Member Functions

void Fill (SizeValueType value)
 
SizeValueType GetElement (unsigned long element) const
 
const SizeValueTypeGetSize () const
 
bool operator!= (const Self &vec) const
 
const Self operator* (const Self &vec) const
 
const Self operator+ (const Self &vec) const
 
const Self operator- (const Self &vec) const
 
bool operator== (const Self &vec) const
 
SizeValueTypeoperator[] (unsigned int dim)
 
SizeValueType operator[] (unsigned int dim) const
 
void SetElement (unsigned long element, SizeValueType val)
 
void SetSize (const SizeValueType val[VDimension])
 
const Selfoperator+= (const Self &vec)
 
const Selfoperator-= (const Self &vec)
 
const Selfoperator*= (const Self &vec)
 

Static Public Member Functions

static unsigned int GetSizeDimension (void)
 

Public Attributes

SizeValueType m_Size [VDimension]
 

Static Public Attributes

static const unsigned int Dimension = VDimension
 

Member Typedef Documentation

template<unsigned int VDimension = 2>
typedef Size itk::Size< VDimension >::Self

Standard class typedefs.

Definition at line 56 of file itkSize.h.

template<unsigned int VDimension = 2>
typedef Size< VDimension > itk::Size< VDimension >::SizeType

Compatible Size and value typedef

Definition at line 59 of file itkSize.h.

template<unsigned int VDimension = 2>
typedef itk::SizeValueType itk::Size< VDimension >::SizeValueType

Definition at line 60 of file itkSize.h.

Member Function Documentation

template<unsigned int VDimension = 2>
void itk::Size< VDimension >::Fill ( SizeValueType  value)
inline

Set one value for the index in all dimensions. Useful for initializing an offset to zero.

Definition at line 198 of file itkSize.h.

Referenced by itk::ImageIORegionAdaptor< VDimension >::Convert().

template<unsigned int VDimension = 2>
SizeValueType itk::Size< VDimension >::GetElement ( unsigned long  element) const
inline

Get an element of the Size. gets the value of one of the elements in the size This method is mainly intended to facilitate the access to elements from Tcl and Python where C++ notation is not very convenient.

Warning
No bound checking is performed
See Also
GetSize()
SetElement()

Definition at line 193 of file itkSize.h.

template<unsigned int VDimension = 2>
const SizeValueType* itk::Size< VDimension >::GetSize ( void  ) const
inline

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

See Also
SetSize

Definition at line 166 of file itkSize.h.

template<unsigned int VDimension = 2>
static unsigned int itk::Size< VDimension >::GetSizeDimension ( void  )
inlinestatic

Get the dimension of the size object.

Definition at line 66 of file itkSize.h.

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

Compare two sizes.

Definition at line 144 of file itkSize.h.

template<unsigned int VDimension = 2>
const Self itk::Size< VDimension >::operator* ( const Self vec) const
inline

Multiply two sizes (elementwise product).

Definition at line 112 of file itkSize.h.

template<unsigned int VDimension = 2>
const Self& itk::Size< VDimension >::operator*= ( const Self vec)
inline

Multiply two sizes (elementwise product).

Definition at line 123 of file itkSize.h.

template<unsigned int VDimension = 2>
const Self itk::Size< VDimension >::operator+ ( const Self vec) const
inline

Add two sizes.

Definition at line 70 of file itkSize.h.

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

Increment size by a size.

Definition at line 81 of file itkSize.h.

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

Subtract two sizes.

Definition at line 91 of file itkSize.h.

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

Decrement size by a size.

Definition at line 102 of file itkSize.h.

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

Compare two sizes.

Definition at line 133 of file itkSize.h.

template<unsigned int VDimension = 2>
SizeValueType& itk::Size< VDimension >::operator[] ( unsigned int  dim)
inline

Access an element of the size. Elements are numbered 0, ..., VDimension-1. No bounds checking is performed.

Definition at line 155 of file itkSize.h.

template<unsigned int VDimension = 2>
SizeValueType itk::Size< VDimension >::operator[] ( unsigned int  dim) const
inline

Access an element of the size. Elements are numbered 0, ..., VDimension-1. This version can only be an rvalue. No bounds checking is performed.

Definition at line 161 of file itkSize.h.

template<unsigned int VDimension = 2>
void itk::Size< VDimension >::SetElement ( unsigned long  element,
SizeValueType  val 
)
inline

Set an element of the Size. sets the value of one of the elements in the Size This method is mainly intended to facilitate the access to elements from Tcl and Python where C++ notation is not very convenient.

Warning
No bound checking is performed.
See Also
SetSize()
GetElement()

Definition at line 184 of file itkSize.h.

template<unsigned int VDimension = 2>
void itk::Size< VDimension >::SetSize ( const SizeValueType  val[VDimension])
inline

Set the size. Try to prototype this function so that val has to point to a block of memory that is the appropriate size.

See Also
GetSize

Definition at line 171 of file itkSize.h.

Referenced by itk::ImageRegionSplitter< VImageDimension >::GetNumberOfSplitsInternal(), and itk::ImageRegionSplitter< VImageDimension >::GetSplitInternal().

Member Data Documentation

template<unsigned int VDimension = 2>
const unsigned int itk::Size< VDimension >::Dimension = VDimension
static

Dimension constant

Definition at line 63 of file itkSize.h.

template<unsigned int VDimension = 2>
SizeValueType itk::Size< VDimension >::m_Size[VDimension]

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