JNIEXPORT jboolean JNICALL JNIFUNCTION_NATIVE(nativeCreate(JNIEnv* env, jobject object, jobject instanceOfAndroidContext)) { int err_i; #ifdef DEBUG LOGI("nativeCreate\n"); #endif // Change working directory for the native process, so relative paths can be used for file access. arUtilChangeToResourcesDirectory(AR_UTIL_RESOURCES_DIRECTORY_BEHAVIOR_BEST, NULL, instanceOfAndroidContext); // Load marker(s). arPattHandle = arPattCreateHandle(); if (arPattHandle == NULL) { LOGE("Error creating pattern handle"); return false; } newMarkers(markerConfigDataFilename, arPattHandle, &markersSquare, &markersSquareCount, &arPattDetectionMode); if (!markersSquareCount) { LOGE("Error loading markers from config. file '%s'.", markerConfigDataFilename); arPattDeleteHandle(arPattHandle); arPattHandle = NULL; return false; } #ifdef DEBUG LOGE("Marker count = %d\n", markersSquareCount); #endif return (true); }
JNIEXPORT jboolean JNICALL JNIFUNCTION_NATIVE(nativeCreate(JNIEnv* env, jobject object, jobject instanceOfAndroidContext)) { int err_i; #ifdef DEBUG LOGI("nativeCreate\n"); #endif // Change working directory for the native process, so relative paths can be used for file access. arUtilChangeToResourcesDirectory(AR_UTIL_RESOURCES_DIRECTORY_BEHAVIOR_BEST, NULL, instanceOfAndroidContext); // Load marker(s). newMarkers(markerConfigDataFilename, &markersNFT, &markersNFTCount); LOGE("AAAA = %s\n", markersNFT[0].datasetPathname); LOGE("AAAA = %i\n", markersNFT[0].pageNo); if (!markersNFTCount) { LOGE("Error loading markers from config. file '%s'.", markerConfigDataFilename); return false; } #ifdef DEBUG LOGE("Marker count = %d\n", markersNFTCount); #endif return (true); }
EXPORT_API bool arwChangeToResourcesDir(const char *resourcesDirectoryPath) { bool ok; #if TARGET_PLATFORM_ANDROID if (resourcesDirectoryPath) ok = (arUtilChangeToResourcesDirectory(AR_UTIL_RESOURCES_DIRECTORY_BEHAVIOR_USE_SUPPLIED_PATH, resourcesDirectoryPath, NULL) == 0); else ok = (arUtilChangeToResourcesDirectory(AR_UTIL_RESOURCES_DIRECTORY_BEHAVIOR_BEST, NULL, NULL) == 0); #elif TARGET_PLATFORM_WINRT ok = false; // No current working directory in WinRT. #else if (resourcesDirectoryPath) ok = (arUtilChangeToResourcesDirectory(AR_UTIL_RESOURCES_DIRECTORY_BEHAVIOR_USE_SUPPLIED_PATH, resourcesDirectoryPath) == 0); else ok = (arUtilChangeToResourcesDirectory(AR_UTIL_RESOURCES_DIRECTORY_BEHAVIOR_BEST, NULL) == 0); #endif #ifdef DEBUG char buf[MAXPATHLEN]; gARTK->logv("CWD is '%s'.", getcwd(buf, sizeof(buf))); #endif return (ok); }