1
0
Fork 0
mirror of https://github.com/cosmo-sims/MUSIC.git synced 2024-09-19 17:03:46 +02:00

fixed refinement masks, added a forward consistency swipe

This commit is contained in:
Oliver Hahn 2013-11-06 02:01:34 +01:00
parent 049e5612b0
commit d4dc2efcf4

24
mesh.hh
View file

@ -682,7 +682,8 @@ public:
bhave_refmask = true;
for( int ilevel = (int)levelmax()-1; ilevel >= (int)levelmin(); --ilevel )
// do a forward consistency sweep
for( int ilevel = (int)levelmin()-1; ilevel < (int)levelmax()-1; ++ilevel )
{
for( size_t i=0; i<size(ilevel,0); i++ )
{
@ -690,23 +691,12 @@ public:
{
for( size_t k=0; k<size(ilevel,2); ++k )
{
int off[] = { offset(ilevel+1,0), offset(ilevel+1,1), offset(ilevel+1,2) };
bool fine_is_flagged = false;
/*fine_is_flagged |= (*m_ref_masks[ilevel+1])(off[0]+2*i+0,off[1]+2*j+0,off[2]+2*k+0);
fine_is_flagged |= (*m_ref_masks[ilevel+1])(off[0]+2*i+0,off[1]+2*j+0,off[2]+2*k+1);
fine_is_flagged |= (*m_ref_masks[ilevel+1])(off[0]+2*i+0,off[1]+2*j+1,off[2]+2*k+0);
fine_is_flagged |= (*m_ref_masks[ilevel+1])(off[0]+2*i+0,off[1]+2*j+1,off[2]+2*k+1);
fine_is_flagged |= (*m_ref_masks[ilevel+1])(off[0]+2*i+1,off[1]+2*j+0,off[2]+2*k+0);
fine_is_flagged |= (*m_ref_masks[ilevel+1])(off[0]+2*i+1,off[1]+2*j+0,off[2]+2*k+1);
fine_is_flagged |= (*m_ref_masks[ilevel+1])(off[0]+2*i+1,off[1]+2*j+1,off[2]+2*k+0);
fine_is_flagged |= (*m_ref_masks[ilevel+1])(off[0]+2*i+1,off[1]+2*j+1,off[2]+2*k+1);*/
int ifine[] = {
2*(int)i-2*off[0],
2*(int)j-2*off[1],
2*(int)k-2*off[2],
2*(int)i-2*(int)offset(ilevel+1,0),
2*(int)j-2*(int)offset(ilevel+1,1),
2*(int)k-2*(int)offset(ilevel+1,2),
};
if( ifine[0]>=0 && ifine[0] < size(ilevel+1,0) &&
@ -830,8 +820,8 @@ public:
if( bhave_refmask )
return !(*m_ref_masks[ilevel-1])(offset(ilevel,0)+i/2,offset(ilevel,1)+j/2,offset(ilevel,2)+k/2);
if( ilevel == levelmax()-1 && bhave_refmask )
return (*m_ref_masks[ilevel])(i,j,k);
//if( ilevel == levelmax()-1 && bhave_refmask )
// return (*m_ref_masks[ilevel])(i,j,k);
if( i < offset(ilevel+1,0) || i >= offset(ilevel+1, 0)+(int)size(ilevel+1,0)/2 ||
j < offset(ilevel+1,1) || j >= offset(ilevel+1, 1)+(int)size(ilevel+1,1)/2 ||