Cleanup: Use enum class for MemoryBufferExtend.

This commit is contained in:
Jeroen Bakker 2021-03-19 17:00:53 +01:00
parent 9f86933f2e
commit b9d2e2ec97
2 changed files with 36 additions and 36 deletions

View File

@ -39,11 +39,11 @@ enum class MemoryBufferState {
Temporary = 6,
};
typedef enum MemoryBufferExtend {
COM_MB_CLIP,
COM_MB_EXTEND,
COM_MB_REPEAT,
} MemoryBufferExtend;
enum class MemoryBufferExtend {
Clip,
Extend,
Repeat,
};
class MemoryProxy;
@ -126,9 +126,9 @@ class MemoryBuffer {
y = y - m_rect.ymin;
switch (extend_x) {
case COM_MB_CLIP:
case MemoryBufferExtend::Clip:
break;
case COM_MB_EXTEND:
case MemoryBufferExtend::Extend:
if (x < 0) {
x = 0;
}
@ -136,15 +136,15 @@ class MemoryBuffer {
x = w;
}
break;
case COM_MB_REPEAT:
case MemoryBufferExtend::Repeat:
x = (x >= 0.0f ? (x % w) : (x % w) + w);
break;
}
switch (extend_y) {
case COM_MB_CLIP:
case MemoryBufferExtend::Clip:
break;
case COM_MB_EXTEND:
case MemoryBufferExtend::Extend:
if (y < 0) {
y = 0;
}
@ -152,7 +152,7 @@ class MemoryBuffer {
y = h;
}
break;
case COM_MB_REPEAT:
case MemoryBufferExtend::Repeat:
y = (y >= 0.0f ? (y % h) : (y % h) + h);
break;
}
@ -169,9 +169,9 @@ class MemoryBuffer {
y = y - m_rect.ymin;
switch (extend_x) {
case COM_MB_CLIP:
case MemoryBufferExtend::Clip:
break;
case COM_MB_EXTEND:
case MemoryBufferExtend::Extend:
if (x < 0) {
x = 0.0f;
}
@ -179,15 +179,15 @@ class MemoryBuffer {
x = w;
}
break;
case COM_MB_REPEAT:
case MemoryBufferExtend::Repeat:
x = fmodf(x, w);
break;
}
switch (extend_y) {
case COM_MB_CLIP:
case MemoryBufferExtend::Clip:
break;
case COM_MB_EXTEND:
case MemoryBufferExtend::Extend:
if (y < 0) {
y = 0.0f;
}
@ -195,7 +195,7 @@ class MemoryBuffer {
y = h;
}
break;
case COM_MB_REPEAT:
case MemoryBufferExtend::Repeat:
y = fmodf(y, h);
break;
}
@ -204,11 +204,11 @@ class MemoryBuffer {
inline void read(float *result,
int x,
int y,
MemoryBufferExtend extend_x = COM_MB_CLIP,
MemoryBufferExtend extend_y = COM_MB_CLIP)
MemoryBufferExtend extend_x = MemoryBufferExtend::Clip,
MemoryBufferExtend extend_y = MemoryBufferExtend::Clip)
{
bool clip_x = (extend_x == COM_MB_CLIP && (x < m_rect.xmin || x >= m_rect.xmax));
bool clip_y = (extend_y == COM_MB_CLIP && (y < m_rect.ymin || y >= m_rect.ymax));
bool clip_x = (extend_x == MemoryBufferExtend::Clip && (x < m_rect.xmin || x >= m_rect.xmax));
bool clip_y = (extend_y == MemoryBufferExtend::Clip && (y < m_rect.ymin || y >= m_rect.ymax));
if (clip_x || clip_y) {
/* clip result outside rect is zero */
memset(result, 0, this->m_num_channels * sizeof(float));
@ -226,8 +226,8 @@ class MemoryBuffer {
inline void readNoCheck(float *result,
int x,
int y,
MemoryBufferExtend extend_x = COM_MB_CLIP,
MemoryBufferExtend extend_y = COM_MB_CLIP)
MemoryBufferExtend extend_x = MemoryBufferExtend::Clip,
MemoryBufferExtend extend_y = MemoryBufferExtend::Clip)
{
int u = x;
int v = y;
@ -237,8 +237,8 @@ class MemoryBuffer {
BLI_assert(offset >= 0);
BLI_assert(offset < this->buffer_len() * this->m_num_channels);
BLI_assert(!(extend_x == COM_MB_CLIP && (u < m_rect.xmin || u >= m_rect.xmax)) &&
!(extend_y == COM_MB_CLIP && (v < m_rect.ymin || v >= m_rect.ymax)));
BLI_assert(!(extend_x == MemoryBufferExtend::Clip && (u < m_rect.xmin || u >= m_rect.xmax)) &&
!(extend_y == MemoryBufferExtend::Clip && (v < m_rect.ymin || v >= m_rect.ymax)));
float *buffer = &this->m_buffer[offset];
memcpy(result, buffer, sizeof(float) * this->m_num_channels);
}
@ -248,14 +248,14 @@ class MemoryBuffer {
inline void readBilinear(float *result,
float x,
float y,
MemoryBufferExtend extend_x = COM_MB_CLIP,
MemoryBufferExtend extend_y = COM_MB_CLIP)
MemoryBufferExtend extend_x = MemoryBufferExtend::Clip,
MemoryBufferExtend extend_y = MemoryBufferExtend::Clip)
{
float u = x;
float v = y;
this->wrap_pixel(u, v, extend_x, extend_y);
if ((extend_x != COM_MB_REPEAT && (u < 0.0f || u >= getWidth())) ||
(extend_y != COM_MB_REPEAT && (v < 0.0f || v >= getHeight()))) {
if ((extend_x != MemoryBufferExtend::Repeat && (u < 0.0f || u >= getWidth())) ||
(extend_y != MemoryBufferExtend::Repeat && (v < 0.0f || v >= getHeight()))) {
copy_vn_fl(result, this->m_num_channels, 0.0f);
return;
}
@ -266,8 +266,8 @@ class MemoryBuffer {
this->m_num_channels,
u,
v,
extend_x == COM_MB_REPEAT,
extend_y == COM_MB_REPEAT);
extend_x == MemoryBufferExtend::Repeat,
extend_y == MemoryBufferExtend::Repeat);
}
void readEWA(float *result, const float uv[2], const float derivatives[2][2]);

View File

@ -52,7 +52,7 @@ void WrapOperation::executePixelSampled(float output[4], float x, float y, Pixel
float nx, ny;
nx = x;
ny = y;
MemoryBufferExtend extend_x = COM_MB_CLIP, extend_y = COM_MB_CLIP;
MemoryBufferExtend extend_x = MemoryBufferExtend::Clip, extend_y = MemoryBufferExtend::Clip;
switch (m_wrappingType) {
case CMP_NODE_WRAP_NONE:
// Intentionally empty, originalXPos and originalYPos have been set before
@ -60,19 +60,19 @@ void WrapOperation::executePixelSampled(float output[4], float x, float y, Pixel
case CMP_NODE_WRAP_X:
// wrap only on the x-axis
nx = this->getWrappedOriginalXPos(x);
extend_x = COM_MB_REPEAT;
extend_x = MemoryBufferExtend::Repeat;
break;
case CMP_NODE_WRAP_Y:
// wrap only on the y-axis
ny = this->getWrappedOriginalYPos(y);
extend_y = COM_MB_REPEAT;
extend_y = MemoryBufferExtend::Repeat;
break;
case CMP_NODE_WRAP_XY:
// wrap on both
nx = this->getWrappedOriginalXPos(x);
ny = this->getWrappedOriginalYPos(y);
extend_x = COM_MB_REPEAT;
extend_y = COM_MB_REPEAT;
extend_x = MemoryBufferExtend::Repeat;
extend_y = MemoryBufferExtend::Repeat;
break;
}