56 lines
1.1 KiB
C
56 lines
1.1 KiB
C
#include <jni.h>
|
|
|
|
#ifndef ENVIRONMENT_H
|
|
#define ENVIRONMENT_H
|
|
|
|
/**
|
|
* The List lookup table
|
|
*/
|
|
typedef struct {
|
|
jmethodID jListSize;
|
|
jmethodID jListGet;
|
|
jmethodID jListAdd;
|
|
} ListLookupTable;
|
|
|
|
/**
|
|
* The ServerFluidChunk lookup table
|
|
*/
|
|
typedef struct {
|
|
jfieldID dJId;
|
|
jfieldID d0JId;
|
|
jfieldID uJId;
|
|
jfieldID vJId;
|
|
jfieldID wJId;
|
|
jfieldID u0JId;
|
|
jfieldID v0JId;
|
|
jfieldID w0JId;
|
|
jfieldID neighborsId;
|
|
jfieldID chunkmaskJId;
|
|
jfieldID updatedId;
|
|
jfieldID totalDensityId;
|
|
jfieldID asleepId;
|
|
jfieldID homogenousId;
|
|
jfieldID normalizationRatioId;
|
|
} ServerFluidChunkLookupTable;
|
|
|
|
/**
|
|
* Lookup table for various java fields, methods, etc
|
|
*/
|
|
typedef struct {
|
|
ListLookupTable listTable;
|
|
ServerFluidChunkLookupTable serverFluidChunkTable;
|
|
jclass serverFluidChunkClass;
|
|
} JNILookupTable;
|
|
|
|
/**
|
|
* Stores data about the simulation environment
|
|
*/
|
|
typedef struct {
|
|
JNILookupTable lookupTable;
|
|
float gravity;
|
|
double existingDensity;
|
|
double newDensity;
|
|
float normalizationRatio;
|
|
} Environment;
|
|
|
|
#endif |