From 1f05a84f6ddddb7db79e1f86cdf2fdc0b35a8a74 Mon Sep 17 00:00:00 2001 From: BW Keller Date: Sat, 14 Nov 2015 20:43:46 -0500 Subject: [PATCH] Fixed periodicity for region_multibox query_point --- plugins/region_multibox.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/plugins/region_multibox.cc b/plugins/region_multibox.cc index db4ae34..22dbe99 100644 --- a/plugins/region_multibox.cc +++ b/plugins/region_multibox.cc @@ -145,8 +145,8 @@ public: void get_AABB( double *left, double *right, unsigned level ) { - left[0] = left[1] = left[2] = 0.5; - right[0] = right[1] = right[2] = -0.5; + left[0] = left[1] = left[2] = 0.0; + right[0] = right[1] = right[2] = 0.0; if( level <= levelmin_ ) { left[0] = left[1] = left[2] = 0.0; @@ -182,10 +182,11 @@ public: bool query_point( double *x, int level ) { - if(fabs(x[0]) > 0.5 || fabs(x[1]) > 0.5 || fabs(x[2]) > 0.5) + //Roll for periodicity + for(int i=0; i<3; ++i) { - printf("Outside point: %3.2e %3.2e %3.2e\n", x[0], x[1], x[2]); - return 0; + if( x[i] < -0.5) x[i] += 1.0; + if( x[i] > 0.5) x[i] -= 1.0; } return (level == int(refgrid[(x[0]+0.5)*res][(x[1]+0.5)*res][(x[2]+0.5)*res])); }