119 lines
4.7 KiB
C
119 lines
4.7 KiB
C
#ifndef MAINFUNC
|
|
#define MAINFUNC
|
|
|
|
#include <jni.h>
|
|
|
|
/*
|
|
* Class: electrosphere_FluidSim
|
|
* Method: calculateChunkMask
|
|
* Signature: ([Ljava/nio/ByteBuffer;)I
|
|
*/
|
|
JNIEXPORT jint JNICALL Java_electrosphere_FluidSim_calculateChunkMask
|
|
(JNIEnv *, jobject, jobjectArray);
|
|
|
|
/*
|
|
* Class: electrosphere_FluidSim
|
|
* Method: addSourceToVectors
|
|
* Signature: (II[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;FFF)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_electrosphere_FluidSim_addSourceToVectors
|
|
(JNIEnv *, jobject, jint, jint, float **, float **, float **, float **, float **, float **, jfloat, jfloat, jfloat);
|
|
|
|
/*
|
|
* Class: electrosphere_FluidSim
|
|
* Method: solveVectorDiffuse
|
|
* Signature: (II[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;FFF)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_electrosphere_FluidSim_solveVectorDiffuse
|
|
(JNIEnv *, jobject, jint, jint, jobjectArray, jobjectArray, jobjectArray, jobjectArray, jobjectArray, jobjectArray, jfloat, jfloat, jfloat);
|
|
|
|
/*
|
|
* Class: electrosphere_FluidSim
|
|
* Method: setupProjection
|
|
* Signature: (II[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;FFF)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_electrosphere_FluidSim_setupProjection
|
|
(JNIEnv *, jobject, jint, jint, jobjectArray, jobjectArray, jobjectArray, jobjectArray, jobjectArray, jobjectArray, jfloat, jfloat, jfloat);
|
|
|
|
/*
|
|
* Class: electrosphere_FluidSim
|
|
* Method: solveProjection
|
|
* Signature: (II[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;FFF)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_electrosphere_FluidSim_solveProjection
|
|
(JNIEnv *, jobject, jint, jint, jobjectArray, jobjectArray, jobjectArray, jobjectArray, jobjectArray, jobjectArray, jfloat, jfloat, jfloat);
|
|
|
|
/*
|
|
* Class: electrosphere_FluidSim
|
|
* Method: finalizeProjection
|
|
* Signature: (II[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;FFF)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_electrosphere_FluidSim_finalizeProjection
|
|
(JNIEnv *, jobject, jint, jint, jobjectArray, jobjectArray, jobjectArray, jobjectArray, jobjectArray, jobjectArray, jfloat, jfloat, jfloat);
|
|
|
|
/*
|
|
* Class: electrosphere_FluidSim
|
|
* Method: advectVectors
|
|
* Signature: (II[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;FFF)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_electrosphere_FluidSim_advectVectors
|
|
(JNIEnv *, jobject, jint, jint, jobjectArray, jobjectArray, jobjectArray, jobjectArray, jobjectArray, jobjectArray, jfloat, jfloat, jfloat);
|
|
|
|
/*
|
|
* Class: electrosphere_FluidSim
|
|
* Method: addDensity
|
|
* Signature: (II[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;F)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_electrosphere_FluidSim_addDensity
|
|
(JNIEnv *, jobject, jint, jint, float **, float **, jfloat);
|
|
|
|
/*
|
|
* Class: electrosphere_FluidSim
|
|
* Method: solveDiffuseDensity
|
|
* Signature: (II[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;FFF)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_electrosphere_FluidSim_solveDiffuseDensity
|
|
(JNIEnv *, jobject, jint, jint, float **, float **, jobjectArray, jobjectArray, jobjectArray, jfloat, jfloat, jfloat);
|
|
|
|
/*
|
|
* Class: electrosphere_FluidSim
|
|
* Method: advectDensity
|
|
* Signature: (II[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;FFF)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_electrosphere_FluidSim_advectDensity
|
|
(JNIEnv *, jobject, jint, jint, float **, float **, jobjectArray, jobjectArray, jobjectArray, jfloat, jfloat, jfloat);
|
|
|
|
/*
|
|
* Class: electrosphere_FluidSim
|
|
* Method: setBoundsToNeighbors
|
|
* Signature: (III[Ljava/nio/ByteBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_electrosphere_FluidSim_setBoundsToNeighbors
|
|
(JNIEnv *, jobject, jint, jint, jint, jobjectArray);
|
|
|
|
JNIEXPORT void JNICALL setBoundsToNeighborsRaw
|
|
(JNIEnv * env,
|
|
jobject this,
|
|
jint N,
|
|
jint chunk_mask,
|
|
jint vector_dir,
|
|
float ** neighborArray);
|
|
|
|
/*
|
|
* Class: electrosphere_FluidSim
|
|
* Method: copyNeighbors
|
|
* Signature: (IIII[Ljava/nio/ByteBuffer;)V
|
|
*/
|
|
JNIEXPORT void JNICALL Java_electrosphere_FluidSim_copyNeighbors
|
|
(JNIEnv *, jobject, jint, jint, jint, jint, jobjectArray);
|
|
|
|
JNIEXPORT void JNICALL copyNeighborsRaw
|
|
(JNIEnv * env,
|
|
jobject this,
|
|
jint N,
|
|
jint chunk_mask,
|
|
jint cx,
|
|
jint vector_dir,
|
|
float ** neighborArray);
|
|
|
|
#endif |