DGtal  0.9.3
Public Types | Public Member Functions | Private Attributes
DGtal::functors::FlipDomainAxis< TDomain > Class Template Reference

#include <DGtal/kernel/BasicPointFunctors.h>

Collaboration diagram for DGtal::functors::FlipDomainAxis< TDomain >:
[legend]

Public Types

typedef TDomain::Space Space
 
typedef TDomain::Size Size
 
typedef Space::Dimension Dimension
 
typedef Space::Point Point
 

Public Member Functions

 FlipDomainAxis (const TDomain &aSourceDomain, const std::vector< Size > &axisFlipped)
 
Point operator() (const Point &aPoint) const
 

Private Attributes

TDomain mySourceDomain
 
std::vector< SizemyAxisFlipped
 

Detailed Description

template<typename TDomain>
class DGtal::functors::FlipDomainAxis< TDomain >

Aim: Functor that flips the domain coordinate system from some selected axis. For instance, if a flip on the y axis is applied on a domain of bounds (0, 0, 0) (MaxX, MaxY, MaxZ), then the coordinate of P(x,y,z) will transformed in P(x, MaxY-y, z).

Description of template class 'FlipDomainAxis'

Such functor can be useful to apply basic image flip from some specific axis directions.

See also
tests/kernel/testBasicPointFunctors.cpp
Template Parameters
TDomainthe type of the domain.

Definition at line 707 of file BasicPointFunctors.h.

Member Typedef Documentation

◆ Dimension

template<typename TDomain>
typedef Space::Dimension DGtal::functors::FlipDomainAxis< TDomain >::Dimension

Definition at line 712 of file BasicPointFunctors.h.

◆ Point

template<typename TDomain>
typedef Space::Point DGtal::functors::FlipDomainAxis< TDomain >::Point

Definition at line 713 of file BasicPointFunctors.h.

◆ Size

template<typename TDomain>
typedef TDomain::Size DGtal::functors::FlipDomainAxis< TDomain >::Size

Definition at line 711 of file BasicPointFunctors.h.

◆ Space

template<typename TDomain>
typedef TDomain::Space DGtal::functors::FlipDomainAxis< TDomain >::Space

Definition at line 710 of file BasicPointFunctors.h.

Constructor & Destructor Documentation

◆ FlipDomainAxis()

template<typename TDomain>
DGtal::functors::FlipDomainAxis< TDomain >::FlipDomainAxis ( const TDomain &  aSourceDomain,
const std::vector< Size > &  axisFlipped 
)
inline

Constructor. Construct the functor from a source domain and a vector defining the axis being flipped. Such a vector should contain the dimension number associated to the axis to be flipped. For instance to flip the x and z axis of a given 3d domain you have to give a vector containing 1 and 2.

Parameters
aSourceDomainthe source domain.
axisFlippeda vector containing the indices of the dimension to be flipped.

Definition at line 727 of file BasicPointFunctors.h.

727  : mySourceDomain(aSourceDomain),
728  myAxisFlipped(axisFlipped){
729  };

Member Function Documentation

◆ operator()()

template<typename TDomain>
Point DGtal::functors::FlipDomainAxis< TDomain >::operator() ( const Point aPoint) const
inline

The operator computes the coordinates of the point in the flipped domain.

Parameters
aPointa source point.
Returns
the point with flipped coordinates according the source domain.

Definition at line 742 of file BasicPointFunctors.h.

References dim(), and DGtal::SpaceND< dim, TInteger >::dimension.

743  {
744  Point ptRes;
745  for (Dimension dim=0; dim< Space::dimension; dim++){
746  ptRes[dim] = aPoint[dim];
747  }
748  for(Dimension i = 0; i< myAxisFlipped.size(); i++){
749  ptRes[myAxisFlipped[i]] = mySourceDomain.upperBound()[myAxisFlipped[i]]-aPoint[myAxisFlipped[i]];
750  }
751  return ptRes;
752  }
const Point aPoint(3, 4)
static const Dimension dimension
static constants to store the dimension.
Definition: SpaceND.h:132
MyPointD Point
Definition: testClone2.cpp:383
unsigned int dim(const Vector &z)

Field Documentation

◆ myAxisFlipped

template<typename TDomain>
std::vector<Size> DGtal::functors::FlipDomainAxis< TDomain >::myAxisFlipped
private

Definition at line 756 of file BasicPointFunctors.h.

◆ mySourceDomain

template<typename TDomain>
TDomain DGtal::functors::FlipDomainAxis< TDomain >::mySourceDomain
private

Definition at line 755 of file BasicPointFunctors.h.


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