Index: ../trunk-jpl/test/NightlyRun/android.m =================================================================== --- ../trunk-jpl/test/NightlyRun/android.m (revision 14406) +++ ../trunk-jpl/test/NightlyRun/android.m (revision 14407) @@ -1,4 +1,4 @@ -md=triangle(model(),'../Exp/Square.exp',100000.); +md=triangle(model(),'../Exp/Square.exp',40000.); md=setmask(md,'all',''); md=parameterize(md,'../Par/SquareShelfConstrained.par'); md=setflowequation(md,'macayeal','all'); Index: ../trunk-jpl/src/mobile/android/ISSM/jni/Main.cpp =================================================================== --- ../trunk-jpl/src/mobile/android/ISSM/jni/Main.cpp (revision 14406) +++ ../trunk-jpl/src/mobile/android/ISSM/jni/Main.cpp (revision 14407) @@ -1,187 +0,0 @@ -#include "../../../c/issm.h" -#include -#include - -//Android specific header includes: -#include -#include -#include - -//iOS specific header includes: - -namespace gov_nasa_jpl_issm -{ - /*Global variables{{{*/ - FemModel *fm; - double* xyz; /*keep vertices information here*/ - /*}}}*/ - jint Initialize(JNIEnv *env, jclass clazz, jstring jsolution_type, jstring jabsfile, jstring jrelfile) /*{{{*/ - { - - /*arguments to constructor: */ - int argc; //arguments to constructor. - char** argv = NULL; - COMM communicator = 1; //fake communicator for constructor - const char* issmname = "issm.exe"; - char *solution_type = NULL; - char *absfile = NULL; - char *relfile = NULL; - - /*log:*/ - __android_log_print(ANDROID_LOG_INFO, "Native","Initializing FemModel"); - - /*retrieve from java machine: */ - solution_type = (char*)env->GetStringUTFChars(jsolution_type,0); - absfile = (char*)env->GetStringUTFChars(jabsfile,0); - relfile = (char*)env->GetStringUTFChars(jrelfile,0); - - /*creat arguments to call constructor for FemModel: */ - argc=4; - argv=(char**)malloc(argc*sizeof(char*)); - argv[0]=(char*)issmname; - argv[1]=solution_type; - argv[2]=absfile; - argv[3]=relfile; - - /*call Model constructor passing in infile as File Descriptor parameter.*/ - fm = new FemModel(argc,argv,communicator); - - /*release strings: */ - env->ReleaseStringUTFChars(jsolution_type, solution_type); //must realease the char* - env->ReleaseStringUTFChars(jabsfile, absfile); //must realease the char* - env->ReleaseStringUTFChars(jrelfile, relfile); //must realease the char* - - /*figure out size of solution: */ - __android_log_print(ANDROID_LOG_INFO, "Native","Number of elements"); - jint size = (jint) fm->elements->NumberOfElements(); - - /*retrieve vertices x,y and z coordinates: */ - __android_log_print(ANDROID_LOG_INFO, "Native","Retrieving vertices"); - xyz=fm->vertices->ToXYZ(); - - /*log: */ - __android_log_print(ANDROID_LOG_INFO, "Native","Done Initializing FemModel"); - - return size; - - } - /*}}}*/ - void Solve(JNIEnv *env, jclass clazz , jdouble alpha, jobject buf){ /*{{{*/ - - int i,count; - double x1,y1,z1,vel1; - double x2,y2,z2,vel2; - double x3,y3,z3,vel3; - int v1,v2,v3,eid; - Patch* patch=NULL; - - /*log:*/ - __android_log_print(ANDROID_LOG_INFO, "Native","Solving "); - - /*retrieve buffer: */ - jdouble *dBuf = (jdouble *)env->GetDirectBufferAddress(buf); - - /*reset basal friction to what it was before: */ - __android_log_print(ANDROID_LOG_INFO, "Native","alpha %g ",alpha); - InputDuplicatex(fm->elements,fm->nodes,fm->vertices,fm->loads,fm->materials,fm->parameters,AndroidFrictionCoefficientEnum,FrictionCoefficientEnum); - - /*now scale friction by alpha: */ - InputScalex(fm->elements,fm->nodes,fm->vertices,fm->loads,fm->materials,fm->parameters,FrictionCoefficientEnum,alpha/100); - - /*solve: */ - fm -> Solve(); - - /*retrieve results: */ - __android_log_print(ANDROID_LOG_INFO, "Native","Retrieving results "); - patch=fm->elements->ResultsToPatch(); - - /*sort out the velocities: */ - for(i=0;inumrows;i++){ - if ((patch->values[i*patch->numcols+0])==VelEnum){ - - /*Each row of the Patch object is made of the following information: - - the result enum_type, - - the step and time, - - the id of the element, - - the interpolation type, - - the vertices ids, - - and the values at the nodes (could be different from the vertices) - */ - eid=(int)patch->values[i*patch->numcols+3]-1; - v1=(int)patch->values[i*patch->numcols+5]; - x1=xyz[3*(v1-1)+0]; y1=xyz[3*(v1-1)+1]; z1=xyz[3*(v1-1)+2]; - - v2=(int)patch->values[i*patch->numcols+6]; - x2=xyz[3*(v2-1)+0]; y2=xyz[3*(v2-1)+1]; z2=xyz[3*(v2-1)+2]; - - v3=(int)patch->values[i*patch->numcols+7]; - x3=xyz[3*(v3-1)+0]; y3=xyz[3*(v3-1)+1]; z3=xyz[3*(v3-1)+2]; - - vel1=patch->values[i*patch->numcols+8]; - vel2=patch->values[i*patch->numcols+9]; - vel3=patch->values[i*patch->numcols+10]; - - /*plug into dBuf: */ - /*vertex 1: */ - dBuf[12*eid+0]=x1; - dBuf[12*eid+1]=y1; - dBuf[12*eid+2]=z1; - - /*vertex 2: */ - dBuf[12*eid+3]=x2; - dBuf[12*eid+4]=y2; - dBuf[12*eid+5]=z2; - - /*vertex 3: */ - dBuf[12*eid+6]=x3; - dBuf[12*eid+7]=y3; - dBuf[12*eid+8]=z3; - - /*values at 3 vertices: */ - dBuf[12*eid+9]=vel1; - dBuf[12*eid+10]=vel2; - dBuf[12*eid+11]=vel3; - - } - } - - /*for(i=0;i<148;i++){ - __android_log_print(ANDROID_LOG_INFO, "Native","%g %g %g | %g %g %g | %g %g %g | %g %g %g\n", - dBuf[12*i+0],dBuf[12*i+1],dBuf[12*i+2], - dBuf[12*i+3],dBuf[12*i+4],dBuf[12*i+5], - dBuf[12*i+6],dBuf[12*i+7],dBuf[12*i+8], - dBuf[12*i+9],dBuf[12*i+10],dBuf[12*i+11]); - }*/ - - /*delete temporary data:*/ - delete patch; - - }/*}}}*/ - static JNINativeMethod method_table[] = /*{{{*/ - { - {"createISSMModel" ,"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I" , (void *) Initialize}, - {"solveISSMModel", "(DLjava/nio/DoubleBuffer;)V", (void *) Solve} - }; - /*}}}*/ -} - -using namespace gov_nasa_jpl_issm; -extern "C" jint JNI_OnLoad(JavaVM* vm, void* reserved) /*{{{*/ -{ - JNIEnv* env; - if (vm->GetEnv(reinterpret_cast(&env), JNI_VERSION_1_6) != JNI_OK) { - return -1; - } - else - { - jclass clazz = env->FindClass("gov/nasa/jpl/issm/IssmJni"); - if(clazz) - { - env->RegisterNatives(clazz, method_table, 3); - env->DeleteLocalRef(clazz); - return JNI_VERSION_1_6; - } - else return -1; - } -} -/*}}}*/ Index: ../trunk-jpl/src/mobile/android/ISSM/Makefile.am =================================================================== --- ../trunk-jpl/src/mobile/android/ISSM/Makefile.am (revision 14406) +++ ../trunk-jpl/src/mobile/android/ISSM/Makefile.am (revision 14407) @@ -1,7 +1 @@ EXTRA_DIST = AndroidManifest.xml assets gen jni obj project.properties src Makefile.am bin ic_launcher-web.png libs proguard-project.txt res - -#Generate JNI library -lib_LTLIBRARIES = libISSMJNI.la - -libISSMJNI_la_SOURCES = ./jni/Main.cpp -libISSMJNI_la_LIBADD = $(ISSM_DIR)/src/c/libISSMCore.a $(ISSM_DIR)/externalpackages/gsl/install/lib/libgsl.a Index: ../trunk-jpl =================================================================== --- ../trunk-jpl (revision 14406) +++ ../trunk-jpl (revision 14407) Property changes on: ../trunk-jpl ___________________________________________________________________ Modified: svn:ignore ## -1,3 +1,4 ## +proj-* projects autom4te.cache aclocal.m4