23 #ifndef _SEFRAMEWORK_IMAGE_PADDEDIMAGE_H 24 #define _SEFRAMEWORK_IMAGE_PADDEDIMAGE_H 32 if (v >
N - 1)
return N - 1;
37 if (v >= 0 && v <
N) {
47 if (ntimes % 2 == 0) {
50 return N - offset - 1;
54 if (v >= 0 && v <
N) {
63 if (ntimes % 2 == 0) {
70 return (v %
N +
N) %
N;
73 template<
typename T,
int CoordinateInterpolation(
int,
int) =
nullptr>
78 auto wdiff =
m_width - img->getWidth();
79 auto hdiff =
m_height - img->getHeight();
86 template<
typename... Args>
92 return "PaddedImage(" +
m_img->getRepr() +
")";
96 int tx = CoordinateInterpolation(
m_img->getWidth(),
x -
m_lpad);
97 int ty = CoordinateInterpolation(
m_img->getHeight(),
y -
m_tpad);
98 return m_img->getValue(tx, ty);
121 auto wdiff =
m_width - img->getWidth();
122 auto hdiff =
m_height - img->getHeight();
132 template<
typename... Args>
138 return "PaddedImage(" +
m_img->getRepr() +
")";
165 #endif // _SEFRAMEWORK_IMAGE_PADDEDIMAGE_H
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > x
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > y