Added Domain::VoxelConnection(x,y,z)
This commit is contained in:
parent
414d18f527
commit
6a91d286aa
@ -86,7 +86,12 @@ struct Domain{
|
|||||||
void getBlobConnections();
|
void getBlobConnections();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int getRankForBlock( int i, int j, int k )
|
int d[26][3] = {{1,0,0},{-1,0,0},{0,1,0},{0,-1,0},{0,0,1},{0,0,-1},
|
||||||
|
{1,1,0},{1,-1,0},{-1,1,0},{-1,-1,0},{1,0,1},{-1,0,1},
|
||||||
|
{1,0,-1},{-1,0,-1},{0,1,1},{0,-1,1},{0,1,-1},{0,-1,-1},
|
||||||
|
{1,1,1},{1,1,-1},{1,-1,1},{1,-1,-1},{-1,1,1},{-1,1,-1},
|
||||||
|
|
||||||
|
int getRankForBlock( int i, int j, int k )
|
||||||
{
|
{
|
||||||
int i2 = (i+nprocx)%nprocx;
|
int i2 = (i+nprocx)%nprocx;
|
||||||
int j2 = (j+nprocy)%nprocy;
|
int j2 = (j+nprocy)%nprocy;
|
||||||
@ -111,6 +116,25 @@ private:
|
|||||||
data[n] = recvbuf[idx];
|
data[n] = recvbuf[idx];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
int VoxelConnection(int x, int y, int z){
|
||||||
|
int returnVal = -1;
|
||||||
|
int nodx,nody,nodz;
|
||||||
|
for (int p=0;p<26;p++){
|
||||||
|
nodx=x+d[p][0];
|
||||||
|
// Get the neighbor and guarantee it is in the domain
|
||||||
|
if (nodx < 0 ){ nodx = 0; }
|
||||||
|
if (nodx > Nx-1 ){ nodx = Nx-1; }
|
||||||
|
nody=y+d[p][1];
|
||||||
|
if (nody < 0 ){ nody = 0; }
|
||||||
|
if (nody > Ny-1 ){ nody = Ny-1; }
|
||||||
|
nodz=z+d[p][2];
|
||||||
|
if (nodz < 0 ){ nodz = 0; }
|
||||||
|
if (nodz > Nz-1 ){ nodz = Nz-1; }
|
||||||
|
|
||||||
|
if (Blobs(nodx,nody,nodz) > returnVal ) returnVal = Blobs(nodx,nody,nodz);
|
||||||
|
}
|
||||||
|
return returnVal;
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user