29 #if defined(RBC_RECURSES)
30 #error Recursive header files inclusion detected in RBC.h
54 template<
typename TSpace,
typename TInputValue =
typename TSpace::RealPo
int,
typename TOutputValue =
typename TSpace::Po
int>
69 template<
typename TImage>
74 typedef std::pair < typename TSpace::Point, typename TSpace::Point > Bounds;
79 MyDomainTransformer domainTransformer (
rot );
80 Bounds bounds = domainTransformer ( img.domain() );
81 TDomain transformedDomain ( bounds.first+bottomLeft, bounds.second+topRight );
82 TImage rotatedImage ( transformedDomain );
90 rotatedImage.setValue((*this).rot.operator()(*it),img(*it));
95 TOutputValue
operator()(
const TInputValue & aInput )
const
97 return (*this).rot.operator()(aInput);
106 rot.setAngle()= newAngle;
Aim: implements bounds of transformed domain.
MyDigitalSurface::ConstIterator ConstIterator
DGtal is the top-level namespace which contains all DGtal functions and types.
RBC : Bijective Rotation through Circles.
std::vector< TOutputValue > Circle
RBC : Bijective Rotation through Circles.
TOutputValue operator()(const TInputValue &aInput) const
std::string tostring() const
void set_angle(const double newAngle)
TOutputValue center() const
RBC_vec< TSpace, TInputValue, TOutputValue >::Circle Circle
RBC_vec< TSpace, TInputValue, TOutputValue > rot
RBC(const RBC_vec< TSpace, TInputValue, TOutputValue > &aRot, const double angle, const TOutputValue center)
TImage rotateImage(const TImage &img) const
Rotates the whole image Image circle by circle.
HyperRectDomain< Space > Domain