📄 testdlg.cpp
字号:
}
if(pGrid[i+1][j].used == true && pGrid[i+1][j].groupID != 0) //5
{
if(nMaxDens < pGrid[i+1][j].density)
{
nMaxDens = pGrid[i+1][j].density;
nGroupID = pGrid[i+1][j].groupID;
}
}
if(pGrid[i-1][j+1].used == true && pGrid[i-1][j+1].groupID != 0) //6
{
if(nMaxDens < pGrid[i-1][j+1].density)
{
nMaxDens = pGrid[i-1][j+1].density;
nGroupID = pGrid[i-1][j+1].groupID;
}
}
if(pGrid[i][j+1].used == true && pGrid[i][j+1].groupID != 0) //7
{
if(nMaxDens < pGrid[i][j+1].density)
{
nMaxDens = pGrid[i][j+1].density;
nGroupID = pGrid[i][j+1].groupID;
}
}
if(pGrid[i+1][j+1].used == true && pGrid[i+1][j+1].groupID != 0) //8
{
if(nMaxDens < pGrid[i+1][j+1].density)
{
nMaxDens = pGrid[i+1][j+1].density;
nGroupID = pGrid[i+1][j+1].groupID;
}
}
//分配groupID给未分配的cell
pGrid[i][j].groupID = nGroupID;
// if(pGrid[i-1][j-1].groupID == 0) //1
pGrid[i-1][j-1].groupID = pGrid[i][j].groupID;
// if(pGrid[i][j-1].groupID == 0) //2
pGrid[i][j-1].groupID = pGrid[i][j].groupID;
// if(pGrid[i+1][j-1].groupID == 0) //3
pGrid[i+1][j-1].groupID = pGrid[i][j].groupID;
// if(pGrid[i-1][j].groupID == 0) //4
pGrid[i-1][j].groupID = pGrid[i][j].groupID;
// if(pGrid[i+1][j].groupID == 0) //5
pGrid[i+1][j].groupID = pGrid[i][j].groupID;
// if(pGrid[i-1][j+1].groupID == 0) //6
pGrid[i-1][j+1].groupID = pGrid[i][j].groupID;
// if(pGrid[i][j+1].groupID == 0) //7
pGrid[i][j+1].groupID = pGrid[i][j].groupID;
// if(pGrid[i+1][j+1].groupID == 0) //8
pGrid[i+1][j+1].groupID = pGrid[i][j].groupID;
}
break;
case 1: //check 5 neighbors
while (true) {
if(pGrid[i-1][j-1].used == true) //1
{
if(pGrid[i-1][j-1].groupID ==0) nUsedTab = true;
else {
nUsedTab = false;
break;
}
}
if(pGrid[i][j-1].used == true) //2
{
if(pGrid[i][j-1].groupID == 0) nUsedTab = true;
else{
nUsedTab = false;
break;
}
}
if(pGrid[i+1][j-1].used == true) //3
{
if(pGrid[i+1][j-1].groupID == 0) nUsedTab = true;
else{
nUsedTab = false;
break;
}
}
if(pGrid[i-1][j].used == true) //4
{
if(pGrid[i-1][j].groupID == 0) nUsedTab = true;
else{
nUsedTab = false;
break;
}
}
if(pGrid[i+1][j].used == true) //5
{
if(pGrid[i+1][j].groupID == 0) nUsedTab = true;
else{
nUsedTab = false;
break;
}
}
break;
} //end while
if(pGrid[i][j].groupID == 0 && nUsedTab == true)
{
pGrid[i][j].groupID = ++nGroupNum;
pGrid[i-1][j-1].groupID = pGrid[i][j].groupID;
pGrid[i][j-1].groupID = pGrid[i][j].groupID;
pGrid[i+1][j-1].groupID = pGrid[i][j].groupID;
pGrid[i-1][j].groupID = pGrid[i][j].groupID;
pGrid[i+1][j].groupID = pGrid[i][j].groupID;
}else{
if(pGrid[i-1][j-1].used == true && pGrid[i-1][j-1].groupID != 0) //1
{
nMaxDens = pGrid[i-1][j-1].density;
nGroupID = pGrid[i-1][j-1].groupID;
}
if(pGrid[i][j-1].used == true && pGrid[i][j-1].groupID != 0) //2
{
if(nMaxDens < pGrid[i][j-1].density)
{
nMaxDens = pGrid[i][j-1].density;
nGroupID = pGrid[i][j-1].groupID;
}
}
if(pGrid[i+1][j-1].used == true && pGrid[i+1][j-1].groupID != 0) //3
{
if(nMaxDens < pGrid[i+1][j-1].density)
{
nMaxDens = pGrid[i+1][j-1].density;
nGroupID = pGrid[i+1][j-1].groupID;
}
}
if(pGrid[i-1][j].used == true && pGrid[i-1][j].groupID != 0) //4
{
if(nMaxDens < pGrid[i-1][j].density)
{
nMaxDens = pGrid[i-1][j].density;
nGroupID = pGrid[i-1][j].groupID;
}
}
if(pGrid[i+1][j].used == true && pGrid[i+1][j].groupID != 0) //5
{
if(nMaxDens < pGrid[i+1][j].density)
{
nMaxDens = pGrid[i+1][j].density;
nGroupID = pGrid[i+1][j].groupID;
}
}
//分配groupID给未分配的cell
pGrid[i][j].groupID = nGroupID;
// if(pGrid[i-1][j-1].groupID == 0)
pGrid[i-1][j-1].groupID = pGrid[i][j].groupID;
// if(pGrid[i][j-1].groupID == 0)
pGrid[i][j-1].groupID = pGrid[i][j].groupID;
// if(pGrid[i+1][j-1].groupID == 0)
pGrid[i+1][j-1].groupID = pGrid[i][j].groupID;
// if(pGrid[i-1][j].groupID == 0)
pGrid[i-1][j].groupID = pGrid[i][j].groupID;
// if(pGrid[i+1][j].groupID == 0)
pGrid[i+1][j].groupID = pGrid[i][j].groupID;
}
break;
case 2: //check 5 neighbors
while(true){
if(pGrid[i-1][j].used == true) //1
{
if(pGrid[i-1][j].groupID == 0) nUsedTab = true;
else{
nUsedTab = false;
break;
}
}
if(pGrid[i+1][j].used == true) //2
{
if(pGrid[i+1][j].groupID == 0) nUsedTab = true;
else{
nUsedTab = false;
break;
}
}
if(pGrid[i-1][j+1].used == true) //3
{
if(pGrid[i-1][j+1].groupID == 0) nUsedTab = true;
else{
nUsedTab = false;
break;
}
}
if(pGrid[i][j+1].used == true) //4
{
if(pGrid[i][j+1].groupID == 0) nUsedTab = true;
else{
nUsedTab = false;
break;
}
}
if(pGrid[i+1][j+1].used == true) //5
{
if(pGrid[i+1][j+1].groupID == 0) nUsedTab = true;
else{
nUsedTab = false;
break;
}
}
break;
}//end while
if(pGrid[i][j].groupID == 0 && nUsedTab == true)
{
pGrid[i][j].groupID = ++nGroupNum;
pGrid[i-1][j].groupID = pGrid[i][j].groupID;
pGrid[i+1][j].groupID = pGrid[i][j].groupID;
pGrid[i-1][j+1].groupID = pGrid[i][j].groupID;
pGrid[i][j+1].groupID = pGrid[i][j].groupID;
pGrid[i+1][j+1].groupID = pGrid[i][j].groupID;
}else{
if(pGrid[i-1][j].used == true && pGrid[i-1][j].groupID != 0) //1
{
nMaxDens = pGrid[i-1][j].density;
nGroupID = pGrid[i-1][j].groupID;
}
if(pGrid[i+1][j].used == true && pGrid[i+1][j].groupID != 0) //2
{
if(nMaxDens < pGrid[i+1][j].density)
{
nMaxDens = pGrid[i+1][j].density;
nGroupID = pGrid[i+1][j].groupID;
}
}
if(pGrid[i-1][j+1].used == true && pGrid[i-1][j+1].groupID != 0) //3
{
if(nMaxDens < pGrid[i-1][j+1].density)
{
nMaxDens = pGrid[i-1][j+1].density;
nGroupID = pGrid[i-1][j+1].groupID;
}
}
if(pGrid[i][j+1].used == true && pGrid[i][j+1].groupID != 0) //4
{
if(nMaxDens < pGrid[i][j+1].density)
{
nMaxDens = pGrid[i][j+1].density;
nGroupID = pGrid[i][j+1].groupID;
}
}
if(pGrid[i+1][j+1].used == true && pGrid[i+1][j+1].groupID != 0) //5
{
if(nMaxDens < pGrid[i+1][j+1].density)
{
nMaxDens = pGrid[i+1][j+1].density;
nGroupID = pGrid[i+1][j+1].groupID;
}
}
//分配groupID给未分配的cell
pGrid[i][j].groupID = nGroupID;
// if(pGrid[i-1][j].groupID == 0)
pGrid[i-1][j].groupID = pGrid[i][j].groupID;
// if(pGrid[i+1][j].groupID == 0)
pGrid[i+1][j].groupID = pGrid[i][j].groupID;
// if(pGrid[i-1][j+1].groupID == 0)
pGrid[i-1][j+1].groupID = pGrid[i][j].groupID;
// if(pGrid[i][j+1].groupID == 0)
pGrid[i][j+1].groupID = pGrid[i][j].groupID;
// if(pGrid[i+1][j+1].groupID == 0)
pGrid[i+1][j+1].groupID = pGrid[i][j].groupID;
}
break;
case 4: //check 5 neighbors
while (true) {
if(pGrid[i-1][j-1].used == true) //1
{
if(pGrid[i-1][j-1].groupID ==0) nUsedTab = true;
else {
nUsedTab = false;
break;
}
}
if(pGrid[i][j-1].used == true) //2
{
if(pGrid[i][j-1].groupID == 0) nUsedTab = true;
else{
nUsedTab = false;
break;
}
}
if(pGrid[i-1][j].used == true) //3
{
if(pGrid[i-1][j].groupID == 0) nUsedTab = true;
else{
nUsedTab = false;
break;
}
}
if(pGrid[i-1][j+1].used == true) //4
{
if(pGrid[i-1][j+1].groupID == 0) nUsedTab = true;
else{
nUsedTab = false;
break;
}
}
if(pGrid[i][j+1].used == true) //5
{
if(pGrid[i][j+1].groupID == 0) nUsedTab = true;
else{
nUsedTab = false;
break;
}
}
break;
}//end while
if(pGrid[i][j].groupID == 0 && nUsedTab == true)
{
pGrid[i][j].groupID = ++nGroupNum;
pGrid[i-1][j-1].groupID = pGrid[i][j].groupID;
pGrid[i][j-1].groupID = pGrid[i][j].groupID;
pGrid[i-1][j].groupID = pGrid[i][j].groupID;
pGrid[i-1][j+1].groupID = pGrid[i][j].groupID;
pGrid[i][j+1].groupID = pGrid[i][j].groupID;
}else{
if(pGrid[i-1][j-1].used == true && pGrid[i-1][j-1].groupID != 0) //1
{
nMaxDens = pGrid[i-1][j-1].density;
nGroupID = pGrid[i-1][j-1].groupID;
}
if(pGrid[i][j-1].used == true && pGrid[i][j-1].groupID != 0) //2
{
if(nMaxDens < pGrid[i][j-1].density)
{
nMaxDens = pGrid[i][j-1].density;
nGroupID = pGrid[i][j-1].groupID;
}
}
if(pGrid[i-1][j].used == true && pGrid[i-1][j].groupID != 0) //3
{
if(nMaxDens < pGrid[i-1][j].density)
{
nMaxDens = pGrid[i-1][j].density;
nGroupID = pGrid[i-1][j].groupID;
}
}
if(pGrid[i-1][j+1].used == true && pGrid[i-1][j+1].groupID != 0) //4
{
if(nMaxDens < pGrid[i-1][j+1].density)
{
nMaxDens = pGrid[i-1][j+1].density;
nGroupID = pGrid[i-1][j+1].groupID;
}
}
if(pGrid[i][j+1].used == true && pGrid[i][j+1].groupID != 0) //5
{
if(nMaxDens < pGrid[i][j+1].density)
{
nMaxDens = pGrid[i][j+1].density;
nGroupID = pGrid[i][j+1].groupID;
}
}
//分配groupID给未分配的cell
pGrid[i][j].groupID = nGroupID;
// if(pGrid[i-1][j-1].groupID == 0)
pGrid[i-1][j-1].groupID = pGrid[i][j].groupID;
// if(pGrid[i][j-1].groupID == 0)
pGrid[i][j-1].groupID = pGrid[i][j].groupID;
// if(pGrid[i-1][j].groupID == 0)
pGrid[i-1][j].groupID = pGrid[i][j].groupID;
// if(pGrid[i-1][j+1].groupID == 0)
pGrid[i-1][j+1].groupID = pGrid[i][j].groupID;
// if(pGrid[i][j+1].groupID == 0)
pGrid[i][j+1].groupID = pGrid[i][j].groupID;
}
break;
case 8: //check 5 neighbors
while (true) {
if(pGrid[i][j-1].used == true) //1
{
if(pGrid[i][j-1].groupID == 0) nUsedTab = true;
else{
nUsedTab = false;
break;
}
}
if(pGrid[i+1][j-1].used == true) //2
{
if(pGrid[i+1][j-1].groupID == 0) nUsedTab = true;
else{
nUsedTab = false;
break;
}
}
if(pGrid[i+1][j].used == true) //3
{
if(pGrid[i+1][j].groupID == 0) nUsedTab = true;
else{
nUsedTab = false;
break;
}
}
if(pGrid[i][j+1].used == true) //4
{
if(pGrid[i][j+1].groupID == 0) nUsedTab = true;
else{
nUsedTab = false;
break;
}
}
if(pGrid[i+1][j+1].used == true) //5
{
if(pGrid[i+1][j+1].groupID == 0) nUsedTab = true;
else{
nUsedTab = false;
break;
}
}
break;
}//end while
if(pGrid[i][j].groupID == 0 && nUsedTab == true)
{
pGrid[i][j].groupID = ++nGroupNum;
pGrid[i][j-1].groupID = pGrid[i][j].groupID;
pGrid[i+1][j-1].groupID = pGrid[i][j].groupID;
pGrid[i+1][j].groupID = pGrid[i][j].groupID;
pGrid[i][j+1].groupID = pGrid[i][j].groupID;
pGrid[i+1][j+1].groupID = pGrid[i][j].groupID;
}else{
if(pGrid[i][j-1].used == true && pGrid[i][j-1].groupID != 0) //1
{
nMaxDens = pGrid[i][j-1].density;
nGroupID = pGrid[i][j-1].groupID;
}
if(pGrid[i+1][j-1].used == true && pGrid[i+1][j-1].groupID != 0) //2
{
if(nMaxDens < pGrid[i+1][j-1].density)
{
nMaxDens = pGrid[i+1][j-1].density;
nGroupID = pGrid[i+1][j-1].groupID;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -