DGtal  1.3.beta
Public Types | Public Member Functions | Protected Attributes | Private Member Functions
DGtal::functors::ForwardRigidTransformation2D< TSpace, TInputValue, TOutputValue, TFunctor > Class Template Reference

Aim: implements forward rigid transformation of point in the 2D integer space. Warring: This version uses closest neighbor interpolation. More...

#include <DGtal/images/RigidTransformation2D.h>

Public Types

typedef TSpace::RealPoint RealPoint
 
typedef TSpace::RealVector RealVector
 

Public Member Functions

 ForwardRigidTransformation2D (const RealPoint &aOrigin, const double &angle, const RealVector &aTranslate)
 
TOutputValue operator() (const TInputValue &aInput) const
 

Protected Attributes

RealPoint origin
 
double t_sin
 
double t_cos
 
RealVector translation
 
TFunctor functor
 

Private Member Functions

 BOOST_CONCEPT_ASSERT ((concepts::CSpace< TSpace >))
 Checking concepts. More...
 
 BOOST_STATIC_ASSERT ((TSpace::dimension==2))
 
 BOOST_STATIC_ASSERT ((TOutputValue::dimension==2))
 
 BOOST_STATIC_ASSERT ((TInputValue::dimension==2))
 

Detailed Description

template<typename TSpace, typename TInputValue = typename TSpace::RealPoint, typename TOutputValue = typename TSpace::Point, typename TFunctor = VectorRounding < TInputValue, TOutputValue >>
class DGtal::functors::ForwardRigidTransformation2D< TSpace, TInputValue, TOutputValue, TFunctor >

Aim: implements forward rigid transformation of point in the 2D integer space. Warring: This version uses closest neighbor interpolation.

Description of template functor like class 'ForwardRigidTransformation2D'

Template Parameters
TSpacea 2 dimensional space.
TInputValuetype of the input point e.g., TSpace::RealPoint
TOutputValuetype of the output point e.g., TSpace::Point
TFunctora functor operating on the output e.g., a rounding function.
See also
exampleRigidtransformation3d.cpp

Definition at line 72 of file RigidTransformation2D.h.

Member Typedef Documentation

◆ RealPoint

template<typename TSpace , typename TInputValue = typename TSpace::RealPoint, typename TOutputValue = typename TSpace::Point, typename TFunctor = VectorRounding < TInputValue, TOutputValue >>
typedef TSpace::RealPoint DGtal::functors::ForwardRigidTransformation2D< TSpace, TInputValue, TOutputValue, TFunctor >::RealPoint

Definition at line 82 of file RigidTransformation2D.h.

◆ RealVector

template<typename TSpace , typename TInputValue = typename TSpace::RealPoint, typename TOutputValue = typename TSpace::Point, typename TFunctor = VectorRounding < TInputValue, TOutputValue >>
typedef TSpace::RealVector DGtal::functors::ForwardRigidTransformation2D< TSpace, TInputValue, TOutputValue, TFunctor >::RealVector

Definition at line 83 of file RigidTransformation2D.h.

Constructor & Destructor Documentation

◆ ForwardRigidTransformation2D()

template<typename TSpace , typename TInputValue = typename TSpace::RealPoint, typename TOutputValue = typename TSpace::Point, typename TFunctor = VectorRounding < TInputValue, TOutputValue >>
DGtal::functors::ForwardRigidTransformation2D< TSpace, TInputValue, TOutputValue, TFunctor >::ForwardRigidTransformation2D ( const RealPoint aOrigin,
const double &  angle,
const RealVector aTranslate 
)
inline

Constructor.

Parameters
aOriginthe center of rotation.
anglethe angle given in radians.
aTranslatethe 2D dimensional vector which represents translation.

Definition at line 93 of file RigidTransformation2D.h.

94  :origin(aOrigin), translation(aTranslate)
95  {
96  t_sin = std::sin ( angle );
97  t_cos = std::cos ( angle );
98  }

References DGtal::functors::ForwardRigidTransformation2D< TSpace, TInputValue, TOutputValue, TFunctor >::t_cos, and DGtal::functors::ForwardRigidTransformation2D< TSpace, TInputValue, TOutputValue, TFunctor >::t_sin.

Member Function Documentation

◆ BOOST_CONCEPT_ASSERT()

template<typename TSpace , typename TInputValue = typename TSpace::RealPoint, typename TOutputValue = typename TSpace::Point, typename TFunctor = VectorRounding < TInputValue, TOutputValue >>
DGtal::functors::ForwardRigidTransformation2D< TSpace, TInputValue, TOutputValue, TFunctor >::BOOST_CONCEPT_ASSERT ( (concepts::CSpace< TSpace >)  )
private

Checking concepts.

◆ BOOST_STATIC_ASSERT() [1/3]

template<typename TSpace , typename TInputValue = typename TSpace::RealPoint, typename TOutputValue = typename TSpace::Point, typename TFunctor = VectorRounding < TInputValue, TOutputValue >>
DGtal::functors::ForwardRigidTransformation2D< TSpace, TInputValue, TOutputValue, TFunctor >::BOOST_STATIC_ASSERT ( (TInputValue::dimension==2)  )
private

◆ BOOST_STATIC_ASSERT() [2/3]

template<typename TSpace , typename TInputValue = typename TSpace::RealPoint, typename TOutputValue = typename TSpace::Point, typename TFunctor = VectorRounding < TInputValue, TOutputValue >>
DGtal::functors::ForwardRigidTransformation2D< TSpace, TInputValue, TOutputValue, TFunctor >::BOOST_STATIC_ASSERT ( (TOutputValue::dimension==2)  )
private

◆ BOOST_STATIC_ASSERT() [3/3]

template<typename TSpace , typename TInputValue = typename TSpace::RealPoint, typename TOutputValue = typename TSpace::Point, typename TFunctor = VectorRounding < TInputValue, TOutputValue >>
DGtal::functors::ForwardRigidTransformation2D< TSpace, TInputValue, TOutputValue, TFunctor >::BOOST_STATIC_ASSERT ( (TSpace::dimension==2)  )
private

◆ operator()()

template<typename TSpace , typename TInputValue = typename TSpace::RealPoint, typename TOutputValue = typename TSpace::Point, typename TFunctor = VectorRounding < TInputValue, TOutputValue >>
TOutputValue DGtal::functors::ForwardRigidTransformation2D< TSpace, TInputValue, TOutputValue, TFunctor >::operator() ( const TInputValue &  aInput) const
inline

Field Documentation

◆ functor

template<typename TSpace , typename TInputValue = typename TSpace::RealPoint, typename TOutputValue = typename TSpace::Point, typename TFunctor = VectorRounding < TInputValue, TOutputValue >>
TFunctor DGtal::functors::ForwardRigidTransformation2D< TSpace, TInputValue, TOutputValue, TFunctor >::functor
protected

◆ origin

template<typename TSpace , typename TInputValue = typename TSpace::RealPoint, typename TOutputValue = typename TSpace::Point, typename TFunctor = VectorRounding < TInputValue, TOutputValue >>
RealPoint DGtal::functors::ForwardRigidTransformation2D< TSpace, TInputValue, TOutputValue, TFunctor >::origin
protected

◆ t_cos

template<typename TSpace , typename TInputValue = typename TSpace::RealPoint, typename TOutputValue = typename TSpace::Point, typename TFunctor = VectorRounding < TInputValue, TOutputValue >>
double DGtal::functors::ForwardRigidTransformation2D< TSpace, TInputValue, TOutputValue, TFunctor >::t_cos
protected

◆ t_sin

template<typename TSpace , typename TInputValue = typename TSpace::RealPoint, typename TOutputValue = typename TSpace::Point, typename TFunctor = VectorRounding < TInputValue, TOutputValue >>
double DGtal::functors::ForwardRigidTransformation2D< TSpace, TInputValue, TOutputValue, TFunctor >::t_sin
protected

◆ translation

template<typename TSpace , typename TInputValue = typename TSpace::RealPoint, typename TOutputValue = typename TSpace::Point, typename TFunctor = VectorRounding < TInputValue, TOutputValue >>
RealVector DGtal::functors::ForwardRigidTransformation2D< TSpace, TInputValue, TOutputValue, TFunctor >::translation
protected

The documentation for this class was generated from the following file:
DGtal::functors::ForwardRigidTransformation2D::t_cos
double t_cos
Definition: RigidTransformation2D.h:121
DGtal::functors::ForwardRigidTransformation2D::functor
TFunctor functor
Definition: RigidTransformation2D.h:123
DGtal::functors::ForwardRigidTransformation2D::translation
RealVector translation
Definition: RigidTransformation2D.h:122
DGtal::PointVector
Aim: Implements basic operations that will be used in Point and Vector classes.
Definition: PointVector.h:165
DGtal::functors::ForwardRigidTransformation2D::t_sin
double t_sin
Definition: RigidTransformation2D.h:120
DGtal::functors::ForwardRigidTransformation2D::origin
RealPoint origin
Definition: RigidTransformation2D.h:119