blur method
void
blur(
[ - double intensity = 1
])
Implementation
void blur([double intensity = 1]){
final field = this.field;
final fieldCopy = field.sublist(0);
final size = this.size;
final size2 = this.size2;
for(int x = 0; x < size; x ++){
for(int y = 0; y < size; y ++){
for(int z = 0; z < size; z ++){
final index = (size2 * z + size * y + x).toInt();
double val = fieldCopy[index];
int count = 1;
for(int x2 = - 1; x2 <= 1; x2 += 2 ) {
final x3 = x2 + x;
if ( x3 < 0 || x3 >= size ) continue;
for(int y2 = - 1; y2 <= 1; y2 += 2 ) {
final y3 = y2 + y;
if( y3 < 0 || y3 >= size ) continue;
for(int z2 = - 1; z2 <= 1; z2 += 2){
final z3 = z2 + z;
if( z3 < 0 || z3 >= size ) continue;
final index2 = (size2 * z3 + size * y3 + x3).toInt();
final val2 = fieldCopy[ index2 ];
count ++;
val += intensity * ( val2 - val ) / count;
}
}
}
field[index] = val;
}
}
}
}