iRoCS Toolbox  1.1.0
Public Member Functions
atb::RepeatBoundaryTreatment< DataT, Dim > Class Template Reference

The RepeatBoundaryTreatment class implements repeating border treatment when accessing Arrays. More...

#include "libArrayToolbox/BoundaryTreatment.hh"

Inheritance diagram for atb::RepeatBoundaryTreatment< DataT, Dim >:
Collaboration diagram for atb::RepeatBoundaryTreatment< DataT, Dim >:

Public Member Functions

 RepeatBoundaryTreatment ()
 Constructor. More...
 
 RepeatBoundaryTreatment (RepeatBoundaryTreatment< DataT, Dim > const &bt)
 Copy Constructor. More...
 
 ~RepeatBoundaryTreatment ()
 Destructor. More...
 
BoundaryTreatment< DataT, Dim > * clone () const
 Get a deep copy of this BoundaryTreatment object. More...
 
DataT get (blitz::Array< DataT, Dim > const &data, blitz::TinyVector< ptrdiff_t, Dim > pos) const
 Get the Array value at the given position. More...
 
DataT get (DataT const *data, ptrdiff_t pos, ptrdiff_t length) const
 Get the C-array value at the given position. More...
 
blitz::TinyVector< ptrdiff_t, Dim > getIndex (blitz::TinyVector< ptrdiff_t, Dim > pos, blitz::TinyVector< ptrdiff_t, Dim > const &shape) const
 Get the in-Array-Index to the given position. More...
 
ptrdiff_t getIndex (ptrdiff_t pos, ptrdiff_t length) const
 Get the in-array-index to the given position. More...
 
RepeatBoundaryTreatment< DataT, Dim > & operator= (RepeatBoundaryTreatment< DataT, Dim > const &bt)
 Copy assignment operator. More...
 
bool providesIndices () const
 The returned boolean indicates, whether the boundary treatment is able to transform the incoming coordinates into valid Array coordinates and therefore it indicates, whether the function getIndex() returns valid in-Array-positions. More...
 
BoundaryTreatmentType type () const
 Get the corresponding enumeration value for the boundary treatment type. More...
 

Detailed Description

template<typename DataT, int Dim>
class atb::RepeatBoundaryTreatment< DataT, Dim >

The RepeatBoundaryTreatment class implements repeating border treatment when accessing Arrays.

Definition at line 563 of file BoundaryTreatment.hh.

Constructor & Destructor Documentation

◆ RepeatBoundaryTreatment() [1/2]

template<typename DataT, int Dim>
atb::RepeatBoundaryTreatment< DataT, Dim >::RepeatBoundaryTreatment ( )

Constructor.

◆ RepeatBoundaryTreatment() [2/2]

template<typename DataT, int Dim>
atb::RepeatBoundaryTreatment< DataT, Dim >::RepeatBoundaryTreatment ( RepeatBoundaryTreatment< DataT, Dim > const &  bt)

Copy Constructor.

Parameters
btThe BoundaryTreatment object to copy

◆ ~RepeatBoundaryTreatment()

template<typename DataT, int Dim>
atb::RepeatBoundaryTreatment< DataT, Dim >::~RepeatBoundaryTreatment ( )

Destructor.

Member Function Documentation

◆ operator=()

template<typename DataT, int Dim>
RepeatBoundaryTreatment<DataT,Dim>& atb::RepeatBoundaryTreatment< DataT, Dim >::operator= ( RepeatBoundaryTreatment< DataT, Dim > const &  bt)

Copy assignment operator.

Parameters
btThe BoundaryTreatment object to copy
Returns
A reference to this BoundaryTreatment object for operator chaining

◆ clone()

template<typename DataT, int Dim>
BoundaryTreatment<DataT,Dim>* atb::RepeatBoundaryTreatment< DataT, Dim >::clone ( ) const
virtual

Get a deep copy of this BoundaryTreatment object.

Returns
A deep copy of this BoundaryTreatment object

Implements atb::BoundaryTreatment< DataT, Dim >.

◆ type()

template<typename DataT, int Dim>
BoundaryTreatmentType atb::RepeatBoundaryTreatment< DataT, Dim >::type ( ) const
virtual

Get the corresponding enumeration value for the boundary treatment type.

Returns
RepeatBT

Implements atb::BoundaryTreatment< DataT, Dim >.

◆ providesIndices()

template<typename DataT, int Dim>
bool atb::RepeatBoundaryTreatment< DataT, Dim >::providesIndices ( ) const
virtual

The returned boolean indicates, whether the boundary treatment is able to transform the incoming coordinates into valid Array coordinates and therefore it indicates, whether the function getIndex() returns valid in-Array-positions.

Returns
true

Implements atb::BoundaryTreatment< DataT, Dim >.

◆ get() [1/2]

template<typename DataT, int Dim>
DataT atb::RepeatBoundaryTreatment< DataT, Dim >::get ( blitz::Array< DataT, Dim > const &  data,
blitz::TinyVector< ptrdiff_t, Dim >  pos 
) const
virtual

Get the Array value at the given position.

For out-of-bounds positions the value at the nearest in Array position will be returned.

Parameters
dataThe Array to read a value from
posThe position to read
Returns
The Array value at the in-Array-position corresponding to the passed position

Implements atb::BoundaryTreatment< DataT, Dim >.

◆ getIndex() [1/2]

template<typename DataT, int Dim>
blitz::TinyVector<ptrdiff_t,Dim> atb::RepeatBoundaryTreatment< DataT, Dim >::getIndex ( blitz::TinyVector< ptrdiff_t, Dim >  pos,
blitz::TinyVector< ptrdiff_t, Dim > const &  shape 
) const
virtual

Get the in-Array-Index to the given position.

For out-of-bounds positions the nearest in Array position will be returned.

Parameters
posThe position to transform to in-Array-coordinates
shapeThe Array shape
Returns
The nearest in-Array position to the position passed

Implements atb::BoundaryTreatment< DataT, Dim >.

◆ get() [2/2]

template<typename DataT, int Dim>
DataT atb::RepeatBoundaryTreatment< DataT, Dim >::get ( DataT const *  data,
ptrdiff_t  pos,
ptrdiff_t  length 
) const
virtual

Get the C-array value at the given position.

For out-of-array positions the corresponding treatment will be applied

Parameters
dataThe C-array to read a value from
posThe position to read
lengthThe array length
Returns
The array value at the specified position after boundary treatment

Implements atb::BoundaryTreatment< DataT, Dim >.

◆ getIndex() [2/2]

template<typename DataT, int Dim>
ptrdiff_t atb::RepeatBoundaryTreatment< DataT, Dim >::getIndex ( ptrdiff_t  pos,
ptrdiff_t  length 
) const
virtual

Get the in-array-index to the given position.

This function throws a RuntimeError if the BoundaryTreatment cannot return valid out-of-array indices. This can be checked using the providesIndices flag

Parameters
posThe position to transform to in-Array-coordinates
lengthThe array length
Returns
The in-Array position corresponding to the position that was passed to the function according to the used boundary treatment
Exceptions
RuntimeErrorThis exception is thrown if the BoundaryTreatment cannot generate in-Array positions from given out-of-Array positions, and an out-of-Array position is passed.

Implements atb::BoundaryTreatment< DataT, Dim >.


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