Go to the source code of this file.
|
#define | tools_zb_line |
|
#define | LARGE_COORDINATE 1000000 |
|
#define | SMALL_COORDINATE -LARGE_COORDINATE |
|
#define | BRESINITPGON(dy, x1, x2, xStart, d, m, m1, incr1, incr2) |
|
#define | BRESINCRPGON(d, minval, m, m1, incr1, incr2) |
|
#define | BRESINITPGONSTRUCT(dmaj, min1, min2, bres) |
|
#define | BRESINCRPGONSTRUCT(bres) BRESINCRPGON(bres.d, bres.minor_axis, bres.m, bres.m1, bres.incr1, bres.incr2) |
|
#define | SLLSPERBLOCK 25 |
|
#define | EVALUATEEDGEWINDING(pAET, pPrevAET, y, fixWAET) |
|
#define | EVALUATEEDGEEVENODD(pAET, pPrevAET, y) |
|
◆ BRESINCRPGON
#define BRESINCRPGON |
( |
|
d, |
|
|
|
minval, |
|
|
|
m, |
|
|
|
m1, |
|
|
|
incr1, |
|
|
|
incr2 |
|
) |
| |
Value: { \
if (m1 > 0) { \
if (d > 0) { \
minval += m1; \
d += incr1; \
} \
else { \
minval += m; \
d += incr2; \
} \
} else {\
if (d >= 0) { \
minval += m1; \
d += incr1; \
} \
else { \
minval += m; \
d += incr2; \
} \
} \
}
Definition at line 70 of file line.
◆ BRESINCRPGONSTRUCT
#define BRESINCRPGONSTRUCT |
( |
|
bres | ) |
BRESINCRPGON(bres.d, bres.minor_axis, bres.m, bres.m1, bres.incr1, bres.incr2) |
Definition at line 112 of file line.
◆ BRESINITPGON
#define BRESINITPGON |
( |
|
dy, |
|
|
|
x1, |
|
|
|
x2, |
|
|
|
xStart, |
|
|
|
d, |
|
|
|
m, |
|
|
|
m1, |
|
|
|
incr1, |
|
|
|
incr2 |
|
) |
| |
Value: { \
int dx; \
\
\
if ((dy) != 0) { \
xStart = (x1); \
dx = (x2) - xStart; \
if (dx < 0) { \
m = dx / (dy); \
m1 = m - 1; \
incr1 = -2 * dx + 2 * (dy) * m1; \
incr2 = -2 * dx + 2 * (dy) * m; \
d = 2 * m * (dy) - 2 * dx - 2 * (dy); \
} else { \
m = dx / (dy); \
m1 = m + 1; \
incr1 = 2 * dx - 2 * (dy) * m1; \
incr2 = 2 * dx - 2 * (dy) * m; \
d = -2 * m * (dy) + 2 * dx; \
} \
} \
}
Definition at line 47 of file line.
◆ BRESINITPGONSTRUCT
#define BRESINITPGONSTRUCT |
( |
|
dmaj, |
|
|
|
min1, |
|
|
|
min2, |
|
|
|
bres |
|
) |
| |
Value:
bres.m, bres.m1, bres.incr1, bres.incr2)
Definition at line 108 of file line.
◆ EVALUATEEDGEEVENODD
#define EVALUATEEDGEEVENODD |
( |
|
pAET, |
|
|
|
pPrevAET, |
|
|
|
y |
|
) |
| |
Value: { \
if (pAET->ymax == y) { \
pPrevAET->next = pAET->next; \
pAET = pPrevAET->next; \
if (pAET) \
pAET->back = pPrevAET; \
} \
else { \
BRESINCRPGONSTRUCT(pAET->bres) \
pPrevAET = pAET; \
pAET = pAET->next; \
} \
}
Definition at line 243 of file line.
◆ EVALUATEEDGEWINDING
#define EVALUATEEDGEWINDING |
( |
|
pAET, |
|
|
|
pPrevAET, |
|
|
|
y, |
|
|
|
fixWAET |
|
) |
| |
Value: { \
if (pAET->ymax == y) { \
pPrevAET->next = pAET->next; \
pAET = pPrevAET->next; \
fixWAET = 1; \
if (pAET) \
pAET->back = pPrevAET; \
} \
else { \
BRESINCRPGONSTRUCT(pAET->bres) \
pPrevAET = pAET; \
pAET = pAET->next; \
} \
}
Definition at line 220 of file line.
◆ LARGE_COORDINATE
#define LARGE_COORDINATE 1000000 |
Definition at line 44 of file line.
◆ SLLSPERBLOCK
Definition at line 198 of file line.
◆ SMALL_COORDINATE
Definition at line 45 of file line.
◆ tools_zb_line
Definition at line 5 of file line.
◆ EdgeTableEntry
◆ ScanLineList
◆ ScanLineListBlock
#define BRESINITPGON(dy, x1, x2, xStart, d, m, m1, incr1, incr2)