fully parse out list of chunks
All checks were successful
studiorailgun/fluid-sim/pipeline/head This commit looks good
All checks were successful
studiorailgun/fluid-sim/pipeline/head This commit looks good
This commit is contained in:
parent
1389b47ce1
commit
1f39a03e06
@ -715,16 +715,17 @@ JNIEXPORT void JNICALL Java_electrosphere_FluidSim_simulate(
|
||||
currentChunk->jd0 = d;
|
||||
}
|
||||
for(int i = 0; i < numChunks; i++){
|
||||
chunkJRaw = getChunk(i);
|
||||
chunkMask = (*env)->GetIntField(env,chunkJRaw,chunkmaskJId);
|
||||
d = getBuffArr(dJId);
|
||||
d0 = getBuffArr(d0JId);
|
||||
u = getBuffArr(uJId);
|
||||
v = getBuffArr(vJId);
|
||||
w = getBuffArr(wJId);
|
||||
u0 = getBuffArr(u0JId);
|
||||
v0 = getBuffArr(v0JId);
|
||||
w0 = getBuffArr(w0JId);
|
||||
Chunk * currentChunk = chunks[i];
|
||||
chunkJRaw = currentChunk->jchunk;
|
||||
chunkMask = currentChunk->chunkMask;
|
||||
d = currentChunk->jd;
|
||||
d0 = currentChunk->jd0;
|
||||
u = currentChunk->ju;
|
||||
v = currentChunk->jv;
|
||||
w = currentChunk->jw;
|
||||
u0 = currentChunk->ju0;
|
||||
v0 = currentChunk->jv0;
|
||||
w0 = currentChunk->jw0;
|
||||
Java_electrosphere_FluidSim_copyNeighbors(env,chunkJRaw,DIM,chunkMask,0,0,d);
|
||||
Java_electrosphere_FluidSim_copyNeighbors(env,chunkJRaw,DIM,chunkMask,0,0,d0);
|
||||
}
|
||||
@ -733,29 +734,31 @@ JNIEXPORT void JNICALL Java_electrosphere_FluidSim_simulate(
|
||||
{
|
||||
for(int l = 0; l < LINEARSOLVERTIMES; l++){
|
||||
for(int i = 0; i < numChunks; i++){
|
||||
chunkJRaw = getChunk(i);
|
||||
chunkMask = (*env)->GetIntField(env,chunkJRaw,chunkmaskJId);
|
||||
d = getBuffArr(dJId);
|
||||
d0 = getBuffArr(d0JId);
|
||||
u = getBuffArr(uJId);
|
||||
v = getBuffArr(vJId);
|
||||
w = getBuffArr(wJId);
|
||||
u0 = getBuffArr(u0JId);
|
||||
v0 = getBuffArr(v0JId);
|
||||
w0 = getBuffArr(w0JId);
|
||||
Chunk * currentChunk = chunks[i];
|
||||
chunkJRaw = currentChunk->jchunk;
|
||||
chunkMask = currentChunk->chunkMask;
|
||||
d = currentChunk->jd;
|
||||
d0 = currentChunk->jd0;
|
||||
u = currentChunk->ju;
|
||||
v = currentChunk->jv;
|
||||
w = currentChunk->jw;
|
||||
u0 = currentChunk->ju0;
|
||||
v0 = currentChunk->jv0;
|
||||
w0 = currentChunk->jw0;
|
||||
Java_electrosphere_FluidSim_solveDiffuseDensity(env,chunkJRaw,DIM,chunkMask,d,d0,u,v,w,DIFFUSION_CONSTANT,VISCOSITY_CONSTANT,timestep);
|
||||
}
|
||||
for(int i = 0; i < numChunks; i++){
|
||||
chunkJRaw = getChunk(i);
|
||||
chunkMask = (*env)->GetIntField(env,chunkJRaw,chunkmaskJId);
|
||||
d = getBuffArr(dJId);
|
||||
d0 = getBuffArr(d0JId);
|
||||
u = getBuffArr(uJId);
|
||||
v = getBuffArr(vJId);
|
||||
w = getBuffArr(wJId);
|
||||
u0 = getBuffArr(u0JId);
|
||||
v0 = getBuffArr(v0JId);
|
||||
w0 = getBuffArr(w0JId);
|
||||
Chunk * currentChunk = chunks[i];
|
||||
chunkJRaw = currentChunk->jchunk;
|
||||
chunkMask = currentChunk->chunkMask;
|
||||
d = currentChunk->jd;
|
||||
d0 = currentChunk->jd0;
|
||||
u = currentChunk->ju;
|
||||
v = currentChunk->jv;
|
||||
w = currentChunk->jw;
|
||||
u0 = currentChunk->ju0;
|
||||
v0 = currentChunk->jv0;
|
||||
w0 = currentChunk->jw0;
|
||||
Java_electrosphere_FluidSim_setBoundsToNeighbors(env,chunkJRaw,DIM,chunkMask,0,d);
|
||||
}
|
||||
}
|
||||
@ -784,16 +787,17 @@ JNIEXPORT void JNICALL Java_electrosphere_FluidSim_simulate(
|
||||
currentChunk->jd0 = d;
|
||||
}
|
||||
for(int i = 0; i < numChunks; i++){
|
||||
chunkJRaw = getChunk(i);
|
||||
chunkMask = (*env)->GetIntField(env,chunkJRaw,chunkmaskJId);
|
||||
d = getBuffArr(dJId);
|
||||
d0 = getBuffArr(d0JId);
|
||||
u = getBuffArr(uJId);
|
||||
v = getBuffArr(vJId);
|
||||
w = getBuffArr(wJId);
|
||||
u0 = getBuffArr(u0JId);
|
||||
v0 = getBuffArr(v0JId);
|
||||
w0 = getBuffArr(w0JId);
|
||||
Chunk * currentChunk = chunks[i];
|
||||
chunkJRaw = currentChunk->jchunk;
|
||||
chunkMask = currentChunk->chunkMask;
|
||||
d = currentChunk->jd;
|
||||
d0 = currentChunk->jd0;
|
||||
u = currentChunk->ju;
|
||||
v = currentChunk->jv;
|
||||
w = currentChunk->jw;
|
||||
u0 = currentChunk->ju0;
|
||||
v0 = currentChunk->jv0;
|
||||
w0 = currentChunk->jw0;
|
||||
Java_electrosphere_FluidSim_copyNeighbors(env,chunkJRaw,DIM,chunkMask,0,0,d);
|
||||
Java_electrosphere_FluidSim_copyNeighbors(env,chunkJRaw,DIM,chunkMask,0,0,d0);
|
||||
}
|
||||
@ -801,32 +805,34 @@ JNIEXPORT void JNICALL Java_electrosphere_FluidSim_simulate(
|
||||
//advect density
|
||||
{
|
||||
for(int i = 0; i < numChunks; i++){
|
||||
chunkJRaw = getChunk(i);
|
||||
chunkMask = (*env)->GetIntField(env,chunkJRaw,chunkmaskJId);
|
||||
d = getBuffArr(dJId);
|
||||
d0 = getBuffArr(d0JId);
|
||||
u = getBuffArr(uJId);
|
||||
v = getBuffArr(vJId);
|
||||
w = getBuffArr(wJId);
|
||||
u0 = getBuffArr(u0JId);
|
||||
v0 = getBuffArr(v0JId);
|
||||
w0 = getBuffArr(w0JId);
|
||||
Chunk * currentChunk = chunks[i];
|
||||
chunkJRaw = currentChunk->jchunk;
|
||||
chunkMask = currentChunk->chunkMask;
|
||||
d = currentChunk->jd;
|
||||
d0 = currentChunk->jd0;
|
||||
u = currentChunk->ju;
|
||||
v = currentChunk->jv;
|
||||
w = currentChunk->jw;
|
||||
u0 = currentChunk->ju0;
|
||||
v0 = currentChunk->jv0;
|
||||
w0 = currentChunk->jw0;
|
||||
Java_electrosphere_FluidSim_advectDensity(env,chunkJRaw,DIM,chunkMask,d,d0,u,v,w,DIFFUSION_CONSTANT,VISCOSITY_CONSTANT,timestep);
|
||||
}
|
||||
}
|
||||
//mirror densities
|
||||
{
|
||||
for(int i = 0; i < numChunks; i++){
|
||||
chunkJRaw = getChunk(i);
|
||||
chunkMask = (*env)->GetIntField(env,chunkJRaw,chunkmaskJId);
|
||||
d = getBuffArr(dJId);
|
||||
d0 = getBuffArr(d0JId);
|
||||
u = getBuffArr(uJId);
|
||||
v = getBuffArr(vJId);
|
||||
w = getBuffArr(wJId);
|
||||
u0 = getBuffArr(u0JId);
|
||||
v0 = getBuffArr(v0JId);
|
||||
w0 = getBuffArr(w0JId);
|
||||
Chunk * currentChunk = chunks[i];
|
||||
chunkJRaw = currentChunk->jchunk;
|
||||
chunkMask = currentChunk->chunkMask;
|
||||
d = currentChunk->jd;
|
||||
d0 = currentChunk->jd0;
|
||||
u = currentChunk->ju;
|
||||
v = currentChunk->jv;
|
||||
w = currentChunk->jw;
|
||||
u0 = currentChunk->ju0;
|
||||
v0 = currentChunk->jv0;
|
||||
w0 = currentChunk->jw0;
|
||||
Java_electrosphere_FluidSim_setBoundsToNeighbors(env,chunkJRaw,DIM,chunkMask,0,d);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user