카테고리 없음
C++/ 함수 내에 매크로 함수 정의 및 사용하기
cleitia
2020. 3. 3. 05:23
void func1()
{
#define update_leftmost(i) \
{ \
const vec2_t &p = polygon[i]; \
const vec2_t &lm = polygon[iLeftMost]; \
if (p.x < lm.x || (p.x == lm.x && p.y < lm.y)) iLeftMost = i; \
}
#define init_vertex(i, iPrev, iNext) \
vertices[i].index = i; \
vertices[i].prev = &vertices[iPrev]; \
vertices[i].next = &vertices[iNext]; \
vertices[i].prev->index = iPrev; \
vertices[i].next->index = iNext; \
vertices[i].winding_value = winding_value(polygon, vertices[i]); \
vertices[i].reflex = false;
// initialize vertices
init_vertex(0 , N - 1, 1);
init_vertex(N - 1, N - 2, 0);
update_leftmost(N - 1);
for (int i = 1; i < N - 1; i++)
{
init_vertex(i, i - 1, i + 1);
update_leftmost(i);
}
}