public double value(int x, int y, int z) {
   return operation.isTrue(left.value(x, y, z), right.value(x, y, z)) ? 1 : 0;
 }
 public double value(float x, float y, float z, InterpolationFunction3D interp) {
   return operation.isTrue(left.value(x, y, z, interp), right.value(x, y, z, interp)) ? 1 : 0;
 }
 public boolean isTrue(int index) {
   return operation.isTrue(left.value(index), right.value(index));
 }
 public boolean isTrue(int x, int y, int z) {
   return operation.isTrue(left.value(x, y, z), right.value(x, y, z));
 }
 public double value(int index) {
   return operation.isTrue(left.value(index), right.value(index)) ? 1 : 0;
 }