void CFill::CreateBucket()//创建桶表
{
int yMin, yMax;
yMin = yMax = P[0].y;
for (int i = 0; i < PNum; i++)//查找多边形所覆盖的最小和最大扫描线
{
if (P[i].y < yMin)
{
yMin = P[i].y;//扫描线的最小值
}
if (P[i].y > yMax)
{
yMax = P[i].y;//扫描线的最大值
}
}
for (int y = yMin; y <= yMax; y++)
{
if (yMin == y)//建立桶头结点
{
pHeadB = new CBucket;//pHeadB为CBucket的头结点
pCurrentB = pHeadB;//CurrentB为CBucket当前结点
pCurrentB->ScanLine = yMin;
pCurrentB->pET = NULL;//没有链接边表
pCurrentB->next = NULL;
}
else//建立桶的其它结点
{
pCurrentB->next = new CBucket;
pCurrentB = pCurrentB->next;
pCurrentB->ScanLine = y;
pCurrentB->pET = NULL;
pCurrentB->next = NULL;
}
}
}
报错的是:
pCurrentB->ScanLine = yMin;
和
pCurrentB->ScanLine = y;