diff --git a/src/main/c/fluidsim.c b/src/main/c/fluidsim.c index bfa5a32..9ace5f7 100644 --- a/src/main/c/fluidsim.c +++ b/src/main/c/fluidsim.c @@ -230,6 +230,23 @@ JNIEXPORT void JNICALL Java_electrosphere_FluidSim_simulate( tmpObj = currentChunk->jw; currentChunk->jw = currentChunk->jw0; currentChunk->jw0 = w; + + float * tmpArr; + for(int j = 0; j < 27; j++){ + tmpArr = currentChunk->u[j]; + currentChunk->u[j] = currentChunk->u0[j]; + currentChunk->u0[j] = tmpArr; + } + for(int j = 0; j < 27; j++){ + tmpArr = currentChunk->v[j]; + currentChunk->v[j] = currentChunk->v0[j]; + currentChunk->v0[j] = tmpArr; + } + for(int j = 0; j < 27; j++){ + tmpArr = currentChunk->w[j]; + currentChunk->w[j] = currentChunk->w0[j]; + currentChunk->w0[j] = tmpArr; + } } //copy neighbors for(int i = 0; i < numChunks; i++){ @@ -468,6 +485,23 @@ JNIEXPORT void JNICALL Java_electrosphere_FluidSim_simulate( tmpObj = currentChunk->jw; currentChunk->jw = currentChunk->jw0; currentChunk->jw0 = w; + + float * tmpArr; + for(int j = 0; j < 27; j++){ + tmpArr = currentChunk->u[j]; + currentChunk->u[j] = currentChunk->u0[j]; + currentChunk->u0[j] = tmpArr; + } + for(int j = 0; j < 27; j++){ + tmpArr = currentChunk->v[j]; + currentChunk->v[j] = currentChunk->v0[j]; + currentChunk->v0[j] = tmpArr; + } + for(int j = 0; j < 27; j++){ + tmpArr = currentChunk->w[j]; + currentChunk->w[j] = currentChunk->w0[j]; + currentChunk->w0[j] = tmpArr; + } } //copy neighbors for(int i = 0; i < numChunks; i++){