DGtal  1.5.beta
DGtal::CBDRFastSolver< TSpace, TDomain > Class Template Reference

#include <DGtal/images/bijectiveRotations/CBDRFastSolver.h>

Public Member Functions

 CBDRFastSolver (const std::vector< BijectiveReflections > &vecOptimisedReflections, const double rotAngle, const typename TDomain::Point center, const int km)
 
BijectiveReflections solve ()
 

Protected Attributes

std::vector< BijectiveReflectionsmy_vecOptimisedReflections
 
double my_angle
 
TDomain::Point my_center
 
int kmax
 

Private Types

typedef CBDR_naiverotation< TSpace > BijectiveReflections
 
typedef Reflection< TSpace > DigitizedReflection
 

Detailed Description

template<typename TSpace, typename TDomain>
class DGtal::CBDRFastSolver< TSpace, TDomain >

Definition at line 43 of file CBDRFastSolver.h.

Member Typedef Documentation

◆ BijectiveReflections

template<typename TSpace , typename TDomain >
typedef CBDR_naiverotation<TSpace> DGtal::CBDRFastSolver< TSpace, TDomain >::BijectiveReflections
private

Definition at line 44 of file CBDRFastSolver.h.

◆ DigitizedReflection

template<typename TSpace , typename TDomain >
typedef Reflection<TSpace> DGtal::CBDRFastSolver< TSpace, TDomain >::DigitizedReflection
private

Definition at line 45 of file CBDRFastSolver.h.

Constructor & Destructor Documentation

◆ CBDRFastSolver()

template<typename TSpace , typename TDomain >
DGtal::CBDRFastSolver< TSpace, TDomain >::CBDRFastSolver ( const std::vector< BijectiveReflections > &  vecOptimisedReflections,
const double  rotAngle,
const typename TDomain::Point  center,
const int  km 
)
inline

Definition at line 47 of file CBDRFastSolver.h.

49  :my_vecOptimisedReflections(vecOptimisedReflections),my_angle(rotAngle),my_center(center),kmax(km){}
TDomain::Point my_center
std::vector< BijectiveReflections > my_vecOptimisedReflections

Member Function Documentation

◆ solve()

template<typename TSpace , typename TDomain >
BijectiveReflections DGtal::CBDRFastSolver< TSpace, TDomain >::solve ( )
inline

Definition at line 51 of file CBDRFastSolver.h.

51  {
52  double angleInDegrees = my_angle * 180.0 / M_PI;
53  angleInDegrees = fmod(angleInDegrees, 360.0);
54  if (angleInDegrees < 0) {
55  angleInDegrees += 360.0;
56  }
57  return my_vecOptimisedReflections[static_cast<int>(std::round(angleInDegrees))];
58  }

References DGtal::CBDRFastSolver< TSpace, TDomain >::my_angle, and DGtal::CBDRFastSolver< TSpace, TDomain >::my_vecOptimisedReflections.

Referenced by DGtal::CBDR< TSpace, TInputValue, TOutputValue >::initCBDRVec(), and DGtal::CBDR< TSpace, TInputValue, TOutputValue >::set_angle().

Field Documentation

◆ kmax

template<typename TSpace , typename TDomain >
int DGtal::CBDRFastSolver< TSpace, TDomain >::kmax
protected

Definition at line 63 of file CBDRFastSolver.h.

◆ my_angle

template<typename TSpace , typename TDomain >
double DGtal::CBDRFastSolver< TSpace, TDomain >::my_angle
protected

Definition at line 61 of file CBDRFastSolver.h.

Referenced by DGtal::CBDRFastSolver< TSpace, TDomain >::solve().

◆ my_center

template<typename TSpace , typename TDomain >
TDomain::Point DGtal::CBDRFastSolver< TSpace, TDomain >::my_center
protected

Definition at line 62 of file CBDRFastSolver.h.

◆ my_vecOptimisedReflections

template<typename TSpace , typename TDomain >
std::vector<BijectiveReflections> DGtal::CBDRFastSolver< TSpace, TDomain >::my_vecOptimisedReflections
protected

Definition at line 60 of file CBDRFastSolver.h.

Referenced by DGtal::CBDRFastSolver< TSpace, TDomain >::solve().


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