diff --git a/addons/ofx3DModelLoader/src/3DS/model3DS.cpp b/addons/ofx3DModelLoader/src/3DS/model3DS.cpp index c984d2161df..149ee9ed844 100644 --- a/addons/ofx3DModelLoader/src/3DS/model3DS.cpp +++ b/addons/ofx3DModelLoader/src/3DS/model3DS.cpp @@ -523,7 +523,14 @@ void mesh3DS::draw(){ float shininess = currentMaterial.getShininess(); float adjustedSpecular[4] = {specular[0]*shininess, specular[1]*shininess, specular[2]*shininess, 1}; +#ifndef TARGET_OPENGLES glPushAttrib(GL_LIGHTING_BIT); +#endif + +#ifdef TARGET_OPENGLES + /* In OpenGL ES, the GL_FRONT_AND_BACK flag is the only flag that can be passed */ + materialFaces = GL_FRONT_AND_BACK; +#else if(currentMaterial.isTwoSided()){ glLightModeli(GL_LIGHT_MODEL_TWO_SIDE,1); materialFaces = GL_FRONT_AND_BACK; @@ -532,6 +539,7 @@ void mesh3DS::draw(){ glLightModeli(GL_LIGHT_MODEL_TWO_SIDE,0); materialFaces = GL_FRONT; } +#endif // Apply material colors if(glIsEnabled(GL_LIGHTING)){ @@ -545,44 +553,74 @@ void mesh3DS::draw(){ glMaterialfv(materialFaces, GL_SPECULAR, adjustedSpecular); glMaterialf(materialFaces, GL_SHININESS, 128.f * currentMaterial.getSpecularExponent()); } - else glColor3fv(currentMaterial.getDiffuseColor()); + else + { + const float* color = currentMaterial.getDiffuseColor(); + glColor4f(color[0], color[1], color[2], 1.0f); + } const std::vector *currentMatFaces = &(materialsIter->second); numFaces = (int)currentMatFaces->size(); //number of faces in this material switch(m_drawMode){ case DRAW_IMMEDIATE_MODE: - - glBegin(GL_TRIANGLES); + // This is like DRAW_VERTEX_ARRAY, but the array is not already constructed, so we need to do it here for(face=0; face raw = Class.forName(packageName+".R$raw"); - - // if it exists copy all the raw resources - // to a folder in the sdcard - Field[] files = raw.getDeclaredFields(); - - boolean copydata = false; + unpackingDone = false; + + new Thread(new Runnable(){ + @Override + public void run() { + try { + + // try to find if R.raw class exists will throw + // an exception if not + Class raw = Class.forName(packageName+".R$raw"); + + // if it exists copy all the raw resources + // to a folder in the sdcard + Field[] files = raw.getDeclaredFields(); + + boolean copydata = false; + + SharedPreferences preferences = ofActivity.getPreferences(Context.MODE_PRIVATE); + long lastInstalled = preferences.getLong("installed", 0); + + PackageManager pm = ofActivity.getPackageManager(); + ApplicationInfo appInfo = pm.getApplicationInfo(packageName, 0); + String appFile = appInfo.sourceDir; + long installed = new File(appFile).lastModified(); + if(installed>lastInstalled){ + Editor editor = preferences.edit(); + editor.putLong("installed", installed); + editor.commit(); + copydata = true; + } + + + dataPath=""; + try{ + // Set data path + //dataPath = Environment.getExternalStorageDirectory().getAbsolutePath(); + dataPath = getRealExternalStorageDirectory(); + dataPath += "/Android/data/"+packageName; - SharedPreferences preferences = ofActivity.getPreferences(Context.MODE_PRIVATE); - long lastInstalled = preferences.getLong("installed", 0); - - PackageManager pm = ofActivity.getPackageManager(); - ApplicationInfo appInfo = pm.getApplicationInfo(packageName, 0); - String appFile = appInfo.sourceDir; - long installed = new File(appFile).lastModified(); - if(installed>lastInstalled){ - Editor editor = preferences.edit(); - editor.putLong("installed", installed); - editor.commit(); - copydata = true; - } - + // Check if old data path exists and copy content to new data path location + String oldDataPath = getRealExternalStorageDirectory() + "/" + packageName; + File oldDataDir = new File(oldDataPath); + if(oldDataDir.exists()) + { + Log.d("OF", "Found old data in: " + oldDataPath); - dataPath=""; - try{ - //dataPath = Environment.getExternalStorageDirectory().getAbsolutePath(); - dataPath = getRealExternalStorageDirectory(); - dataPath += "/"+packageName; - Log.i("OF","creating app directory: " + dataPath); - try{ - - File dir = new File(dataPath); - - if(!dir.exists() && dir.mkdir()!=true) - throw new Exception(); - }catch(Exception e){ - Log.e("OF","error creating dir " + dataPath,e); - } - - if(copydata){ - for(int i=0; i menu_ids = Class.forName(packageName+".R$id"); @@ -354,10 +401,9 @@ static public String getStringRes(String idStr){ static public boolean isOnline(){ try{ - ConnectivityManager conMgr = (ConnectivityManager)ofActivity.getSystemService(Context.CONNECTIVITY_SERVICE); - return conMgr!=null && ( conMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED - || conMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED ) ; + return isWifiOnline() || isMobileOnline(); }catch(Exception e){ + Log.e("OF","error checking connection",e); return false; } } @@ -367,6 +413,7 @@ static public boolean isWifiOnline(){ ConnectivityManager conMgr = (ConnectivityManager)ofActivity.getSystemService(Context.CONNECTIVITY_SERVICE); return conMgr!=null && ( conMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED ) ; }catch(Exception e){ + Log.e("OF","error checking wifi connection",e); return false; } } @@ -377,12 +424,15 @@ static public boolean isMobileOnline(){ return conMgr!=null && ( conMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED ) ; }catch(Exception e){ + Log.e("OF","error checking mobile connection",e); return false; } } - + + static private BroadcastReceiver networkStateReceiver; + static public void monitorNetworkState(){ - BroadcastReceiver networkStateReceiver = new BroadcastReceiver() { + networkStateReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { @@ -392,20 +442,23 @@ public void onReceive(Context context, Intent intent) { boolean noConnectivity = intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false); - if (noConnectivity) { - networkConnected(false); - } else { - networkConnected(true); - } + if (noConnectivity) { + networkConnected(false); + } else { + networkConnected(true); + } Log.w("Network Listener", "Network Type Changed"); } }; - IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION); ofActivity.registerReceiver(networkStateReceiver, filter); networkConnected(isOnline()); } + static public void launchBrowser(String url){ + ofActivity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url))); + } + static Map progressDialogs = new HashMap(); static int lastProgressID=0; @@ -559,6 +612,22 @@ public static void stopGPS(){ gps.stopGPS(); } + static MulticastLock mcLock; + public static void enableMulticast(){ + WifiManager wifi = (WifiManager)ofActivity.getSystemService( Context.WIFI_SERVICE ); + if(wifi != null) + { + mcLock = wifi.createMulticastLock("mylock"); + mcLock.acquire(); + } + } + + public static void disableMulticast(){ + if(mcLock!=null){ + mcLock.release(); + } + } + public static void alertBox(String msg){ final String alertMsg = msg; /*try{ @@ -798,6 +867,7 @@ public static String getRandomUUID(){ private static String packageName; private static String dataPath; private static PowerManager.WakeLock wl; + public static boolean unpackingDone; public static native boolean hasNeon(); @@ -972,7 +1042,6 @@ public boolean onDown(MotionEvent event) { @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { /*boolean res = super.onFling(e1, e2, velocityX, velocityY); - Log.i("OF","onFLing" + res); return res;*/ final float xDistance = Math.abs(e1.getX() - e2.getX()); @@ -1068,36 +1137,54 @@ public OFAndroidWindow(int w, int h){ public void onSurfaceCreated(GL10 gl, EGLConfig config) { if(initialized){ OFAndroid.onSurfaceCreated(); + try{ + ((OFActivity)OFAndroid.getContext()).onGLSurfaceCreated(); + }catch(Exception e){ + Log.e("OF","couldn call onGLSurfaceCreated",e); + } return; } } public void onSurfaceChanged(GL10 gl, int w, int h) { - if(!setup){ - Log.i("OF","initializing app"); - OFAndroid.init(); - OFAndroid.setup(w,h); - initialized = true; - setup = true; - android.os.Process.setThreadPriority(8); - OFGestureListener.swipe_Min_Distance = (int)(Math.max(w, h)*.1); - OFGestureListener.swipe_Max_Distance = (int)(Math.max(w, h)*.6); - - /*if(ETC1Util.isETC1Supported()) Log.i("OF","ETC supported"); - else Log.i("OF","ETC not supported");*/ + if(!setup && OFAndroid.unpackingDone){ + setup(); } + OFGestureListener.swipe_Min_Distance = (int)(Math.max(w, h)*.04); + OFGestureListener.swipe_Max_Distance = (int)(Math.max(w, h)*.6); OFAndroid.resize(w, h); this.w = w; this.h = h; } + + private void setup(){ + Log.i("OF","initializing app"); + OFAndroid.init(); + OFAndroid.setup(w,h); + initialized = true; + setup = true; + android.os.Process.setThreadPriority(8); + OFGestureListener.swipe_Min_Distance = (int)(Math.max(w, h)*.04); + OFGestureListener.swipe_Max_Distance = (int)(Math.max(w, h)*.6); + try{ + ((OFActivity)OFAndroid.getContext()).onGLSurfaceCreated(); + }catch(Exception e){ + Log.e("OF","couldn call onGLSurfaceCreated",e); + } + + /*if(ETC1Util.isETC1Supported()) Log.i("OF","ETC supported"); + else Log.i("OF","ETC not supported");*/ + } public void onDrawFrame(GL10 gl) { - if(setup) + if(setup && OFAndroid.unpackingDone) OFAndroid.render(); + else if(!setup && OFAndroid.unpackingDone) + setup(); } static boolean initialized; static boolean setup; int w,h; -} +} \ No newline at end of file diff --git a/addons/ofxAndroid/ofAndroidLib/src/cc/openframeworks/OFAndroidObject.java b/addons/ofxAndroid/ofAndroidLib/src/cc/openframeworks/OFAndroidObject.java index 91a115b5979..77e3c11d963 100644 --- a/addons/ofxAndroid/ofAndroidLib/src/cc/openframeworks/OFAndroidObject.java +++ b/addons/ofxAndroid/ofAndroidLib/src/cc/openframeworks/OFAndroidObject.java @@ -19,7 +19,7 @@ public enum State{ protected State state; public static Set ofObjects = new HashSet(); - OFAndroidObject(){ + public OFAndroidObject(){ state = State.Created; ofObjects.add(this); } diff --git a/addons/ofxAndroid/ofAndroidLib/src/cc/openframeworks/OFAndroidSoundPlayer.java b/addons/ofxAndroid/ofAndroidLib/src/cc/openframeworks/OFAndroidSoundPlayer.java index c99e5696169..e4360f1f1be 100644 --- a/addons/ofxAndroid/ofAndroidLib/src/cc/openframeworks/OFAndroidSoundPlayer.java +++ b/addons/ofxAndroid/ofAndroidLib/src/cc/openframeworks/OFAndroidSoundPlayer.java @@ -15,6 +15,7 @@ public class OFAndroidSoundPlayer extends OFAndroidObject{ loop = false; soundID = -1; streamID = -1; + multiPlay = false; } void loadSound(String fileName, boolean stream){ @@ -59,8 +60,9 @@ void play(){ if(getIsPlaying()) setPosition(0); player.start(); }else{ - if(!multiPlay) + if(!multiPlay){ pool.stop(streamID); + } streamID = pool.play(soundID,leftVolume,rightVolume,1,loop?-1:0,speed); bIsPlaying = true; } @@ -77,14 +79,14 @@ void stop(){ void setVolume(float vol){ volume = vol; - // calculates left/right volumes from pan-value (constant panning law) - // see: Curtis Roads: Computer Music Tutorial p 460 + // calculates left/right volumes from pan-value (constant panning law) + // see: Curtis Roads: Computer Music Tutorial p 460 // thanks to jasch - float angle = pan * 0.7853981633974483f; // in radians from -45. to +45. - float cosAngle = FloatMath.cos(angle); - float sinAngle = FloatMath.sin(angle); - leftVolume = (float)((cosAngle - sinAngle) * 0.7071067811865475) * vol; // multiplied by sqrt(2)/2 - rightVolume = (float)((cosAngle + sinAngle) * 0.7071067811865475) * vol; // multiplied by sqrt(2)/2 + float angle = pan * 0.7853981633974483f; // in radians from -45. to +45. + float cosAngle = FloatMath.cos(angle); + float sinAngle = FloatMath.sin(angle); + leftVolume = (float)((cosAngle - sinAngle) * 0.7071067811865475) * vol; // multiplied by sqrt(2)/2 + rightVolume = (float)((cosAngle + sinAngle) * 0.7071067811865475) * vol; // multiplied by sqrt(2)/2 if(stream){ if(player!=null) player.setVolume(leftVolume, rightVolume); }else if(streamID!=-1){ @@ -98,6 +100,7 @@ float getVolume(){ void setPan(float vol){ pan = vol; + // in Android, panning is done by setting the volume on individual channels setVolume(volume); } @@ -136,12 +139,12 @@ void setLoop(boolean bLp){ } void setMultiPlay(boolean bMp){ - if(multiPlay==bMp) return; multiPlay = bMp; - if(fileName!=null){ + if(fileName!=null && multiPlay && stream){ + Log.w("OF", "multiplay only supported as no stream, reloading " + fileName + " as no stream"); String currFileName = fileName; unloadSound(); - loadSound(currFileName, !bMp); + loadSound(currFileName, false); } } @@ -179,7 +182,7 @@ float getSpeed(){ } float getPan(){ - return pan/2.f+1; + return pan; } boolean isLoaded(){ @@ -199,7 +202,7 @@ protected void appPause() { @Override protected void appResume() { if(bIsLoaded){ - loadSound(fileName, !multiPlay); + loadSound(fileName, stream); } } diff --git a/addons/ofxAndroid/src/ofAppAndroidWindow.cpp b/addons/ofxAndroid/src/ofAppAndroidWindow.cpp index db7e4a48f19..4687cd04956 100644 --- a/addons/ofxAndroid/src/ofAppAndroidWindow.cpp +++ b/addons/ofxAndroid/src/ofAppAndroidWindow.cpp @@ -53,6 +53,9 @@ static queue touchEventArgsQueue; static ofMutex mutex; static bool threadedTouchEvents = false; + +void ofExitCallback(); + //static ofAppAndroidWindow window; JavaVM * ofGetJavaVMPtr(){ @@ -295,7 +298,7 @@ Java_cc_openframeworks_OFAndroid_onStop( JNIEnv* env, jobject thiz ){ void Java_cc_openframeworks_OFAndroid_onDestroy( JNIEnv* env, jclass thiz ){ - + ofExitCallback(); } void @@ -304,6 +307,9 @@ Java_cc_openframeworks_OFAndroid_onSurfaceDestroyed( JNIEnv* env, jclass thiz ofLog(OF_LOG_NOTICE,"onSurfaceDestroyed"); ofUnloadAllFontTextures(); ofPauseVideoGrabbers(); + if(androidApp){ + androidApp->unloadTextures(); + } } void @@ -312,6 +318,9 @@ Java_cc_openframeworks_OFAndroid_onSurfaceCreated( JNIEnv* env, jclass thiz ){ if(!surfaceDestroyed){ ofUnloadAllFontTextures(); ofPauseVideoGrabbers(); + if(androidApp){ + androidApp->unloadTextures(); + } } reloadTextures(); if(androidApp){ @@ -574,8 +583,8 @@ Java_cc_openframeworks_OFAndroid_cancelPressed( JNIEnv* env, jobject thiz ){ void Java_cc_openframeworks_OFAndroid_networkConnected( JNIEnv* env, jobject thiz, jboolean connected){ - if(androidApp) androidApp->networkConnected(connected); bool bConnected = (bool)connected; + if(androidApp) androidApp->networkConnected(bConnected); ofNotifyEvent(ofxAndroidEvents().networkConnected,bConnected); } } diff --git a/addons/ofxAndroid/src/ofxAndroidAccelerometer.cpp b/addons/ofxAndroid/src/ofxAndroidAccelerometer.cpp index ff0f69d4ea7..fffbe1f7cd8 100644 --- a/addons/ofxAndroid/src/ofxAndroidAccelerometer.cpp +++ b/addons/ofxAndroid/src/ofxAndroidAccelerometer.cpp @@ -13,7 +13,8 @@ extern "C"{ void Java_cc_openframeworks_OFAndroidAccelerometer_updateAccelerometer( JNIEnv* env, jobject thiz, jfloat x, jfloat y, jfloat z ){ - ofxAccelerometer.update(-x,-y,-z); + // android reports these in m/s^2, but ofxAccelerometer expects g's (1g = gravity = 9.81m/s^2) + ofxAccelerometer.update(-x/9.81,-y/9.81,-z/9.81); } } diff --git a/addons/ofxAndroid/src/ofxAndroidApp.h b/addons/ofxAndroid/src/ofxAndroidApp.h index 774bc19c1f4..5e66b8f36e5 100644 --- a/addons/ofxAndroid/src/ofxAndroidApp.h +++ b/addons/ofxAndroid/src/ofxAndroidApp.h @@ -26,6 +26,7 @@ class ofxAndroidApp: public ofBaseApp{ virtual void stop(){}; virtual void resume(){}; virtual void reloadTextures(){} + virtual void unloadTextures(){} virtual void touchDown(int x, int y, int id) {}; virtual void touchMoved(int x, int y, int id) {}; diff --git a/addons/ofxAndroid/src/ofxAndroidSoundPlayer.cpp b/addons/ofxAndroid/src/ofxAndroidSoundPlayer.cpp index f672dbc7654..c7f7ad02554 100644 --- a/addons/ofxAndroid/src/ofxAndroidSoundPlayer.cpp +++ b/addons/ofxAndroid/src/ofxAndroidSoundPlayer.cpp @@ -56,7 +56,7 @@ bool ofxAndroidSoundPlayer::loadSound(string fileName, bool stream){ } jstring javaFileName = ofGetJNIEnv()->NewStringUTF(ofToDataPath(fileName,true).c_str()); - env->CallVoidMethod(javaSoundPlayer,javaLoadMethod,javaFileName,stream); + env->CallVoidMethod(javaSoundPlayer,javaLoadMethod,javaFileName,stream?1:0); env->DeleteLocalRef((jobject)javaFileName); return true; } @@ -209,7 +209,7 @@ void ofxAndroidSoundPlayer::setPaused(bool bP){ return; } - env->CallVoidMethod(javaSoundPlayer,javaPausedMethod,bP); + env->CallVoidMethod(javaSoundPlayer,javaPausedMethod,bP?1:0); } @@ -231,7 +231,7 @@ void ofxAndroidSoundPlayer::setLoop(bool bLp){ return; } - env->CallVoidMethod(javaSoundPlayer,javaLoopMethod,bLp); + env->CallVoidMethod(javaSoundPlayer,javaLoopMethod,bLp?1:0); } @@ -253,7 +253,7 @@ void ofxAndroidSoundPlayer::setMultiPlay(bool bMp){ return; } - env->CallVoidMethod(javaSoundPlayer,javaMultiplayMethod,bMp); + env->CallVoidMethod(javaSoundPlayer,javaMultiplayMethod,bMp?1:0); } diff --git a/addons/ofxAndroid/src/ofxAndroidUtils.cpp b/addons/ofxAndroid/src/ofxAndroidUtils.cpp index 66653bf51d0..16feeb22c14 100644 --- a/addons/ofxAndroid/src/ofxAndroidUtils.cpp +++ b/addons/ofxAndroid/src/ofxAndroidUtils.cpp @@ -1,6 +1,12 @@ #include "ofxAndroidUtils.h" +// fix for undefined symbols from ndk r8c +extern "C" { + extern void *__dso_handle __attribute__((__visibility__ ("hidden"))); + void *__dso_handle; +} + bool ofxAndroidIsOnline(){ jclass javaClass = ofGetJavaOFAndroid(); @@ -298,12 +304,46 @@ bool ofxAndroidCheckSDCardMounted(){ } +void ofxAndroidEnableMulticast(){ + + jclass javaClass = ofGetJavaOFAndroid(); + + if(javaClass==0){ + ofLog(OF_LOG_ERROR,"cannot find OFAndroid java class"); + return; + } + + jmethodID method = ofGetJNIEnv()->GetStaticMethodID(javaClass,"enableMulticast","()V"); + if(!method){ + ofLog(OF_LOG_ERROR,"cannot find OFAndroid enableMulticast method"); + return; + } + ofGetJNIEnv()->CallStaticVoidMethod(javaClass,method); +} + +void ofxAndroidDisableMulticast(){ + + jclass javaClass = ofGetJavaOFAndroid(); + + if(javaClass==0){ + ofLog(OF_LOG_ERROR,"cannot find OFAndroid java class"); + return; + } + + jmethodID method = ofGetJNIEnv()->GetStaticMethodID(javaClass,"disableMulticast","()V"); + if(!method){ + ofLog(OF_LOG_ERROR,"cannot find OFAndroid disableMulticast method"); + return; + } + ofGetJNIEnv()->CallStaticVoidMethod(javaClass,method); +} + string ofxAndroidRandomUUID(){ jclass javaClass = ofGetJavaOFAndroid(); if(javaClass==0){ ofLog(OF_LOG_ERROR,"cannot find OFAndroid java class"); - return false; + return ""; } @@ -339,7 +379,7 @@ string ofxAndroidGetTextBoxResult(){ if(javaClass==0){ ofLog(OF_LOG_ERROR,"cannot find OFAndroid java class"); - return false; + return ""; } @@ -354,6 +394,24 @@ string ofxAndroidGetTextBoxResult(){ return ofGetJNIEnv()->GetStringUTFChars(str,&isCopy); } +void ofxAndroidLaunchBrowser(string url){ + jclass javaClass = ofGetJavaOFAndroid(); + + if(javaClass==0){ + ofLog(OF_LOG_ERROR,"cannot find OFAndroid java class"); + return; + } + + jmethodID method = ofGetJNIEnv()->GetStaticMethodID(javaClass,"launchBrowser","(Ljava/lang/String;)V"); + if(!method){ + ofLog(OF_LOG_ERROR,"cannot find OFAndroid launchBrowser method"); + return; + } + jstring jUrl = ofGetJNIEnv()->NewStringUTF(url.c_str()); + ofGetJNIEnv()->CallStaticVoidMethod(javaClass,method,jUrl); + ofGetJNIEnv()->DeleteLocalRef((jobject)jUrl); +} + ofxAndroidEventsClass & ofxAndroidEvents(){ static ofxAndroidEventsClass * events = new ofxAndroidEventsClass; return *events; diff --git a/addons/ofxAndroid/src/ofxAndroidUtils.h b/addons/ofxAndroid/src/ofxAndroidUtils.h index f80398bf036..1b51fa93fc5 100644 --- a/addons/ofxAndroid/src/ofxAndroidUtils.h +++ b/addons/ofxAndroid/src/ofxAndroidUtils.h @@ -46,6 +46,8 @@ string ofxAndroidRandomUUID(); void ofxAndroidMonitorNetworkState(); +void ofxAndroidLaunchBrowser(string url); + //------------------------------------- // this functions are only for internal use void ofPauseVideoGrabbers(); @@ -63,6 +65,9 @@ void ofxAndroidSoundStreamResume(); bool ofxAndroidCheckSDCardMounted(); +void ofxAndroidEnableMulticast(); +void ofxAndroidDisableMulticast(); + //this is just to fix a problem with undefined symbols inline void ofFixSoundStreamInclude(){ ofSoundStreamClose(); diff --git a/addons/ofxAssimpModelLoader/src/ofx3DBaseLoader.h b/addons/ofxAssimpModelLoader/src/ofx3DBaseLoader.h deleted file mode 100644 index b211fc1fbb1..00000000000 --- a/addons/ofxAssimpModelLoader/src/ofx3DBaseLoader.h +++ /dev/null @@ -1,22 +0,0 @@ -#pragma once - -#import "aiColor4D.h" -#import "aiVector3D.h" -#import "aiVector2D.h" -#import "aiMatrix4x4.h" - - -class ofx3DBaseLoader{ - - public: - ofx3DBaseLoader(){ - hasTexture = false; - } - virtual void loadModel(string model, float scale = 1.0){} - virtual void loadModel(string model){} - virtual ~ofx3DBaseLoader(){} - virtual void draw(){ printf("hello\n"); } - - bool hasTexture; - -}; diff --git a/addons/ofxAssimpModelLoader/src/ofxAssimpAnimation.cpp b/addons/ofxAssimpModelLoader/src/ofxAssimpAnimation.cpp new file mode 100644 index 00000000000..54784d2d648 --- /dev/null +++ b/addons/ofxAssimpModelLoader/src/ofxAssimpAnimation.cpp @@ -0,0 +1,232 @@ +// +// ofxAssimpAnimation.cpp +// Created by Lukasz Karluk on 4/12/12. +// + +#include "ofxAssimpAnimation.h" +#include "assimp.h" +#include "aiScene.h" + +ofxAssimpAnimation::ofxAssimpAnimation(const aiScene * scene, aiAnimation * animation) { + this->scene = scene; + this->animation = animation; + animationCurrTime = 0; + animationPrevTime = 0; + bPlay = false; + bPause = false; + loopType = OF_LOOP_NONE; + progress = 0; + progressInSeconds = 0; + progressInMilliSeconds = 0; + durationInSeconds = 0; + durationInMilliSeconds = 0; + speed = 1; + + if(animation != NULL) { + durationInSeconds = animation->mDuration; + durationInMilliSeconds = durationInSeconds * 1000; + } +} + +ofxAssimpAnimation::~ofxAssimpAnimation() { + // +} + +aiAnimation * ofxAssimpAnimation::getAnimation() { + return animation; +} + +void ofxAssimpAnimation::update() { + animationPrevTime = animationCurrTime; + animationCurrTime = ofGetElapsedTimef(); + + if(!bPlay || bPause) { + return; + } + + float duration = getDurationInSeconds(); + float timeStep = animationCurrTime - animationPrevTime; + float positionStep = timeStep / (float)duration; + float position = getPosition() + positionStep; + + if(position > 1.0 && loopType == OF_LOOP_NONE) { + position = 1.0; + stop(); + } else if(position > 1.0 && loopType == OF_LOOP_NORMAL) { + position = fmod(position, 1.0f); + } else if(position > 1.0 && loopType == OF_LOOP_PALINDROME) { + // TODO. + } else if(position < 0.0 && loopType == OF_LOOP_PALINDROME) { + // TODO. + } + + setPosition(position); +} + +void ofxAssimpAnimation::updateAnimationNodes() { + for(int i=0; imNumChannels; i++) { + const aiNodeAnim * channel = animation->mChannels[i]; + aiNode * targetNode = scene->mRootNode->FindNode(channel->mNodeName); + + aiVector3D presentPosition(0, 0, 0); + if(channel->mNumPositionKeys > 0) { + unsigned int frame = 0; + while(frame < channel->mNumPositionKeys - 1) { + if(progressInSeconds < channel->mPositionKeys[frame+1].mTime) { + break; + } + frame++; + } + + unsigned int nextFrame = (frame + 1) % channel->mNumPositionKeys; + const aiVectorKey & key = channel->mPositionKeys[frame]; + const aiVectorKey & nextKey = channel->mPositionKeys[nextFrame]; + double diffTime = nextKey.mTime - key.mTime; + if(diffTime < 0.0) { + diffTime += getDurationInSeconds(); + } + if(diffTime > 0) { + float factor = float((progressInSeconds - key.mTime) / diffTime); + presentPosition = key.mValue + (nextKey.mValue - key.mValue) * factor; + } else { + presentPosition = key.mValue; + } + } + + aiQuaternion presentRotation(1, 0, 0, 0); + if(channel->mNumRotationKeys > 0) { + unsigned int frame = 0; + while(frame < channel->mNumRotationKeys - 1) { + if(progressInSeconds < channel->mRotationKeys[frame+1].mTime) { + break; + } + frame++; + } + + unsigned int nextFrame = (frame + 1) % channel->mNumRotationKeys; + const aiQuatKey& key = channel->mRotationKeys[frame]; + const aiQuatKey& nextKey = channel->mRotationKeys[nextFrame]; + double diffTime = nextKey.mTime - key.mTime; + if(diffTime < 0.0) { + diffTime += getDurationInSeconds(); + } + if(diffTime > 0) { + float factor = float((progressInSeconds - key.mTime) / diffTime); + aiQuaternion::Interpolate(presentRotation, key.mValue, nextKey.mValue, factor); + } else { + presentRotation = key.mValue; + } + } + + aiVector3D presentScaling(1, 1, 1); + if(channel->mNumScalingKeys > 0) { + unsigned int frame = 0; + while(frame < channel->mNumScalingKeys - 1){ + if(progressInSeconds < channel->mScalingKeys[frame+1].mTime) { + break; + } + frame++; + } + + presentScaling = channel->mScalingKeys[frame].mValue; + } + + aiMatrix4x4 mat = aiMatrix4x4(presentRotation.GetMatrix()); + mat.a1 *= presentScaling.x; mat.b1 *= presentScaling.x; mat.c1 *= presentScaling.x; + mat.a2 *= presentScaling.y; mat.b2 *= presentScaling.y; mat.c2 *= presentScaling.y; + mat.a3 *= presentScaling.z; mat.b3 *= presentScaling.z; mat.c3 *= presentScaling.z; + mat.a4 = presentPosition.x; mat.b4 = presentPosition.y; mat.c4 = presentPosition.z; + + targetNode->mTransformation = mat; + } +} + +void ofxAssimpAnimation::play() { + if(animation == NULL) { + return; + } + if(bPlay) { // if already playing, ignore. + bPause = false; // if paused, then unpause. + return; + } + bPlay = true; + bPause = false; + + setPosition(0); +} + +void ofxAssimpAnimation::stop() { + if(!bPlay) { + return; + } + bPlay = false; + bPause = false; +} + +void ofxAssimpAnimation::reset() { + setPosition(0); +} + +bool ofxAssimpAnimation::isFrameNew() { + return (bPlay && !bPause); // assume its always a new frame when playing and not paused. +} + +bool ofxAssimpAnimation::isPaused() { + return bPause; +} + +bool ofxAssimpAnimation::isPlaying() { + return bPlay; +} + +bool ofxAssimpAnimation::isFinished() { + return !bPlay && (getPosition() == 1.0); +} + +float ofxAssimpAnimation::getPosition() { + return progress; +} + +float ofxAssimpAnimation::getPositionInSeconds() { + return progressInSeconds; +} + +int ofxAssimpAnimation::getPositionInMilliSeconds() { + return progressInMilliSeconds; +} + +float ofxAssimpAnimation::getSpeed() { + return speed; +} + +float ofxAssimpAnimation::getDurationInSeconds() { + return durationInSeconds; +} + +int ofxAssimpAnimation::getDurationInMilliSeconds() { + return durationInMilliSeconds; +} + +void ofxAssimpAnimation::setPaused(bool paused) { + bPause = paused; +} + +void ofxAssimpAnimation::setPosition(float position) { + position = ofClamp(position, 0.0f, 1.0f); + if(progress == position) { + return; + } + progress = position; + progressInSeconds = progress * getDurationInSeconds(); + progressInMilliSeconds = progress * getDurationInMilliSeconds(); + + updateAnimationNodes(); +} + +void ofxAssimpAnimation::setLoopState(ofLoopType state) { + loopType = state; +} + +void ofxAssimpAnimation::setSpeed(float speed) { + speed = 1; // TODO. +} diff --git a/addons/ofxAssimpModelLoader/src/ofxAssimpAnimation.h b/addons/ofxAssimpModelLoader/src/ofxAssimpAnimation.h new file mode 100644 index 00000000000..5cb2cdf4b03 --- /dev/null +++ b/addons/ofxAssimpModelLoader/src/ofxAssimpAnimation.h @@ -0,0 +1,62 @@ +// +// ofxAssimpAnimation.h +// Created by Lukasz Karluk on 4/12/12. +// + +#pragma once + +#include "ofMain.h" + +class aiScene; +class aiAnimation; + +class ofxAssimpAnimation { + +public: + + ofxAssimpAnimation(const aiScene * scene, aiAnimation * animation); + ~ofxAssimpAnimation(); + + aiAnimation * getAnimation(); + + void update(); + + void play(); + void stop(); + void reset(); + + bool isFrameNew(); + bool isPaused(); + bool isPlaying(); + bool isFinished(); + + float getPosition(); + float getPositionInSeconds(); + int getPositionInMilliSeconds(); + float getSpeed(); + float getDurationInSeconds(); + int getDurationInMilliSeconds(); + + void setPaused(bool paused); + void setPosition(float position); + void setLoopState(ofLoopType state); + void setSpeed(float speed); + +protected: + + void updateAnimationNodes(); + + const aiScene * scene; + aiAnimation * animation; + float animationCurrTime; + float animationPrevTime; + bool bPlay; + bool bPause; + ofLoopType loopType; + float progress; + float progressInSeconds; + int progressInMilliSeconds; + float durationInSeconds; + int durationInMilliSeconds; + float speed; +}; diff --git a/addons/ofxAssimpModelLoader/src/ofxAssimpMeshHelper.cpp b/addons/ofxAssimpModelLoader/src/ofxAssimpMeshHelper.cpp new file mode 100644 index 00000000000..8e272e0c2b0 --- /dev/null +++ b/addons/ofxAssimpModelLoader/src/ofxAssimpMeshHelper.cpp @@ -0,0 +1,20 @@ +// +// ofxAssimpMeshHelper.cpp +// Created by Lukasz Karluk on 4/12/12. +// + +#include "ofxAssimpMeshHelper.h" +#include "ofxAssimpUtils.h" +#include "aiMesh.h" + +ofxAssimpMeshHelper::ofxAssimpMeshHelper() { + mesh = NULL; + blendMode = OF_BLENDMODE_ALPHA; + twoSided = false; + hasChanged = false; + validCache = false; +} + +ofxAssimpMeshHelper::~ofxAssimpMeshHelper() { + // +} diff --git a/addons/ofxAssimpModelLoader/src/ofxAssimpMeshHelper.h b/addons/ofxAssimpModelLoader/src/ofxAssimpMeshHelper.h index 50d88ae07af..264c6c6afbe 100644 --- a/addons/ofxAssimpModelLoader/src/ofxAssimpMeshHelper.h +++ b/addons/ofxAssimpModelLoader/src/ofxAssimpMeshHelper.h @@ -1,26 +1,29 @@ +// +// ofxAssimpMeshHelper.h +// Created by Lukasz Karluk on 4/12/12. +// -#include "aiMesh.h" -#include "ofVbo.h" -#include "ofMaterial.h" +#pragma once +#include "ofMain.h" +#include "assimp.h" -class ofxAssimpMeshHelper{ - public: - ofxAssimpMeshHelper(){ - cout << "mesh helper cons"<< endl; - } - - // pointer to the aiMesh we represent. - aiMesh* mesh; +class aiMesh; + +class ofxAssimpMeshHelper { + +public: + + ofxAssimpMeshHelper(); + ~ofxAssimpMeshHelper(); - // VBOs + aiMesh * mesh; // pointer to the aiMesh we represent. + ofVbo vbo; - // texture ofTexture texture; vector indices; - // Material ofMaterial material; ofBlendMode blendMode; @@ -28,9 +31,11 @@ class ofxAssimpMeshHelper{ bool twoSided; bool hasChanged; - std::vector animatedPos; - std::vector animatedNorm; + vector animatedPos; + vector animatedNorm; ofMesh cachedMesh; bool validCache; + + ofMatrix4x4 matrix; }; diff --git a/addons/ofxAssimpModelLoader/src/ofxAssimpModelLoader.cpp b/addons/ofxAssimpModelLoader/src/ofxAssimpModelLoader.cpp index 03c0381b464..aa161b98829 100644 --- a/addons/ofxAssimpModelLoader/src/ofxAssimpModelLoader.cpp +++ b/addons/ofxAssimpModelLoader/src/ofxAssimpModelLoader.cpp @@ -1,194 +1,45 @@ #include "ofxAssimpModelLoader.h" +#include "ofxAssimpUtils.h" +#include "assimp.h" +#include "aiScene.h" #include "aiConfig.h" #include "aiPostProcess.h" -#include - -//-------------------------------------------------------------- -static inline ofFloatColor aiColorToOfColor(const aiColor4D& c){ - return ofFloatColor(c.r,c.g,c.b,c.a); -} - -//-------------------------------------------------------------- -static inline ofFloatColor aiColorToOfColor(const aiColor3D& c){ - return ofFloatColor(c.r,c.g,c.b,1); -} - -//-------------------------------------------------------------- -static inline ofVec3f aiVecToOfVec(const aiVector3D& v){ - return ofVec3f(v.x,v.y,v.z); -} - -static inline vector aiVecVecToOfVecVec(const vector& v){ - vector ofv(v.size()); - if(sizeof(aiVector3D)==sizeof(ofVec3f)){ - memcpy(&ofv[0],&v[0],v.size()*sizeof(ofVec3f)); - }else{ - for(int i=0;i<(int)v.size();i++){ - ofv[i]=aiVecToOfVec(v[i]); - } - } - return ofv; -} - -//-------------------------------------------------------------- -static void aiMeshToOfMesh(const aiMesh* aim, ofMesh& ofm, ofxAssimpMeshHelper * helper = NULL){ - - // default to triangle mode - ofm.setMode(OF_PRIMITIVE_TRIANGLES); - - // copy vertices - for (int i=0; i < (int)aim->mNumVertices;i++){ - ofm.addVertex(ofVec3f(aim->mVertices[i].x,aim->mVertices[i].y,aim->mVertices[i].z)); - } - - if(aim->HasNormals()){ - for (int i=0; i < (int)aim->mNumVertices;i++){ - ofm.addNormal(ofVec3f(aim->mNormals[i].x,aim->mNormals[i].y,aim->mNormals[i].z)); - } - } - - // aiVector3D * mTextureCoords [AI_MAX_NUMBER_OF_TEXTURECOORDS] - // just one for now - if(aim->GetNumUVChannels()>0){ - for (int i=0; i < (int)aim->mNumVertices;i++){ - if( helper != NULL && helper->texture.getWidth() > 0.0 ){ - ofVec2f texCoord = helper->texture.getCoordFromPercent(aim->mTextureCoords[0][i].x ,aim->mTextureCoords[0][i].y); - ofm.addTexCoord(texCoord); - }else{ - ofm.addTexCoord(ofVec2f(aim->mTextureCoords[0][i].x ,aim->mTextureCoords[0][i].y)); - } - } - } - - //aiColor4D * mColors [AI_MAX_NUMBER_OF_COLOR_SETS] - // just one for now - if(aim->GetNumColorChannels()>0){ - for (int i=0; i < (int)aim->mNumVertices;i++){ - ofm.addColor(aiColorToOfColor(aim->mColors[0][i])); - } - } - - for (int i=0; i <(int) aim->mNumFaces;i++){ - if(aim->mFaces[i].mNumIndices>3){ - ofLog(OF_LOG_WARNING,"non-triangular face found: model face # " + ofToString(i)); - } - for (int j=0; j<(int)aim->mFaces[i].mNumIndices; j++){ - ofm.addIndex(aim->mFaces[i].mIndices[j]); - } - } - - ofm.setName(string(aim->mName.data)); - // ofm.materialId = aim->mMaterialIndex; -} - -//-------------------------------------------------------------- -static void aiMatrix4x4ToOfMatrix4x4(const aiMatrix4x4& aim, ofNode& ofm){ - float m[16] = { aim.a1,aim.a2,aim.a3,aim.a4, - aim.b1,aim.b2,aim.b3,aim.b4, - aim.c1,aim.c2,aim.c3,aim.c4, - aim.d1,aim.d2,aim.d3,aim.d4 }; - - ofm.setTransformMatrix( m); -} -/* -//-------------------------------------------------------------- -static void aiNodeToOfNode(const aiNode* ain, ofNode& ofn, const ofModel& model){ - aiMatrix4x4ToOfMatrix4x4(ain->mTransformation, ofn); -// for (int i =0; i < (int)ain->mNumMeshes;i++){ -// ofn.addMesh(model.meshes.at(ain->mMeshes[i])); -// } -// ofn.setName(string(ain->mName.data)); -} - -//-------------------------------------------------------------- -static int createNodes(const aiNode* curNode, ofModel& model){ - //lets only make nodes that have meshes for now - if(curNode->mNumMeshes){ - model.nodes.push_back(ofNode()); - aiNodeToOfNode(curNode, model.nodes.back(), model); - } - - if (curNode->mNumChildren>0){ - for (int i =0; i<(int)curNode->mNumChildren;i++){ - createNodes(curNode->mChildren[i], model); - } - }else return 0; - -#warning "this is returning nothing ig nNumChildren i>0 fix it" -} - -//-------------------------------------------------------------- -void createBones(const aiScene* scene, ofModel& model){ - for (int i =0; i < (int)scene->mNumMeshes;i++){ - aiMesh& curMesh = *scene->mMeshes[i]; - if(curMesh.HasBones()){ - for (int j=0; j < (int)curMesh.mNumBones;j++){ - aiNode* boneNode = scene->mRootNode->FindNode(curMesh.mBones[j]->mName); - } - } - } -}*/ - ofxAssimpModelLoader::ofxAssimpModelLoader(){ scene = NULL; clear(); } +ofxAssimpModelLoader::~ofxAssimpModelLoader(){ + // +} + //------------------------------------------ bool ofxAssimpModelLoader::loadModel(string modelName, bool optimize){ - normalizeFactor = ofGetWidth() / 2.0; - - // if we have a model loaded, unload the fucker. - if(scene != NULL){ - clear(); + file.open(modelName); + if(!file.exists()) { + ofLog(OF_LOG_VERBOSE, "%s is not found.", modelName.c_str()); + return false; } - - // Load our new path. - filepath = modelName; - string filepath = ofToDataPath(modelName); - - //theo added - so we can have models and their textures in sub folders - modelFolder = ofFilePath::getEnclosingDirectory(filepath); - - ofLog(OF_LOG_VERBOSE, "loading model %s", filepath.c_str()); - ofLog(OF_LOG_VERBOSE, "loading from folder %s", modelFolder.c_str()); - - // only ever give us triangles. - aiSetImportPropertyInteger(AI_CONFIG_PP_SBP_REMOVE, aiPrimitiveType_LINE | aiPrimitiveType_POINT ); - aiSetImportPropertyInteger(AI_CONFIG_PP_PTV_NORMALIZE, true); - - // aiProcess_FlipUVs is for VAR code. Not needed otherwise. Not sure why. - unsigned int flags = aiProcessPreset_TargetRealtime_MaxQuality | aiProcess_Triangulate | aiProcess_FlipUVs; - if(optimize) flags |= aiProcess_ImproveCacheLocality | aiProcess_OptimizeGraph | - aiProcess_OptimizeMeshes | aiProcess_JoinIdenticalVertices | - aiProcess_RemoveRedundantMaterials; - - scene = aiImportFile(filepath.c_str(), flags); - - if(scene){ - calculateDimensions(); - loadGLResources(); - - if(getAnimationCount()) - ofLog(OF_LOG_VERBOSE, "scene has animations"); - else { - ofLog(OF_LOG_VERBOSE, "no animations"); - - } - return true; - }else{ - ofLog(OF_LOG_ERROR,string("ofxAssimpModelLoader: ") + aiGetErrorString()); - return false; - } + ofLog(OF_LOG_VERBOSE, "loading model %s", file.getFileName().c_str()); + ofLog(OF_LOG_VERBOSE, "loading from folder %s", file.getEnclosingDirectory().c_str()); + + ofBuffer buffer = file.readToBuffer(); + + bool bOk = loadModel(buffer, optimize, file.getExtension().c_str()); + return bOk; } //------------------------------------------- bool ofxAssimpModelLoader::loadModel(ofBuffer & buffer, bool optimize, const char * extension){ normalizeFactor = ofGetWidth() / 2.0; - + + if(scene != NULL){ + clear(); + } + // only ever give us triangles. aiSetImportPropertyInteger(AI_CONFIG_PP_SBP_REMOVE, aiPrimitiveType_LINE | aiPrimitiveType_POINT ); aiSetImportPropertyInteger(AI_CONFIG_PP_PTV_NORMALIZE, true); @@ -199,13 +50,12 @@ bool ofxAssimpModelLoader::loadModel(ofBuffer & buffer, bool optimize, const cha aiProcess_OptimizeMeshes | aiProcess_JoinIdenticalVertices | aiProcess_RemoveRedundantMaterials; - if(scene){ - clear(); - } scene = aiImportFileFromMemory(buffer.getBinaryBuffer(), buffer.size(), flags, extension); + if(scene){ calculateDimensions(); loadGLResources(); + update(); if(getAnimationCount()) ofLog(OF_LOG_VERBOSE, "scene has animations"); @@ -218,7 +68,6 @@ bool ofxAssimpModelLoader::loadModel(ofBuffer & buffer, bool optimize, const cha ofLog(OF_LOG_ERROR,string("ofxAssimpModelLoader: ") + aiGetErrorString()); return false; } - } //------------------------------------------- @@ -250,6 +99,8 @@ void ofxAssimpModelLoader::calculateDimensions(){ normalizedScale = MAX(scene_max.z - scene_min.z,normalizedScale); normalizedScale = 1.f / normalizedScale; normalizedScale *= normalizeFactor; + + updateModelMatrix(); } //------------------------------------------- @@ -347,12 +198,12 @@ void ofxAssimpModelLoader::loadGLResources(){ // TODO: handle other aiTextureTypes if(AI_SUCCESS == mtl->GetTexture(aiTextureType_DIFFUSE, texIndex, &texPath)){ ofLog(OF_LOG_VERBOSE, "loading image from %s", texPath.data); - string modelFolder = ofFilePath::getEnclosingDirectory(filepath,false); + string modelFolder = file.getEnclosingDirectory(); string relTexPath = ofFilePath::getEnclosingDirectory(texPath.data,false); string texFile = ofFilePath::getFileName(texPath.data); string realPath = modelFolder + relTexPath + texFile; if(!ofFile::doesFileExist(realPath) || !ofLoadImage(meshHelper.texture,realPath)) { - ofLog(OF_LOG_ERROR,string("error loading image ") + filepath + " " +realPath); + ofLog(OF_LOG_ERROR,string("error loading image ") + file.getFileName() + " " +realPath); }else{ ofLog(OF_LOG_VERBOSE, "texture width: %f height %f", meshHelper.texture.getWidth(), meshHelper.texture.getHeight()); } @@ -404,12 +255,14 @@ void ofxAssimpModelLoader::loadGLResources(){ meshHelper.vbo.setIndexData(&meshHelper.indices[0],meshHelper.indices.size(),GL_STATIC_DRAW); modelMeshes.push_back(meshHelper); } - - animationTime = -1; - setNormalizedTime(0); + + int numOfAnimations = scene->mNumAnimations; + for(int i=0; imAnimations[i]; + animations.push_back(ofxAssimpAnimation(scene, animation)); + } ofLog(OF_LOG_VERBOSE, "finished loading gl resources"); - } //------------------------------------------- @@ -419,15 +272,13 @@ void ofxAssimpModelLoader::clear(){ // clear out everything. modelMeshes.clear(); + animations.clear(); pos.set(0,0,0); scale.set(1,1,1); rotAngle.clear(); rotAxis.clear(); lights.clear(); - lastAnimationTime = 0; - currentAnimation = 0; - animationTime = 0; scale = ofPoint(1, 1, 1); if(scene){ aiReleaseImport(scene); @@ -438,12 +289,240 @@ void ofxAssimpModelLoader::clear(){ bUsingNormals = true; bUsingTextures = true; bUsingColors = true; + + currentAnimation = -1; + + updateModelMatrix(); +} + +//------------------------------------------- update. +void ofxAssimpModelLoader::update() { + updateAnimations(); + updateMeshes(scene->mRootNode, ofMatrix4x4()); + if(hasAnimations() == false) { + return; + } + updateBones(); + updateGLResources(); } -//------------------------------------------- -ofxAssimpModelLoader::~ofxAssimpModelLoader(){ +void ofxAssimpModelLoader::updateAnimations() { + for(int i=0; imTransformation; + m.Transpose(); + ofMatrix4x4 matrix(m.a1, m.a2, m.a3, m.a4, + m.b1, m.b2, m.b3, m.b4, + m.c1, m.c2, m.c3, m.c4, + m.d1, m.d2, m.d3, m.d4); + matrix *= parentMatrix; + + for(int i=0; imNumMeshes; i++) { + int meshIndex = node->mMeshes[i]; + ofxAssimpMeshHelper & mesh = modelMeshes[meshIndex]; + mesh.matrix = matrix; + } + + for(int i=0; imNumChildren; i++) { + updateMeshes(node->mChildren[i], matrix); + } +} + +void ofxAssimpModelLoader::updateBones() { + // update mesh position for the animation + for(int i=0; i boneMatrices(mesh->mNumBones); + for(int a=0; amNumBones; ++a) { + const aiBone* bone = mesh->mBones[a]; + + // find the corresponding node by again looking recursively through the node hierarchy for the same name + aiNode* node = scene->mRootNode->FindNode(bone->mName); + + // start with the mesh-to-bone matrix + boneMatrices[a] = bone->mOffsetMatrix; + // and now append all node transformations down the parent chain until we're back at mesh coordinates again + const aiNode* tempNode = node; + while(tempNode) { + // check your matrix multiplication order here!!! + boneMatrices[a] = tempNode->mTransformation * boneMatrices[a]; + // boneMatrices[a] = boneMatrices[a] * tempNode->mTransformation; + tempNode = tempNode->mParent; + } + modelMeshes[i].hasChanged = true; + modelMeshes[i].validCache = false; + } + + modelMeshes[i].animatedPos.assign(modelMeshes[i].animatedPos.size(),0); + if(mesh->HasNormals()){ + modelMeshes[i].animatedNorm.assign(modelMeshes[i].animatedNorm.size(),0); + } + // loop through all vertex weights of all bones + for(int a=0; amNumBones; ++a) { + const aiBone* bone = mesh->mBones[a]; + const aiMatrix4x4& posTrafo = boneMatrices[a]; + + for(int b=0; bmNumWeights; ++b) { + const aiVertexWeight& weight = bone->mWeights[b]; + + size_t vertexId = weight.mVertexId; + const aiVector3D& srcPos = mesh->mVertices[vertexId]; + + modelMeshes[i].animatedPos[vertexId] += weight.mWeight * (posTrafo * srcPos); + } + if(mesh->HasNormals()){ + // 3x3 matrix, contains the bone matrix without the translation, only with rotation and possibly scaling + aiMatrix3x3 normTrafo = aiMatrix3x3( posTrafo); + for(int b=0; bmNumWeights; ++b) { + const aiVertexWeight& weight = bone->mWeights[b]; + size_t vertexId = weight.mVertexId; + + const aiVector3D& srcNorm = mesh->mNormals[vertexId]; + modelMeshes[i].animatedNorm[vertexId] += weight.mWeight * (normTrafo * srcNorm); + } + } + } + } +} + +void ofxAssimpModelLoader::updateGLResources(){ + // now upload the result position and normal along with the other vertex attributes into a dynamic vertex buffer, VBO or whatever + for (unsigned int i = 0; i < modelMeshes.size(); ++i){ + if(modelMeshes[i].hasChanged){ + const aiMesh* mesh = modelMeshes[i].mesh; + modelMeshes[i].vbo.updateVertexData(&modelMeshes[i].animatedPos[0].x,mesh->mNumVertices); + if(mesh->HasNormals()){ + modelMeshes[i].vbo.updateNormalData(&modelMeshes[i].animatedNorm[0].x,mesh->mNumVertices); + } + modelMeshes[i].hasChanged = false; + } + } } +void ofxAssimpModelLoader::updateModelMatrix() { + modelMatrix.makeIdentityMatrix(); + modelMatrix.glTranslate(pos); + modelMatrix.glRotate(180, 0, 0, 1); + if(normalizeScale) { + modelMatrix.glScale(normalizedScale , normalizedScale, normalizedScale); + } + for(int i = 0; i < (int)rotAngle.size(); i++){ // @julapy - not sure why rotAngle isn't a ofVec4f. + modelMatrix.glRotate(rotAngle[i], rotAxis[i].x, rotAxis[i].y, rotAxis[i].z); + } + modelMatrix.glScale(scale.x, scale.y, scale.z); +} + +//------------------------------------------- animations. +bool ofxAssimpModelLoader::hasAnimations() { + return animations.size() > 0; +} + +unsigned int ofxAssimpModelLoader::getAnimationCount(){ + return animations.size(); +} + +ofxAssimpAnimation & ofxAssimpModelLoader::getAnimation(int animationIndex) { + animationIndex = ofClamp(animationIndex, 0, animations.size()-1); + return animations[animationIndex]; +} + +void ofxAssimpModelLoader::playAllAnimations() { + for(int i=0; i 0; +} + +unsigned int ofxAssimpModelLoader::getMeshCount() { + return modelMeshes.size(); +} + +ofxAssimpMeshHelper & ofxAssimpModelLoader::getMeshHelper(int meshIndex) { + meshIndex = ofClamp(meshIndex, 0, modelMeshes.size()-1); + return modelMeshes[meshIndex]; +} //------------------------------------------- void ofxAssimpModelLoader::getBoundingBoxWithMinVector(struct aiVector3D* min, struct aiVector3D* max) @@ -490,59 +569,13 @@ void ofxAssimpModelLoader::getBoundingBoxForNode(const struct aiNode* nd, struc *trafo = prev; } -//------------------------------------------- -unsigned int ofxAssimpModelLoader::getAnimationCount(){ - if(scene) - return scene->mNumAnimations; - else { - ofLog(OF_LOG_WARNING, "No Model Loaded"); - return 0; - } - -} - -//------------------------------------------- -void ofxAssimpModelLoader::setAnimation(int anim){ - currentAnimation = MIN(anim, (int)scene->mNumAnimations); -} - -//------------------------------------------- -float ofxAssimpModelLoader::getDuration(int animation){ - const aiAnimation* anim = scene->mAnimations[animation]; - return anim->mDuration; -} - - -//------------------------------------------- -void ofxAssimpModelLoader::setNormalizedTime(float t){ // 0 - 1 - - if(getAnimationCount()) - { - - const aiAnimation* anim = scene->mAnimations[currentAnimation]; - float realT = ofMap(t, 0.0, 1.0, 0.0, (float)anim->mDuration, false); - - setTime(realT); - } -} - -void ofxAssimpModelLoader::setTime(float t){ // 0 - 1 - if(getAnimationCount()){ - - // only evaluate if we have a delta t. - if(animationTime != t){ - animationTime = t; - updateAnimation(currentAnimation, animationTime); - } - } -} - - //------------------------------------------- void ofxAssimpModelLoader::setPosition(float x, float y, float z){ pos.x = x; pos.y = y; pos.z = z; + + updateModelMatrix(); } //------------------------------------------- @@ -550,14 +583,16 @@ void ofxAssimpModelLoader::setScale(float x, float y, float z){ scale.x = x; scale.y = y; scale.z = z; + + updateModelMatrix(); } //------------------------------------------- -void ofxAssimpModelLoader::setScaleNomalization(bool normalize) -{ +void ofxAssimpModelLoader::setScaleNomalization(bool normalize) { normalizeScale = normalize; -} + updateModelMatrix(); +} //------------------------------------------- void ofxAssimpModelLoader::setRotation(int which, float angle, float rot_x, float rot_y, float rot_z){ @@ -573,194 +608,10 @@ void ofxAssimpModelLoader::setRotation(int which, float angle, float rot_x, floa rotAxis[which].x = rot_x; rotAxis[which].y = rot_y; rotAxis[which].z = rot_z; -} - -//------------------------------------------- -void ofxAssimpModelLoader::updateAnimation(unsigned int animationIndex, float currentTime){ - - const aiAnimation* mAnim = scene->mAnimations[animationIndex]; - - // calculate the transformations for each animation channel - for( unsigned int a = 0; a < mAnim->mNumChannels; a++) - { - const aiNodeAnim* channel = mAnim->mChannels[a]; - - aiNode* targetNode = scene->mRootNode->FindNode(channel->mNodeName); - - // ******** Position ***** - aiVector3D presentPosition( 0, 0, 0); - if( channel->mNumPositionKeys > 0) - { - // Look for present frame number. Search from last position if time is after the last time, else from beginning - // Should be much quicker than always looking from start for the average use case. - unsigned int frame = 0;// (currentTime >= lastAnimationTime) ? lastFramePositionIndex : 0; - while( frame < channel->mNumPositionKeys - 1) - { - if( currentTime < channel->mPositionKeys[frame+1].mTime) - break; - frame++; - } - - // interpolate between this frame's value and next frame's value - unsigned int nextFrame = (frame + 1) % channel->mNumPositionKeys; - const aiVectorKey& key = channel->mPositionKeys[frame]; - const aiVectorKey& nextKey = channel->mPositionKeys[nextFrame]; - double diffTime = nextKey.mTime - key.mTime; - if( diffTime < 0.0) - diffTime += mAnim->mDuration; - if( diffTime > 0) - { - float factor = float( (currentTime - key.mTime) / diffTime); - presentPosition = key.mValue + (nextKey.mValue - key.mValue) * factor; - } else - { - presentPosition = key.mValue; - } - } - - // ******** Rotation ********* - aiQuaternion presentRotation( 1, 0, 0, 0); - if( channel->mNumRotationKeys > 0) - { - unsigned int frame = 0;//(currentTime >= lastAnimationTime) ? lastFrameRotationIndex : 0; - while( frame < channel->mNumRotationKeys - 1) - { - if( currentTime < channel->mRotationKeys[frame+1].mTime) - break; - frame++; - } - - // interpolate between this frame's value and next frame's value - unsigned int nextFrame = (frame + 1) % channel->mNumRotationKeys; - const aiQuatKey& key = channel->mRotationKeys[frame]; - const aiQuatKey& nextKey = channel->mRotationKeys[nextFrame]; - double diffTime = nextKey.mTime - key.mTime; - if( diffTime < 0.0) - diffTime += mAnim->mDuration; - if( diffTime > 0) - { - float factor = float( (currentTime - key.mTime) / diffTime); - aiQuaternion::Interpolate( presentRotation, key.mValue, nextKey.mValue, factor); - } else - { - presentRotation = key.mValue; - } - } - - // ******** Scaling ********** - aiVector3D presentScaling( 1, 1, 1); - if( channel->mNumScalingKeys > 0) - { - unsigned int frame = 0;//(currentTime >= lastAnimationTime) ? lastFrameScaleIndex : 0; - while( frame < channel->mNumScalingKeys - 1) - { - if( currentTime < channel->mScalingKeys[frame+1].mTime) - break; - frame++; - } - - // TODO: (thom) interpolation maybe? This time maybe even logarithmic, not linear - presentScaling = channel->mScalingKeys[frame].mValue; - } - - // build a transformation matrix from it - //aiMatrix4x4& mat;// = mTransforms[a]; - aiMatrix4x4 mat = aiMatrix4x4( presentRotation.GetMatrix()); - mat.a1 *= presentScaling.x; mat.b1 *= presentScaling.x; mat.c1 *= presentScaling.x; - mat.a2 *= presentScaling.y; mat.b2 *= presentScaling.y; mat.c2 *= presentScaling.y; - mat.a3 *= presentScaling.z; mat.b3 *= presentScaling.z; mat.c3 *= presentScaling.z; - mat.a4 = presentPosition.x; mat.b4 = presentPosition.y; mat.c4 = presentPosition.z; - //mat.Transpose(); - targetNode->mTransformation = mat; - - } - - lastAnimationTime = currentTime; - - // update mesh position for the animation - for (unsigned int i = 0; i < modelMeshes.size(); ++i){ - - // current mesh we are introspecting - const aiMesh* mesh = modelMeshes[i].mesh; - - // calculate bone matrices - std::vector boneMatrices( mesh->mNumBones); - for( size_t a = 0; a < mesh->mNumBones; ++a) - { - const aiBone* bone = mesh->mBones[a]; - - // find the corresponding node by again looking recursively through the node hierarchy for the same name - aiNode* node = scene->mRootNode->FindNode(bone->mName); - - // start with the mesh-to-bone matrix - boneMatrices[a] = bone->mOffsetMatrix; - // and now append all node transformations down the parent chain until we're back at mesh coordinates again - const aiNode* tempNode = node; - while( tempNode) - { - // check your matrix multiplication order here!!! - boneMatrices[a] = tempNode->mTransformation * boneMatrices[a]; - // boneMatrices[a] = boneMatrices[a] * tempNode->mTransformation; - tempNode = tempNode->mParent; - } - modelMeshes[i].hasChanged = true; - modelMeshes[i].validCache = false; - } - - modelMeshes[i].animatedPos.assign(modelMeshes[i].animatedPos.size(),0); - if(mesh->HasNormals()){ - modelMeshes[i].animatedNorm.assign(modelMeshes[i].animatedNorm.size(),0); - } - // loop through all vertex weights of all bones - for( size_t a = 0; a < mesh->mNumBones; ++a) - { - const aiBone* bone = mesh->mBones[a]; - const aiMatrix4x4& posTrafo = boneMatrices[a]; - - - for( size_t b = 0; b < bone->mNumWeights; ++b) - { - const aiVertexWeight& weight = bone->mWeights[b]; - - size_t vertexId = weight.mVertexId; - const aiVector3D& srcPos = mesh->mVertices[vertexId]; - - modelMeshes[i].animatedPos[vertexId] += weight.mWeight * (posTrafo * srcPos); - } - if(mesh->HasNormals()){ - // 3x3 matrix, contains the bone matrix without the translation, only with rotation and possibly scaling - aiMatrix3x3 normTrafo = aiMatrix3x3( posTrafo); - for( size_t b = 0; b < bone->mNumWeights; ++b) - { - const aiVertexWeight& weight = bone->mWeights[b]; - size_t vertexId = weight.mVertexId; - - const aiVector3D& srcNorm = mesh->mNormals[vertexId]; - modelMeshes[i].animatedNorm[vertexId] += weight.mWeight * (normTrafo * srcNorm); - - } - } - } - } + updateModelMatrix(); } -//------------------------------------------- -void ofxAssimpModelLoader::updateGLResources(){ - // now upload the result position and normal along with the other vertex attributes into a dynamic vertex buffer, VBO or whatever - for (unsigned int i = 0; i < modelMeshes.size(); ++i){ - if(modelMeshes[i].hasChanged){ - const aiMesh* mesh = modelMeshes[i].mesh; - modelMeshes[i].vbo.updateVertexData(&modelMeshes[i].animatedPos[0].x,mesh->mNumVertices); - if(mesh->HasNormals()){ - modelMeshes[i].vbo.updateNormalData(&modelMeshes[i].animatedNorm[0].x,mesh->mNumVertices); - } - modelMeshes[i].hasChanged = false; - } - } -} - - //-------------------------------------------------------------- void ofxAssimpModelLoader::drawWireframe(){ draw(OF_MESH_WIREFRAME); @@ -778,97 +629,79 @@ void ofxAssimpModelLoader::drawVertices(){ //------------------------------------------- -void ofxAssimpModelLoader::draw(ofPolyRenderMode renderType) -{ - if(scene){ - - ofPushStyle(); - +void ofxAssimpModelLoader::draw(ofPolyRenderMode renderType) { + if(scene == NULL) { + return; + } + + ofPushStyle(); + #ifndef TARGET_OPENGLES - glPushAttrib(GL_ALL_ATTRIB_BITS); - glPushClientAttrib(GL_CLIENT_ALL_ATTRIB_BITS); - glPolygonMode(GL_FRONT_AND_BACK, ofGetGLPolyMode(renderType)); + glPushAttrib(GL_ALL_ATTRIB_BITS); + glPushClientAttrib(GL_CLIENT_ALL_ATTRIB_BITS); + glPolygonMode(GL_FRONT_AND_BACK, ofGetGLPolyMode(renderType)); #endif - glEnable(GL_NORMALIZE); - + glEnable(GL_NORMALIZE); + + ofPushMatrix(); + ofMultMatrix(modelMatrix); + + for(int i=0; i getMeshNames(); - int getNumMeshes(); + int getNumMeshes(); - ofMesh getMesh(string name); - ofMesh getMesh(int num); + ofMesh getMesh(string name); + ofMesh getMesh(int num); - ofMesh getCurrentAnimatedMesh(string name); - ofMesh getCurrentAnimatedMesh(int num); + ofMesh getCurrentAnimatedMesh(string name); + ofMesh getCurrentAnimatedMesh(int num); - ofMaterial getMaterialForMesh(string name); - ofMaterial getMaterialForMesh(int num); + ofMaterial getMaterialForMesh(string name); + ofMaterial getMaterialForMesh(int num); - ofTexture getTextureForMesh(string name); - ofTexture getTextureForMesh(int num); + ofTexture getTextureForMesh(string name); + ofTexture getTextureForMesh(int num); - void drawWireframe(); - void drawFaces(); - void drawVertices(); + void drawWireframe(); + void drawFaces(); + void drawVertices(); - void enableTextures(); - void disableTextures(); - void enableNormals(); - void enableMaterials(); - void disableNormals(); - void enableColors(); - void disableColors(); - void disableMaterials(); + void enableTextures(); + void disableTextures(); + void enableNormals(); + void enableMaterials(); + void disableNormals(); + void enableColors(); + void disableColors(); + void disableMaterials(); - void draw(ofPolyRenderMode renderType); + void draw(ofPolyRenderMode renderType); - ofPoint getPosition(); - ofPoint getSceneCenter(); - float getNormalizedScale(); - ofPoint getScale(); - - ofPoint getSceneMin(bool bScaled = false); - ofPoint getSceneMax(bool bScaled = false); + ofPoint getPosition(); + ofPoint getSceneCenter(); + float getNormalizedScale(); + ofPoint getScale(); + ofMatrix4x4 getModelMatrix(); + + ofPoint getSceneMin(bool bScaled = false); + ofPoint getSceneMax(bool bScaled = false); - int getNumRotations(); // returns the no. of applied rotations - ofPoint getRotationAxis(int which); // gets each rotation axis - float getRotationAngle(int which); //gets each rotation angle + int getNumRotations(); // returns the no. of applied rotations + ofPoint getRotationAxis(int which); // gets each rotation axis + float getRotationAngle(int which); //gets each rotation angle - void calculateDimensions(); + void calculateDimensions(); - const aiScene* getAssimpScene(); - + const aiScene * getAssimpScene(); protected: + + void updateAnimations(); + void updateMeshes(aiNode * node, ofMatrix4x4 parentMatrix); + void updateBones(); + void updateModelMatrix(); + // the main Asset Import scene that does the magic. - const aiScene* scene; + const aiScene * scene; // Initial VBO creation, etc void loadGLResources(); @@ -113,33 +132,28 @@ class ofxAssimpModelLoader{ void getBoundingBoxWithMinVector(struct aiVector3D* min, struct aiVector3D* max); void getBoundingBoxForNode(const struct aiNode* nd, struct aiVector3D* min, struct aiVector3D* max, struct aiMatrix4x4* trafo); - - bool hasAnimations; - int currentAnimation; - - float animationTime; - - string modelFolder; + ofFile file; - // for interpolating between keyframes. - float lastAnimationTime; + aiVector3D scene_min, scene_max, scene_center; bool normalizeScale; - - // TODO: make this return an of - aiVector3D scene_min, scene_max, scene_center; double normalizedScale; - vector rotAngle; - vector rotAxis; + vector rotAngle; + vector rotAxis; ofPoint scale; ofPoint pos; - string filepath; + ofMatrix4x4 modelMatrix; vector lights; - vector modelMeshes; - - bool bUsingTextures, bUsingNormals, bUsingColors, bUsingMaterials; + vector modelMeshes; + vector animations; + int currentAnimation; // DEPRECATED - to be removed with deprecated animation functions. + + bool bUsingTextures; + bool bUsingNormals; + bool bUsingColors; + bool bUsingMaterials; float normalizeFactor; }; diff --git a/addons/ofxAssimpModelLoader/src/ofxAssimpUtils.h b/addons/ofxAssimpModelLoader/src/ofxAssimpUtils.h new file mode 100644 index 00000000000..a1e0150fc79 --- /dev/null +++ b/addons/ofxAssimpModelLoader/src/ofxAssimpUtils.h @@ -0,0 +1,99 @@ +// +// ofxAssimpUtils.h +// Created by Lukasz Karluk on 4/12/12. +// +// + +#pragma once + +#include "ofMain.h" +#include "ofxAssimpMeshHelper.h" +#include "assimp.h" +#include "aiMesh.h" + +//-------------------------------------------------------------- +static inline ofFloatColor aiColorToOfColor(const aiColor4D& c){ + return ofFloatColor(c.r,c.g,c.b,c.a); +} + +//-------------------------------------------------------------- +static inline ofFloatColor aiColorToOfColor(const aiColor3D& c){ + return ofFloatColor(c.r,c.g,c.b,1); +} + +//-------------------------------------------------------------- +static inline ofVec3f aiVecToOfVec(const aiVector3D& v){ + return ofVec3f(v.x,v.y,v.z); +} + +static inline vector aiVecVecToOfVecVec(const vector& v){ + vector ofv(v.size()); + if(sizeof(aiVector3D)==sizeof(ofVec3f)){ + memcpy(&ofv[0],&v[0],v.size()*sizeof(ofVec3f)); + }else{ + for(int i=0;i<(int)v.size();i++){ + ofv[i]=aiVecToOfVec(v[i]); + } + } + return ofv; +} + +//-------------------------------------------------------------- +static void aiMeshToOfMesh(const aiMesh* aim, ofMesh& ofm, ofxAssimpMeshHelper * helper = NULL){ + + // default to triangle mode + ofm.setMode(OF_PRIMITIVE_TRIANGLES); + + // copy vertices + for (int i=0; i < (int)aim->mNumVertices;i++){ + ofm.addVertex(ofVec3f(aim->mVertices[i].x,aim->mVertices[i].y,aim->mVertices[i].z)); + } + + if(aim->HasNormals()){ + for (int i=0; i < (int)aim->mNumVertices;i++){ + ofm.addNormal(ofVec3f(aim->mNormals[i].x,aim->mNormals[i].y,aim->mNormals[i].z)); + } + } + + // aiVector3D * mTextureCoords [AI_MAX_NUMBER_OF_TEXTURECOORDS] + // just one for now + if(aim->GetNumUVChannels()>0){ + for (int i=0; i < (int)aim->mNumVertices;i++){ + if( helper != NULL && helper->texture.getWidth() > 0.0 ){ + ofVec2f texCoord = helper->texture.getCoordFromPercent(aim->mTextureCoords[0][i].x ,aim->mTextureCoords[0][i].y); + ofm.addTexCoord(texCoord); + }else{ + ofm.addTexCoord(ofVec2f(aim->mTextureCoords[0][i].x ,aim->mTextureCoords[0][i].y)); + } + } + } + + //aiColor4D * mColors [AI_MAX_NUMBER_OF_COLOR_SETS] + // just one for now + if(aim->GetNumColorChannels()>0){ + for (int i=0; i < (int)aim->mNumVertices;i++){ + ofm.addColor(aiColorToOfColor(aim->mColors[0][i])); + } + } + + for (int i=0; i <(int) aim->mNumFaces;i++){ + if(aim->mFaces[i].mNumIndices>3){ + ofLog(OF_LOG_WARNING,"non-triangular face found: model face # " + ofToString(i)); + } + for (int j=0; j<(int)aim->mFaces[i].mNumIndices; j++){ + ofm.addIndex(aim->mFaces[i].mIndices[j]); + } + } + + ofm.setName(string(aim->mName.data)); +} + +//-------------------------------------------------------------- +static void aiMatrix4x4ToOfMatrix4x4(const aiMatrix4x4& aim, ofNode& ofm){ + float m[16] = { aim.a1,aim.a2,aim.a3,aim.a4, + aim.b1,aim.b2,aim.b3,aim.b4, + aim.c1,aim.c2,aim.c3,aim.c4, + aim.d1,aim.d2,aim.d3,aim.d4 }; + + ofm.setTransformMatrix( m); +} diff --git a/addons/ofxNetwork/src/ofxNetworkUtils.h b/addons/ofxNetwork/src/ofxNetworkUtils.h index 8a49b44dbfc..587919579c6 100644 --- a/addons/ofxNetwork/src/ofxNetworkUtils.h +++ b/addons/ofxNetwork/src/ofxNetworkUtils.h @@ -123,6 +123,9 @@ inline int ofxNetworkCheckErrno(const string & file, const string & line){ case EPIPE: ofLog(OF_LOG_ERROR,"ofxNetwork:"+file+": " +line+" EPIPE: This socket was connected but the connection is now broken."); break; + case EINVAL: + ofLog(OF_LOG_ERROR,"ofxNetwork:"+file+": " +line+" EINVAL: Invalid argument"); + break; case EAGAIN: //ofLog(OF_LOG_VERBOSE,"ofxNetwork:"+file+": " +line+" EAGAIN: try again"); break; diff --git a/addons/ofxNetwork/src/ofxTCPClient.cpp b/addons/ofxNetwork/src/ofxTCPClient.cpp index 6ca69335871..0be5d8e0263 100644 --- a/addons/ofxNetwork/src/ofxTCPClient.cpp +++ b/addons/ofxNetwork/src/ofxTCPClient.cpp @@ -127,6 +127,42 @@ bool ofxTCPClient::send(string message){ } } +bool ofxTCPClient::sendRawMsg(const char * msg, int size){ + + // tcp is a stream oriented protocol + // so there's no way to be sure were + // a message ends without using a terminator + // note that you will receive a trailing [/TCP]\0 + // if sending from here and receiving from receiveRaw or + // other applications + if(!connected){ + ofLog(OF_LOG_WARNING, "ofxTCPClient: trying to send while not connected"); + return false; + } + tmpBuffSend.append(msg,size); + tmpBuffSend.append(messageDelimiter.c_str(),messageDelimiter.size()); + + int ret = TCPClient.SendAll( tmpBuffSend.getBinaryBuffer(), tmpBuffSend.size() ); + if( ret == 0 ){ + ofLog(OF_LOG_WARNING, "ofxTCPClient: other side disconnected"); + close(); + return false; + }else if(ret<0){ + ofLog(OF_LOG_ERROR, "ofxTCPClient: sendAll() failed"); + return false; + }else if(ret0){ // don't copy the data if there was an error or disconnection + tmpBuffReceive.append(tmpBuff,length); + } + } + + // process any available data + int posDelimiter = findDelimiter(tmpBuffReceive.getBinaryBuffer(),tmpBuffReceive.size(),messageDelimiter); + if(posDelimiter>0){ + memcpy(receiveBuffer,tmpBuffReceive.getBinaryBuffer(),posDelimiter); + if(tmpBuffReceive.size()>posDelimiter+messageDelimiter.size()){ + memcpy(tmpBuff,tmpBuffReceive.getBinaryBuffer()+posDelimiter+messageDelimiter.size(),tmpBuffReceive.size()-(posDelimiter+messageDelimiter.size())); + tmpBuffReceive.set(tmpBuff,tmpBuffReceive.size()-(posDelimiter+messageDelimiter.size())); + }else{ + tmpBuffReceive.clear(); + } + } + + if(posDelimiter>0){ + return posDelimiter; + }else{ + return 0; + } +} + //-------------------------- int ofxTCPClient::receiveRawBytes(char * receiveBuffer, int numBytes){ messageSize = TCPClient.Receive(receiveBuffer, numBytes); diff --git a/addons/ofxNetwork/src/ofxTCPClient.h b/addons/ofxNetwork/src/ofxTCPClient.h index c08bed9b739..f12fd63fbdc 100644 --- a/addons/ofxNetwork/src/ofxTCPClient.h +++ b/addons/ofxNetwork/src/ofxTCPClient.h @@ -3,6 +3,7 @@ #include "ofConstants.h" #include "ofxTCPManager.h" +#include "ofFileUtils.h" #define TCP_MAX_MSG_SIZE 512 //#define STR_END_MSG "[/TCP]" @@ -39,6 +40,9 @@ class ofxTCPClient{ //send data as a string without the end message bool sendRaw(string message); + //same as send for binary messages + bool sendRawMsg(const char * msg, int size); + //the received message length in bytes int getNumReceivedBytes(); @@ -67,6 +71,11 @@ class ofxTCPClient{ //is at least as big as numBytes int receiveRawBytes(char * receiveBytes, int numBytes); + //same as receive for binary data + //pass in buffer to be filled - make sure the buffer + //is at least as big as numBytes + int receiveRawMsg(char * receiveBuffer, int numBytes); + bool isConnected(); int getPort(); @@ -83,6 +92,8 @@ class ofxTCPClient{ protected: char tmpBuff[TCP_MAX_MSG_SIZE+1]; + ofBuffer tmpBuffReceive; + ofBuffer tmpBuffSend; string str, tmpStr, ipAddr; int index, messageSize, port; bool connected; diff --git a/addons/ofxNetwork/src/ofxTCPManager.cpp b/addons/ofxNetwork/src/ofxTCPManager.cpp index a7e646d0fce..522cdec56e4 100644 --- a/addons/ofxNetwork/src/ofxTCPManager.cpp +++ b/addons/ofxNetwork/src/ofxTCPManager.cpp @@ -30,6 +30,7 @@ ofxTCPManager::ofxTCPManager() m_dwTimeoutReceive= OF_TCP_DEFAULT_TIMEOUT; m_dwTimeoutAccept= OF_TCP_DEFAULT_TIMEOUT; m_iListenPort= -1; + m_closing = false; }; //-------------------------------------------------------------------------------- @@ -42,12 +43,14 @@ bool ofxTCPManager::Close() #ifdef TARGET_WIN32 if(closesocket(m_hSocket) == SOCKET_ERROR) #else + m_closing = true; + shutdown(m_hSocket,SHUT_RDWR); if(close(m_hSocket) == SOCKET_ERROR) #endif - { - ofxNetworkCheckError(); - return(false); - } + { + ofxNetworkCheckError(); + return(false); + } m_hSocket= INVALID_SOCKET; @@ -69,6 +72,7 @@ void ofxTCPManager::CleanUp() { bool ofxTCPManager::Create() { if (m_hSocket != INVALID_SOCKET) return(false); + m_closing = false; m_hSocket = socket( AF_INET, SOCK_STREAM, IPPROTO_IP); @@ -132,7 +136,7 @@ bool ofxTCPManager::Accept(ofxTCPManager& sConnect) iSize= sizeof(sockaddr_in); sConnect.m_hSocket= accept(m_hSocket, (sockaddr*)&addr, &iSize); bool ret = (sConnect.m_hSocket != INVALID_SOCKET); - if(!ret) ofxNetworkCheckError(); + if(!ret && !m_closing) ofxNetworkCheckError(); return ret; } diff --git a/addons/ofxNetwork/src/ofxTCPManager.h b/addons/ofxNetwork/src/ofxTCPManager.h index 85b31c8e091..a46f6070e43 100644 --- a/addons/ofxNetwork/src/ofxTCPManager.h +++ b/addons/ofxNetwork/src/ofxTCPManager.h @@ -219,6 +219,7 @@ class ofxTCPManager unsigned long m_dwTimeoutAccept; bool nonBlocking; static bool m_bWinsockInit; + bool m_closing; }; diff --git a/addons/ofxNetwork/src/ofxTCPServer.cpp b/addons/ofxNetwork/src/ofxTCPServer.cpp index 4ca2a0e6230..2de71eaaf8e 100644 --- a/addons/ofxNetwork/src/ofxTCPServer.cpp +++ b/addons/ofxNetwork/src/ofxTCPServer.cpp @@ -57,14 +57,17 @@ bool ofxTCPServer::close(){ it->second.close(); } TCPConnections.clear(); - - stopThread(); //stop the thread + stopThread(); if( !TCPServer.Close() ){ ofLog(OF_LOG_WARNING, "ofxTCPServer: unable to close connection"); + + waitForThread(false); //stop the thread return false; }else{ connected = false; + + waitForThread(false); //stop the thread return true; } } @@ -149,6 +152,29 @@ bool ofxTCPServer::sendRawBytesToAll(const char * rawBytes, const int numBytes){ return true; } + +//-------------------------- +bool ofxTCPServer::sendRawMsg(int clientID, const char * rawBytes, const int numBytes){ + if( !isClientSetup(clientID) ){ + ofLog(OF_LOG_WARNING, "ofxTCPServer: client " + ofToString(clientID)+ " doesn't exist"); + return false; + } + else{ + return TCPConnections[clientID].sendRawMsg(rawBytes, numBytes); + } +} + +//-------------------------- +bool ofxTCPServer::sendRawMsgToAll(const char * rawBytes, const int numBytes){ + if(TCPConnections.size() == 0 || numBytes <= 0) return false; + + map::iterator it; + for(it=TCPConnections.begin(); it!=TCPConnections.end(); it++){ + if(it->second.isConnected())it->second.sendRawMsg(rawBytes, numBytes); + } + return true; +} + //-------------------------- int ofxTCPServer::getNumReceivedBytes(int clientID){ if( !isClientSetup(clientID) ){ @@ -169,6 +195,16 @@ int ofxTCPServer::receiveRawBytes(int clientID, char * receiveBytes, int numByt return TCPConnections[clientID].receiveRawBytes(receiveBytes, numBytes); } +//-------------------------- +int ofxTCPServer::receiveRawMsg(int clientID, char * receiveBytes, int numBytes){ + if( !isClientSetup(clientID) ){ + ofLog(OF_LOG_WARNING, "ofxTCPServer: client " + ofToString(clientID) + " doesn't exist"); + return 0; + } + + return TCPConnections[clientID].receiveRawMsg(receiveBytes, numBytes); +} + //-------------------------- int ofxTCPServer::getClientPort(int clientID){ if( !isClientSetup(clientID) ){ @@ -234,11 +270,11 @@ void ofxTCPServer::threadedFunction(){ } if( !TCPServer.Listen(TCP_MAX_CLIENTS) ){ - ofLog(OF_LOG_ERROR, "ofxTCPServer: Listen() failed"); + if(isThreadRunning()) ofLog(OF_LOG_ERROR, "ofxTCPServer: Listen() failed"); } if( !TCPServer.Accept(TCPConnections[acceptId].TCPClient) ){ - ofLog(OF_LOG_ERROR, "ofxTCPServer: Accept() failed\n"); + if(isThreadRunning()) ofLog(OF_LOG_ERROR, "ofxTCPServer: Accept() failed\n"); }else{ TCPConnections[acceptId].setup(acceptId, bClientBlocking); TCPConnections[acceptId].setMessageDelimiter(messageDelimiter); @@ -246,6 +282,7 @@ void ofxTCPServer::threadedFunction(){ if(acceptId == idCount) idCount++; } } + idCount = 0; ofLog(OF_LOG_VERBOSE, "ofxTCPServer: listen thread ended"); } diff --git a/addons/ofxNetwork/src/ofxTCPServer.h b/addons/ofxNetwork/src/ofxTCPServer.h index 766924cd2db..e9afb069acf 100644 --- a/addons/ofxNetwork/src/ofxTCPServer.h +++ b/addons/ofxNetwork/src/ofxTCPServer.h @@ -43,6 +43,11 @@ class ofxTCPServer : public ofThread{ bool send(int clientID, string message); bool sendToAll(string message); + + // same as send for binary data + bool sendRawMsg(int clientID, const char * rawMsg, const int numBytes); + bool sendRawMsgToAll(const char * rawMsg, const int numBytes); + //send and receive raw bytes lets you send and receive //byte (char) arrays without modifiying or appending the data. //Strings terminate on null bytes so this is the better option @@ -64,20 +69,22 @@ class ofxTCPServer : public ofThread{ //sender should send "Hello World[/TCP]" string receive(int clientID); + // same as receive for binary data + int receiveRawMsg(int clientID, char * receiveBytes, int numBytes); + //pass in buffer to be filled - make sure the buffer //is at least as big as numBytes int receiveRawBytes(int clientID, char * receiveBytes, int numBytes); - //don't call this - //-------------------------- - void threadedFunction(); + protected: + void threadedFunction(); + ofxTCPManager TCPServer; map TCPConnections; - protected: bool connected; string str; int idCount, port; diff --git a/addons/ofxSvg/libs/svgTiny/src/svgtiny.cpp b/addons/ofxSvg/libs/svgTiny/src/svgtiny.cpp index a4d66f5de6b..04704746cd5 100644 --- a/addons/ofxSvg/libs/svgTiny/src/svgtiny.cpp +++ b/addons/ofxSvg/libs/svgTiny/src/svgtiny.cpp @@ -16,7 +16,6 @@ #include //#include //#include -#include "tinyxml.h" #include "svgtiny.h" #include "svgtiny_internal.h" diff --git a/addons/ofxSvg/src/ofxSVG.cpp b/addons/ofxSvg/src/ofxSvg.cpp similarity index 54% rename from addons/ofxSvg/src/ofxSVG.cpp rename to addons/ofxSvg/src/ofxSvg.cpp index 95b7867103b..112391285c4 100644 --- a/addons/ofxSvg/src/ofxSVG.cpp +++ b/addons/ofxSvg/src/ofxSvg.cpp @@ -1,4 +1,5 @@ -#include "ofxSVG.h" +#include "ofxSvg.h" +#include "ofConstants.h" ofxSVG::~ofxSVG(){ paths.clear(); @@ -21,31 +22,29 @@ void ofxSVG::load(string path){ svgtiny_code code = svgtiny_parse(diagram, buffer.getText().c_str(), size, path.c_str(), 0, 0); if(code != svgtiny_OK){ - fprintf(stderr, "svgtiny_parse failed: "); + ofLogError() << "svgtiny_parse failed: "; switch(code){ case svgtiny_OUT_OF_MEMORY: - fprintf(stderr, "svgtiny_OUT_OF_MEMORY"); + ofLogError() << "svgtiny_OUT_OF_MEMORY"; break; case svgtiny_LIBXML_ERROR: - fprintf(stderr, "svgtiny_LIBXML_ERROR"); + ofLogError() << "svgtiny_LIBXML_ERROR"; break; case svgtiny_NOT_SVG: - fprintf(stderr, "svgtiny_NOT_SVG"); + ofLogError() << "svgtiny_NOT_SVG"; break; case svgtiny_SVG_ERROR: - fprintf(stderr, "svgtiny_SVG_ERROR: line %i: %s", - diagram->error_line, - diagram->error_message); + ofLogError() << "svgtiny_SVG_ERROR: line " << diagram->error_line << ": " << diagram->error_message; break; default: - fprintf(stderr, "unknown svgtiny_code %i", code); + ofLogError() << "unknown svgtiny_code " << code; break; } - fprintf(stderr, "\n"); + ofLogError() << endl; } setupDiagram(diagram); @@ -54,8 +53,8 @@ void ofxSVG::load(string path){ } void ofxSVG::draw(){ - for(int i = 0; i < paths.size(); i++){ - paths[i]->draw(); + for(int i = 0; i < (int)paths.size(); i++){ + paths[i].draw(); } } @@ -65,56 +64,54 @@ void ofxSVG::setupDiagram(struct svgtiny_diagram * diagram){ width = diagram->width; height = diagram->height; - for(int i = 0; i < diagram->shape_count; i++){ + for(int i = 0; i < (int)diagram->shape_count; i++){ if(diagram->shape[i].path){ - setupShape(&diagram->shape[i]); - } - else if(diagram->shape[i].text){ - printf("text: not implemented yet\n"); + paths.push_back(ofPath()); + setupShape(&diagram->shape[i],paths.back()); + }else if(diagram->shape[i].text){ + ofLogWarning() << "text: not implemented yet"; } } } -void ofxSVG::setupShape(struct svgtiny_shape * shape){ +void ofxSVG::setupShape(struct svgtiny_shape * shape, ofPath & path){ float * p = shape->path; - ofPath * path = new ofPath(); - paths.push_back(ofPathRef(path)); - - path->setFilled(false); + path.setFilled(false); if(shape->fill != svgtiny_TRANSPARENT){ - path->setFilled(true); - path->setFillHexColor(shape->fill); + path.setFilled(true); + path.setFillHexColor(shape->fill); } if(shape->stroke != svgtiny_TRANSPARENT){ - path->setStrokeWidth(shape->stroke_width); - path->setStrokeHexColor(shape->stroke); + path.setStrokeWidth(shape->stroke_width); + path.setStrokeHexColor(shape->stroke); } - for(int i = 0; i < shape->path_length;){ + path.setPolyWindingMode(OF_POLY_WINDING_NONZERO); + + for(int i = 0; i < (int)shape->path_length;){ if(p[i] == svgtiny_PATH_MOVE){ - path->moveTo(p[i + 1], p[i + 2]); + path.moveTo(p[i + 1], p[i + 2]); i += 3; } else if(p[i] == svgtiny_PATH_CLOSE){ - path->close(); + path.close(); i += 1; } else if(p[i] == svgtiny_PATH_LINE){ - path->lineTo(p[i + 1], p[i + 2]); + path.lineTo(p[i + 1], p[i + 2]); i += 3; } else if(p[i] == svgtiny_PATH_BEZIER){ - path->bezierTo(p[i + 1], p[i + 2], + path.bezierTo(p[i + 1], p[i + 2], p[i + 3], p[i + 4], p[i + 5], p[i + 6]); i += 7; } else{ - //cout << "error\n" << endl; ofLogError() << "SVG parse error"; i += 1; } diff --git a/addons/ofxSvg/src/ofxSVG.h b/addons/ofxSvg/src/ofxSvg.h similarity index 76% rename from addons/ofxSvg/src/ofxSVG.h rename to addons/ofxSvg/src/ofxSvg.h index 9f3af9619b8..f6ec932200c 100644 --- a/addons/ofxSvg/src/ofxSVG.h +++ b/addons/ofxSvg/src/ofxSvg.h @@ -22,17 +22,16 @@ class ofxSVG { return paths.size(); } ofPath & getPathAt(int n){ - return *paths[n]; + return paths[n]; } private: float width, height; - typedef ofPtr ofPathRef; - vector paths; + vector paths; void setupDiagram(struct svgtiny_diagram * diagram); - void setupShape(struct svgtiny_shape * shape); + void setupShape(struct svgtiny_shape * shape, ofPath & path); -}; \ No newline at end of file +}; diff --git a/apps/.gitignore b/apps/.gitignore index 37fbd85568e..0c0ebb42258 100644 --- a/apps/.gitignore +++ b/apps/.gitignore @@ -13,3 +13,6 @@ # don't ignore the .gitignore file !.gitignore + +# except the projectGenerator directory, too +!projectGenerator/ diff --git a/apps/projectGenerator/projectGeneratorSimple b/apps/projectGenerator/projectGeneratorSimple index dd7a04cd060..215d4fcd45d 160000 --- a/apps/projectGenerator/projectGeneratorSimple +++ b/apps/projectGenerator/projectGeneratorSimple @@ -1 +1 @@ -Subproject commit dd7a04cd060094a8d0ed043feb9831fa58ef2897 +Subproject commit 215d4fcd45d19dc639ddaefff741dd60e70538f2 diff --git a/examples/3d/cameraLensOffsetExample/addons.make b/examples/3d/cameraLensOffsetExample/addons.make new file mode 100644 index 00000000000..e927d643e45 --- /dev/null +++ b/examples/3d/cameraLensOffsetExample/addons.make @@ -0,0 +1 @@ +ofxOpenCv \ No newline at end of file diff --git a/examples/3d/cameraLensOffsetExample/bin/data/.gitkeep b/examples/3d/cameraLensOffsetExample/bin/data/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/examples/3d/cameraLensOffsetExample/bin/data/haarcascade_frontalface_default.xml b/examples/3d/cameraLensOffsetExample/bin/data/haarcascade_frontalface_default.xml new file mode 100755 index 00000000000..8dff079dac7 --- /dev/null +++ b/examples/3d/cameraLensOffsetExample/bin/data/haarcascade_frontalface_default.xml @@ -0,0 +1,35712 @@ + + + + + 24 24 + + <_> + + + <_> + + <_> + + + + <_>6 4 12 9 -1. + <_>6 7 12 3 3. + 0 + -0.0315119996666908 + 2.0875380039215088 + -2.2172100543975830 + <_> + + <_> + + + + <_>6 4 12 7 -1. + <_>10 4 4 7 3. + 0 + 0.0123960003256798 + -1.8633940219879150 + 1.3272049427032471 + <_> + + <_> + + + + <_>3 9 18 9 -1. + <_>3 12 18 3 3. + 0 + 0.0219279993325472 + -1.5105249881744385 + 1.0625729560852051 + <_> + + <_> + + + + <_>8 18 9 6 -1. + <_>8 20 9 2 3. + 0 + 5.7529998011887074e-003 + -0.8746389746665955 + 1.1760339736938477 + <_> + + <_> + + + + <_>3 5 4 19 -1. + <_>5 5 2 19 2. + 0 + 0.0150140002369881 + -0.7794569730758667 + 1.2608419656753540 + <_> + + <_> + + + + <_>6 5 12 16 -1. + <_>6 13 12 8 2. + 0 + 0.0993710011243820 + 0.5575129985809326 + -1.8743000030517578 + <_> + + <_> + + + + <_>5 8 12 6 -1. + <_>5 11 12 3 2. + 0 + 2.7340000960975885e-003 + -1.6911929845809937 + 0.4400970041751862 + <_> + + <_> + + + + <_>11 14 4 10 -1. + <_>11 19 4 5 2. + 0 + -0.0188590008765459 + -1.4769539833068848 + 0.4435009956359863 + <_> + + <_> + + + + <_>4 0 7 6 -1. + <_>4 3 7 3 2. + 0 + 5.9739998541772366e-003 + -0.8590919971466065 + 0.8525559902191162 + -5.0425500869750977 + -1 + -1 + <_> + + + <_> + + <_> + + + + <_>6 6 12 6 -1. + <_>6 8 12 2 3. + 0 + -0.0211100000888109 + 1.2435649633407593 + -1.5713009834289551 + <_> + + <_> + + + + <_>6 4 12 7 -1. + <_>10 4 4 7 3. + 0 + 0.0203559994697571 + -1.6204780340194702 + 1.1817760467529297 + <_> + + <_> + + + + <_>1 8 19 12 -1. + <_>1 12 19 4 3. + 0 + 0.0213089995086193 + -1.9415930509567261 + 0.7006909847259522 + <_> + + <_> + + + + <_>0 2 24 3 -1. + <_>8 2 8 3 3. + 0 + 0.0916600003838539 + -0.5567010045051575 + 1.7284419536590576 + <_> + + <_> + + + + <_>9 9 6 15 -1. + <_>9 14 6 5 3. + 0 + 0.0362880006432533 + 0.2676379978656769 + -2.1831810474395752 + <_> + + <_> + + + + <_>5 6 14 10 -1. + <_>5 11 14 5 2. + 0 + -0.0191099997609854 + -2.6730210781097412 + 0.4567080140113831 + <_> + + <_> + + + + <_>5 0 14 9 -1. + <_>5 3 14 3 3. + 0 + 8.2539999857544899e-003 + -1.0852910280227661 + 0.5356420278549194 + <_> + + <_> + + + + <_>13 11 9 6 -1. + <_>16 11 3 6 3. + 0 + 0.0183550007641315 + -0.3520019948482513 + 0.9333919882774353 + <_> + + <_> + + + + <_>7 5 6 10 -1. + <_>9 5 2 10 3. + 0 + -7.0569999516010284e-003 + 0.9278209805488586 + -0.6634989976882935 + <_> + + <_> + + + + <_>10 8 6 10 -1. + <_>12 8 2 10 3. + 0 + -9.8770000040531158e-003 + 1.1577470302581787 + -0.2977479994297028 + <_> + + <_> + + + + <_>2 5 4 9 -1. + <_>4 5 2 9 2. + 0 + 0.0158140007406473 + -0.4196060001850128 + 1.3576040267944336 + <_> + + <_> + + + + <_>18 0 6 11 -1. + <_>20 0 2 11 3. + 0 + -0.0207000002264977 + 1.4590020179748535 + -0.1973939985036850 + <_> + + <_> + + + + <_>0 6 24 13 -1. + <_>8 6 8 13 3. + 0 + -0.1376080065965653 + 1.1186759471893311 + -0.5291550159454346 + <_> + + <_> + + + + <_>9 6 6 9 -1. + <_>11 6 2 9 3. + 0 + 0.0143189998343587 + -0.3512719869613648 + 1.1440860033035278 + <_> + + <_> + + + + <_>7 18 10 6 -1. + <_>7 20 10 2 3. + 0 + 0.0102530000731349 + -0.6085060238838196 + 0.7709850072860718 + <_> + + <_> + + + + <_>5 7 14 12 -1. + <_>5 13 14 6 2. + 0 + 0.0915080010890961 + 0.3881779909133911 + -1.5122940540313721 + -4.9842400550842285 + 0 + -1 + <_> + + + <_> + + <_> + + + + <_>0 3 24 3 -1. + <_>8 3 8 3 3. + 0 + 0.0697470009326935 + -1.0130879878997803 + 1.4687349796295166 + <_> + + <_> + + + + <_>5 8 15 6 -1. + <_>5 11 15 3 2. + 0 + 0.0315029993653297 + -1.6463639736175537 + 1.0000629425048828 + <_> + + <_> + + + + <_>9 6 5 14 -1. + <_>9 13 5 7 2. + 0 + 0.0142609998583794 + 0.4648030102252960 + -1.5959889888763428 + <_> + + <_> + + + + <_>9 5 6 10 -1. + <_>11 5 2 10 3. + 0 + 0.0144530003890395 + -0.6551190018653870 + 0.8302180171012878 + <_> + + <_> + + + + <_>6 6 3 12 -1. + <_>6 12 3 6 2. + 0 + -3.0509999487549067e-003 + -1.3982310295104980 + 0.4255059957504273 + <_> + + <_> + + + + <_>3 21 18 3 -1. + <_>9 21 6 3 3. + 0 + 0.0327229984104633 + -0.5070260167121887 + 1.0526109933853149 + <_> + + <_> + + + + <_>5 6 13 6 -1. + <_>5 8 13 2 3. + 0 + -7.2960001416504383e-003 + 0.3635689914226532 + -1.3464889526367187 + <_> + + <_> + + + + <_>18 1 6 15 -1. + <_>18 1 3 15 2. + 0 + 0.0504250004887581 + -0.3046140074729919 + 1.4504129886627197 + <_> + + <_> + + + + <_>1 1 6 15 -1. + <_>4 1 3 15 2. + 0 + 0.0468790009617805 + -0.4028620123863220 + 1.2145609855651855 + <_> + + <_> + + + + <_>0 8 24 15 -1. + <_>8 8 8 15 3. + 0 + -0.0693589970469475 + 1.0539360046386719 + -0.4571970105171204 + <_> + + <_> + + + + <_>5 6 14 12 -1. + <_>5 6 7 6 2. + <_>12 12 7 6 2. + 0 + -0.0490339994430542 + -1.6253089904785156 + 0.1537899971008301 + <_> + + <_> + + + + <_>2 12 21 12 -1. + <_>2 16 21 4 3. + 0 + 0.0848279967904091 + 0.2840299904346466 + -1.5662059783935547 + <_> + + <_> + + + + <_>8 1 4 10 -1. + <_>10 1 2 10 2. + 0 + -1.7229999648407102e-003 + -1.0147459506988525 + 0.2329480051994324 + <_> + + <_> + + + + <_>2 13 20 10 -1. + <_>2 13 10 10 2. + 0 + 0.1156219989061356 + -0.1673289984464645 + 1.2804069519042969 + <_> + + <_> + + + + <_>0 1 6 13 -1. + <_>2 1 2 13 3. + 0 + -0.0512799993157387 + 1.5162390470504761 + -0.3027110099792481 + <_> + + <_> + + + + <_>20 2 4 13 -1. + <_>20 2 2 13 2. + 0 + -0.0427069999277592 + 1.7631920576095581 + -0.0518320016562939 + <_> + + <_> + + + + <_>0 5 22 19 -1. + <_>11 5 11 19 2. + 0 + 0.3717809915542603 + -0.3138920068740845 + 1.5357979536056519 + <_> + + <_> + + + + <_>18 4 6 9 -1. + <_>20 4 2 9 3. + 0 + 0.0194129999727011 + -0.1001759991049767 + 0.9365540146827698 + <_> + + <_> + + + + <_>0 3 6 11 -1. + <_>2 3 2 11 3. + 0 + 0.0174390003085136 + -0.4037989974021912 + 0.9629300236701965 + <_> + + <_> + + + + <_>12 1 4 9 -1. + <_>12 1 2 9 2. + 0 + 0.0396389998495579 + 0.1703909933567047 + -2.9602990150451660 + <_> + + <_> + + + + <_>0 6 19 3 -1. + <_>0 7 19 1 3. + 0 + -9.1469995677471161e-003 + 0.8878679871559143 + -0.4381870031356812 + <_> + + <_> + + + + <_>12 1 4 9 -1. + <_>12 1 2 9 2. + 0 + 1.7219999572262168e-003 + -0.3721860051155090 + 0.4001890122890472 + <_> + + <_> + + + + <_>8 1 4 9 -1. + <_>10 1 2 9 2. + 0 + 0.0302310008555651 + 0.0659240037202835 + -2.6469180583953857 + <_> + + <_> + + + + <_>5 5 14 14 -1. + <_>12 5 7 7 2. + <_>5 12 7 7 2. + 0 + -0.0787959992885590 + -1.7491459846496582 + 0.2847529947757721 + <_> + + <_> + + + + <_>1 10 18 2 -1. + <_>1 11 18 1 2. + 0 + 2.1110000088810921e-003 + -0.9390810132026672 + 0.2320519983768463 + <_> + + <_> + + + + <_>17 13 4 11 -1. + <_>17 13 2 11 2. + 0 + 0.0270910002291203 + -0.0526640005409718 + 1.0756820440292358 + <_> + + <_> + + + + <_>0 4 6 9 -1. + <_>0 7 6 3 3. + 0 + -0.0449649989604950 + -1.8294479846954346 + 0.0995619967579842 + -4.6551899909973145 + 1 + -1 + <_> + + + <_> + + <_> + + + + <_>6 4 12 9 -1. + <_>6 7 12 3 3. + 0 + -0.0657010003924370 + 1.1558510065078735 + -1.0716359615325928 + <_> + + <_> + + + + <_>6 5 12 6 -1. + <_>10 5 4 6 3. + 0 + 0.0158399995416403 + -1.5634720325469971 + 0.7687709927558899 + <_> + + <_> + + + + <_>0 1 24 5 -1. + <_>8 1 8 5 3. + 0 + 0.1457089930772781 + -0.5745009779930115 + 1.3808720111846924 + <_> + + <_> + + + + <_>4 10 18 6 -1. + <_>4 12 18 2 3. + 0 + 6.1389999464154243e-003 + -1.4570560455322266 + 0.5161030292510986 + <_> + + <_> + + + + <_>2 17 12 6 -1. + <_>2 17 6 3 2. + <_>8 20 6 3 2. + 0 + 6.7179999314248562e-003 + -0.8353360295295715 + 0.5852220058441162 + <_> + + <_> + + + + <_>19 3 4 13 -1. + <_>19 3 2 13 2. + 0 + 0.0185180008411407 + -0.3131209909915924 + 1.1696679592132568 + <_> + + <_> + + + + <_>1 3 4 13 -1. + <_>3 3 2 13 2. + 0 + 0.0199580006301403 + -0.4344260096549988 + 0.9544690251350403 + <_> + + <_> + + + + <_>0 1 24 23 -1. + <_>8 1 8 23 3. + 0 + -0.2775500118732452 + 1.4906179904937744 + -0.1381590068340302 + <_> + + <_> + + + + <_>1 7 8 12 -1. + <_>1 11 8 4 3. + 0 + 9.1859996318817139e-003 + -0.9636150002479553 + 0.2766549885272980 + <_> + + <_> + + + + <_>14 7 3 14 -1. + <_>14 14 3 7 2. + 0 + -0.0377379991114140 + -2.4464108943939209 + 0.2361959964036942 + <_> + + <_> + + + + <_>3 12 16 6 -1. + <_>3 12 8 3 2. + <_>11 15 8 3 2. + 0 + 0.0184630006551743 + 0.1753920018672943 + -1.3423130512237549 + <_> + + <_> + + + + <_>6 6 12 6 -1. + <_>6 8 12 2 3. + 0 + -0.0111149996519089 + 0.4871079921722412 + -0.8985189795494080 + <_> + + <_> + + + + <_>8 7 6 12 -1. + <_>8 13 6 6 2. + 0 + 0.0339279994368553 + 0.1787420064210892 + -1.6342279911041260 + <_> + + <_> + + + + <_>15 15 9 6 -1. + <_>15 17 9 2 3. + 0 + -0.0356490015983582 + -1.9607399702072144 + 0.1810249984264374 + <_> + + <_> + + + + <_>1 17 18 3 -1. + <_>1 18 18 1 3. + 0 + -0.0114380000159144 + 0.9901069998741150 + -0.3810319900512695 + <_> + + <_> + + + + <_>4 4 16 12 -1. + <_>4 10 16 6 2. + 0 + -0.0652360022068024 + -2.5794160366058350 + 0.2475360035896301 + <_> + + <_> + + + + <_>0 1 4 20 -1. + <_>2 1 2 20 2. + 0 + -0.0422720015048981 + 1.4411840438842773 + -0.2950829863548279 + <_> + + <_> + + + + <_>3 0 18 2 -1. + <_>3 1 18 1 2. + 0 + 1.9219999667257071e-003 + -0.4960860013961792 + 0.6317359805107117 + <_> + + <_> + + + + <_>1 5 20 14 -1. + <_>1 5 10 7 2. + <_>11 12 10 7 2. + 0 + -0.1292179971933365 + -2.3314270973205566 + 0.0544969998300076 + <_> + + <_> + + + + <_>5 8 14 12 -1. + <_>5 12 14 4 3. + 0 + 0.0229310002177954 + -0.8444709777832031 + 0.3873809874057770 + <_> + + <_> + + + + <_>3 14 7 9 -1. + <_>3 17 7 3 3. + 0 + -0.0341200008988380 + -1.4431500434875488 + 0.0984229966998100 + <_> + + <_> + + + + <_>14 15 9 6 -1. + <_>14 17 9 2 3. + 0 + 0.0262230001389980 + 0.1822309941053391 + -1.2586519718170166 + <_> + + <_> + + + + <_>1 15 9 6 -1. + <_>1 17 9 2 3. + 0 + 0.0222369991242886 + 0.0698079988360405 + -2.3820950984954834 + <_> + + <_> + + + + <_>11 6 8 10 -1. + <_>15 6 4 5 2. + <_>11 11 4 5 2. + 0 + -5.8240001089870930e-003 + 0.3933250010013580 + -0.2754279971122742 + <_> + + <_> + + + + <_>5 5 14 14 -1. + <_>5 5 7 7 2. + <_>12 12 7 7 2. + 0 + 0.0436530001461506 + 0.1483269929885864 + -1.1368780136108398 + <_> + + <_> + + + + <_>6 0 12 5 -1. + <_>10 0 4 5 3. + 0 + 0.0572669990360737 + 0.2462809979915619 + -1.2687400579452515 + <_> + + <_> + + + + <_>9 0 6 9 -1. + <_>9 3 6 3 3. + 0 + 2.3409998975694180e-003 + -0.7544890046119690 + 0.2716380059719086 + <_> + + <_> + + + + <_>9 6 6 9 -1. + <_>11 6 2 9 3. + 0 + 0.0129960002377629 + -0.3639490008354187 + 0.7095919847488403 + <_> + + <_> + + + + <_>7 0 6 9 -1. + <_>9 0 2 9 3. + 0 + -0.0265170000493526 + -2.3221859931945801 + 0.0357440002262592 + <_> + + <_> + + + + <_>10 6 6 9 -1. + <_>12 6 2 9 3. + 0 + -5.8400002308189869e-003 + 0.4219430088996887 + -0.0481849983334541 + <_> + + <_> + + + + <_>8 6 6 9 -1. + <_>10 6 2 9 3. + 0 + -0.0165689997375011 + 1.1099940538406372 + -0.3484970033168793 + <_> + + <_> + + + + <_>3 8 18 4 -1. + <_>9 8 6 4 3. + 0 + -0.0681570023298264 + -3.3269989490509033 + 0.2129900008440018 + -4.4531588554382324 + 2 + -1 + <_> + + + <_> + + <_> + + + + <_>6 0 12 9 -1. + <_>6 3 12 3 3. + 0 + 0.0399740003049374 + -1.2173449993133545 + 1.0826710462570190 + <_> + + <_> + + + + <_>0 0 24 6 -1. + <_>8 0 8 6 3. + 0 + 0.1881950050592423 + -0.4828940033912659 + 1.4045250415802002 + <_> + + <_> + + + + <_>4 7 16 12 -1. + <_>4 11 16 4 3. + 0 + 0.0780270025134087 + -1.0782150030136108 + 0.7404029965400696 + <_> + + <_> + + + + <_>11 6 6 6 -1. + <_>11 6 3 6 2. + 0 + 1.1899999663000926e-004 + -1.2019979953765869 + 0.3774920105934143 + <_> + + <_> + + + + <_>0 20 24 3 -1. + <_>8 20 8 3 3. + 0 + 0.0850569978356361 + -0.4393909871578217 + 1.2647340297698975 + <_> + + <_> + + + + <_>11 6 4 9 -1. + <_>11 6 2 9 2. + 0 + 8.9720003306865692e-003 + -0.1844049990177155 + 0.4572640061378479 + <_> + + <_> + + + + <_>4 13 15 4 -1. + <_>9 13 5 4 3. + 0 + 8.8120000436902046e-003 + 0.3039669990539551 + -0.9599109888076782 + <_> + + <_> + + + + <_>11 6 4 9 -1. + <_>11 6 2 9 2. + 0 + -0.0235079992562532 + 1.2487529516220093 + 0.0462279990315437 + <_> + + <_> + + + + <_>9 6 4 9 -1. + <_>11 6 2 9 2. + 0 + 7.0039997808635235e-003 + -0.5944210290908814 + 0.5396329760551453 + <_> + + <_> + + + + <_>9 12 6 12 -1. + <_>9 18 6 6 2. + 0 + 0.0338519997894764 + 0.2849609851837158 + -1.4895249605178833 + <_> + + <_> + + + + <_>1 22 18 2 -1. + <_>1 23 18 1 2. + 0 + -3.2530000898987055e-003 + 0.4812079966068268 + -0.5271239876747131 + <_> + + <_> + + + + <_>10 7 4 10 -1. + <_>10 12 4 5 2. + 0 + 0.0290970001369715 + 0.2674390077590942 + -1.6007850170135498 + <_> + + <_> + + + + <_>6 7 8 10 -1. + <_>6 12 8 5 2. + 0 + -8.4790000692009926e-003 + -1.3107639551162720 + 0.1524309962987900 + <_> + + <_> + + + + <_>7 6 10 6 -1. + <_>7 8 10 2 3. + 0 + -0.0107950000092387 + 0.4561359882354736 + -0.7205089926719666 + <_> + + <_> + + + + <_>0 14 10 4 -1. + <_>0 16 10 2 2. + 0 + -0.0246200002729893 + -1.7320619821548462 + 0.0683630034327507 + <_> + + <_> + + + + <_>6 18 18 2 -1. + <_>6 19 18 1 2. + 0 + 3.7380000576376915e-003 + -0.1930329948663712 + 0.6824349761009216 + <_> + + <_> + + + + <_>1 1 22 3 -1. + <_>1 2 22 1 3. + 0 + -0.0122640002518892 + -1.6095290184020996 + 0.0752680003643036 + <_> + + <_> + + + + <_>6 16 18 3 -1. + <_>6 17 18 1 3. + 0 + -4.8670000396668911e-003 + 0.7428650259971619 + -0.2151020020246506 + <_> + + <_> + + + + <_>2 4 6 15 -1. + <_>5 4 3 15 2. + 0 + 0.0767259970307350 + -0.2683509886264801 + 1.3094140291213989 + <_> + + <_> + + + + <_>20 4 4 10 -1. + <_>20 4 2 10 2. + 0 + 0.0285780001431704 + -0.0587930008769035 + 1.2196329832077026 + <_> + + <_> + + + + <_>0 4 4 10 -1. + <_>2 4 2 10 2. + 0 + 0.0196940004825592 + -0.3514289855957031 + 0.8492699861526489 + <_> + + <_> + + + + <_>2 16 20 6 -1. + <_>12 16 10 3 2. + <_>2 19 10 3 2. + 0 + -0.0290939994156361 + -1.0507299900054932 + 0.2980630099773407 + <_> + + <_> + + + + <_>0 12 8 9 -1. + <_>4 12 4 9 2. + 0 + -0.0291440002620220 + 0.8254780173301697 + -0.3268719911575317 + <_> + + <_> + + + + <_>12 0 6 9 -1. + <_>14 0 2 9 3. + 0 + 0.0197410006076097 + 0.2045260071754456 + -0.8376020193099976 + <_> + + <_> + + + + <_>5 10 6 6 -1. + <_>8 10 3 6 2. + 0 + 4.3299999088048935e-003 + 0.2057790011167526 + -0.6682980060577393 + <_> + + <_> + + + + <_>11 8 12 6 -1. + <_>17 8 6 3 2. + <_>11 11 6 3 2. + 0 + -0.0355009995400906 + -1.2969900369644165 + 0.1389749944210053 + <_> + + <_> + + + + <_>0 8 12 6 -1. + <_>0 8 6 3 2. + <_>6 11 6 3 2. + 0 + -0.0161729995161295 + -1.3110569715499878 + 0.0757519975304604 + <_> + + <_> + + + + <_>12 0 6 9 -1. + <_>14 0 2 9 3. + 0 + -0.0221510007977486 + -1.0524389743804932 + 0.1924110054969788 + <_> + + <_> + + + + <_>6 0 6 9 -1. + <_>8 0 2 9 3. + 0 + -0.0227070003747940 + -1.3735309839248657 + 0.0667809993028641 + <_> + + <_> + + + + <_>8 14 9 6 -1. + <_>8 16 9 2 3. + 0 + 0.0166079998016357 + -0.0371359996497631 + 0.7784640192985535 + <_> + + <_> + + + + <_>0 16 9 6 -1. + <_>0 18 9 2 3. + 0 + -0.0133090000599623 + -0.9985070228576660 + 0.1224810034036636 + <_> + + <_> + + + + <_>10 8 6 10 -1. + <_>12 8 2 10 3. + 0 + -0.0337320007383823 + 1.4461359977722168 + 0.0131519995629787 + <_> + + <_> + + + + <_>3 19 12 3 -1. + <_>9 19 6 3 2. + 0 + 0.0169350001960993 + -0.3712129890918732 + 0.5284219980239868 + <_> + + <_> + + + + <_>2 10 20 2 -1. + <_>2 11 20 1 2. + 0 + 3.3259999472647905e-003 + -0.5756850242614746 + 0.3926190137863159 + <_> + + <_> + + + + <_>2 9 18 12 -1. + <_>2 9 9 6 2. + <_>11 15 9 6 2. + 0 + 0.0836440026760101 + 0.0161160007119179 + -2.1173279285430908 + <_> + + <_> + + + + <_>3 0 18 24 -1. + <_>3 0 9 24 2. + 0 + 0.2578519880771637 + -0.0816090032458305 + 0.9878249764442444 + <_> + + <_> + + + + <_>5 6 14 10 -1. + <_>5 6 7 5 2. + <_>12 11 7 5 2. + 0 + -0.0365669988095760 + -1.1512110233306885 + 0.0964590013027191 + <_> + + <_> + + + + <_>9 5 10 12 -1. + <_>14 5 5 6 2. + <_>9 11 5 6 2. + 0 + -0.0164459999650717 + 0.3731549978256226 + -0.1458539962768555 + <_> + + <_> + + + + <_>4 5 12 12 -1. + <_>4 5 6 6 2. + <_>10 11 6 6 2. + 0 + -3.7519999314099550e-003 + 0.2617929875850678 + -0.5815669894218445 + <_> + + <_> + + + + <_>4 14 18 3 -1. + <_>4 15 18 1 3. + 0 + -6.3660000450909138e-003 + 0.7547739744186401 + -0.1705520004034042 + <_> + + <_> + + + + <_>6 13 8 8 -1. + <_>6 17 8 4 2. + 0 + -3.8499999791383743e-003 + 0.2265399992465973 + -0.6387640237808228 + <_> + + <_> + + + + <_>3 16 18 6 -1. + <_>3 19 18 3 2. + 0 + -0.0454940013587475 + -1.2640299797058105 + 0.2526069879531860 + <_> + + <_> + + + + <_>0 0 6 6 -1. + <_>3 0 3 6 2. + 0 + -0.0239410009235144 + 0.8706840276718140 + -0.2710469961166382 + <_> + + <_> + + + + <_>6 6 12 18 -1. + <_>10 6 4 18 3. + 0 + -0.0775580033659935 + -1.3901610374450684 + 0.2361229956150055 + <_> + + <_> + + + + <_>6 1 4 14 -1. + <_>8 1 2 14 2. + 0 + 0.0236140005290508 + 0.0661400035023689 + -1.2645419836044312 + <_> + + <_> + + + + <_>3 2 19 2 -1. + <_>3 3 19 1 2. + 0 + -2.5750000495463610e-003 + -0.5384169816970825 + 0.3037909865379334 + <_> + + <_> + + + + <_>1 8 22 13 -1. + <_>12 8 11 13 2. + 0 + 0.1201080009341240 + -0.3534300029277802 + 0.5286620259284973 + <_> + + <_> + + + + <_>8 9 11 4 -1. + <_>8 11 11 2 2. + 0 + 2.2899999748915434e-003 + -0.5870199799537659 + 0.2406100034713745 + <_> + + <_> + + + + <_>0 12 15 10 -1. + <_>5 12 5 10 3. + 0 + 0.0697169974446297 + -0.3334890007972717 + 0.5191630125045776 + <_> + + <_> + + + + <_>12 16 12 6 -1. + <_>16 16 4 6 3. + 0 + -0.0466700010001659 + 0.6979539990425110 + -0.0148959998041391 + <_> + + <_> + + + + <_>0 16 12 6 -1. + <_>4 16 4 6 3. + 0 + -0.0501290000975132 + 0.8614619970321655 + -0.2598600089550018 + <_> + + <_> + + + + <_>19 1 5 12 -1. + <_>19 5 5 4 3. + 0 + 0.0301479995250702 + 0.1933279931545258 + -0.5913109779357910 + -4.3864588737487793 + 3 + -1 + <_> + + + <_> + + <_> + + + + <_>0 2 24 4 -1. + <_>8 2 8 4 3. + 0 + 0.0910850018262863 + -0.8923310041427612 + 1.0434230566024780 + <_> + + <_> + + + + <_>6 8 12 4 -1. + <_>6 10 12 2 2. + 0 + 0.0128189995884895 + -1.2597670555114746 + 0.5531709790229797 + <_> + + <_> + + + + <_>7 5 9 6 -1. + <_>10 5 3 6 3. + 0 + 0.0159319993108511 + -0.8625440001487732 + 0.6373180150985718 + <_> + + <_> + + + + <_>9 17 6 6 -1. + <_>9 20 6 3 2. + 0 + 2.2780001163482666e-003 + -0.7463920116424561 + 0.5315560102462769 + <_> + + <_> + + + + <_>0 7 22 15 -1. + <_>0 12 22 5 3. + 0 + 0.0318409986793995 + -1.2650489807128906 + 0.3615390062332153 + <_> + + <_> + + + + <_>4 1 17 9 -1. + <_>4 4 17 3 3. + 0 + 2.6960000395774841e-003 + -0.9829040169715881 + 0.3601300120353699 + <_> + + <_> + + + + <_>7 5 6 10 -1. + <_>9 5 2 10 3. + 0 + -0.0120550002902746 + 0.6406840085983276 + -0.5012500286102295 + <_> + + <_> + + + + <_>18 1 6 8 -1. + <_>18 1 3 8 2. + 0 + 0.0213249996304512 + -0.2403499931097031 + 0.8544800281524658 + <_> + + <_> + + + + <_>0 1 6 7 -1. + <_>3 1 3 7 2. + 0 + 0.0304860007017851 + -0.3427360057830811 + 1.1428849697113037 + <_> + + <_> + + + + <_>18 0 6 22 -1. + <_>18 0 3 22 2. + 0 + -0.0450799986720085 + 1.0976949930191040 + -0.1797460019588471 + <_> + + <_> + + + + <_>0 0 6 22 -1. + <_>3 0 3 22 2. + 0 + -0.0717009976506233 + 1.5735000371932983 + -0.3143349885940552 + <_> + + <_> + + + + <_>16 7 8 16 -1. + <_>16 7 4 16 2. + 0 + 0.0592180006206036 + -0.2758240103721619 + 1.0448570251464844 + <_> + + <_> + + + + <_>2 10 19 6 -1. + <_>2 12 19 2 3. + 0 + 6.7010000348091125e-003 + -1.0974019765853882 + 0.1980119943618774 + <_> + + <_> + + + + <_>9 9 6 12 -1. + <_>9 13 6 4 3. + 0 + 0.0410469993948936 + 0.3054769933223724 + -1.3287999629974365 + <_> + + <_> + + + + <_>2 15 17 6 -1. + <_>2 17 17 2 3. + 0 + -8.5499999113380909e-004 + 0.2580710053443909 + -0.7005289793014526 + <_> + + <_> + + + + <_>14 7 3 14 -1. + <_>14 14 3 7 2. + 0 + -0.0303600002080202 + -1.2306419610977173 + 0.2260939925909042 + <_> + + <_> + + + + <_>5 6 8 10 -1. + <_>5 6 4 5 2. + <_>9 11 4 5 2. + 0 + -0.0129300002008677 + 0.4075860083103180 + -0.5123450160026550 + <_> + + <_> + + + + <_>15 8 9 11 -1. + <_>18 8 3 11 3. + 0 + 0.0373679995536804 + -0.0947550013661385 + 0.6176509857177734 + <_> + + <_> + + + + <_>0 8 9 11 -1. + <_>3 8 3 11 3. + 0 + 0.0244340002536774 + -0.4110060036182404 + 0.4763050079345703 + <_> + + <_> + + + + <_>8 6 10 18 -1. + <_>8 15 10 9 2. + 0 + 0.0570079982280731 + 0.2524929940700531 + -0.6866980195045471 + <_> + + <_> + + + + <_>7 7 3 14 -1. + <_>7 14 3 7 2. + 0 + -0.0163139998912811 + -0.9392840266227722 + 0.1144810020923615 + <_> + + <_> + + + + <_>0 14 24 8 -1. + <_>8 14 8 8 3. + 0 + -0.1764889955520630 + 1.2451089620590210 + -0.0565190017223358 + <_> + + <_> + + + + <_>1 10 18 14 -1. + <_>10 10 9 14 2. + 0 + 0.1761460006237030 + -0.3252820074558258 + 0.8279150128364563 + <_> + + <_> + + + + <_>14 12 6 6 -1. + <_>14 15 6 3 2. + 0 + -7.3910001665353775e-003 + 0.3478370010852814 + -0.1792909950017929 + <_> + + <_> + + + + <_>7 0 10 16 -1. + <_>7 0 5 8 2. + <_>12 8 5 8 2. + 0 + 0.0608909986913204 + 0.0550980009138584 + -1.5480779409408569 + <_> + + <_> + + + + <_>10 0 9 6 -1. + <_>13 0 3 6 3. + 0 + -0.0291230008006096 + -1.0255639553070068 + 0.2410690039396286 + <_> + + <_> + + + + <_>4 3 16 4 -1. + <_>12 3 8 4 2. + 0 + -0.0456489995121956 + 1.0301599502563477 + -0.3167209923267365 + <_> + + <_> + + + + <_>10 0 9 6 -1. + <_>13 0 3 6 3. + 0 + 0.0373330004513264 + 0.2162059992551804 + -0.8258990049362183 + <_> + + <_> + + + + <_>1 1 20 4 -1. + <_>1 1 10 2 2. + <_>11 3 10 2 2. + 0 + -0.0244110003113747 + -1.5957959890365601 + 0.0511390008032322 + <_> + + <_> + + + + <_>10 0 9 6 -1. + <_>13 0 3 6 3. + 0 + -0.0598069988191128 + -1.0312290191650391 + 0.1309230029582977 + <_> + + <_> + + + + <_>5 0 9 6 -1. + <_>8 0 3 6 3. + 0 + -0.0301060006022453 + -1.4781630039215088 + 0.0372119992971420 + <_> + + <_> + + + + <_>8 18 10 6 -1. + <_>8 20 10 2 3. + 0 + 7.4209999293088913e-003 + -0.2402410060167313 + 0.4933399856090546 + <_> + + <_> + + + + <_>6 3 6 9 -1. + <_>8 3 2 9 3. + 0 + -2.1909999195486307e-003 + 0.2894150018692017 + -0.5725960135459900 + <_> + + <_> + + + + <_>7 3 12 6 -1. + <_>7 5 12 2 3. + 0 + 0.0208609998226166 + -0.2314839959144592 + 0.6376590132713318 + <_> + + <_> + + + + <_>0 10 18 3 -1. + <_>0 11 18 1 3. + 0 + -6.6990000195801258e-003 + -1.2107750177383423 + 0.0640180036425591 + <_> + + <_> + + + + <_>1 10 22 3 -1. + <_>1 11 22 1 3. + 0 + 0.0187580008059740 + 0.2446130067110062 + -0.9978669881820679 + <_> + + <_> + + + + <_>5 11 8 8 -1. + <_>9 11 4 8 2. + 0 + -0.0443230010569096 + -1.3699189424514771 + 0.0360519997775555 + <_> + + <_> + + + + <_>12 11 6 6 -1. + <_>12 11 3 6 2. + 0 + 0.0228599999099970 + 0.2128839939832687 + -1.0397620201110840 + <_> + + <_> + + + + <_>6 11 6 6 -1. + <_>9 11 3 6 2. + 0 + -9.8600005730986595e-004 + 0.3244360089302063 + -0.5429180264472961 + <_> + + <_> + + + + <_>7 10 11 6 -1. + <_>7 12 11 2 3. + 0 + 0.0172390006482601 + -0.2832390069961548 + 0.4446820020675659 + <_> + + <_> + + + + <_>0 13 24 4 -1. + <_>0 13 12 2 2. + <_>12 15 12 2 2. + 0 + -0.0345310010015965 + -2.3107020854949951 + -3.1399999279528856e-003 + <_> + + <_> + + + + <_>2 4 22 12 -1. + <_>13 4 11 6 2. + <_>2 10 11 6 2. + 0 + 0.0670069977641106 + 0.2871569991111755 + -0.6448100209236145 + <_> + + <_> + + + + <_>2 0 20 17 -1. + <_>12 0 10 17 2. + 0 + 0.2377689927816391 + -0.2717480063438416 + 0.8021910190582275 + <_> + + <_> + + + + <_>14 0 2 24 -1. + <_>14 0 1 24 2. + 0 + -0.0129030002281070 + -1.5317620038986206 + 0.2142360061407089 + <_> + + <_> + + + + <_>8 0 2 24 -1. + <_>9 0 1 24 2. + 0 + 0.0105149997398257 + 0.0770379975438118 + -1.0581140518188477 + <_> + + <_> + + + + <_>14 1 2 22 -1. + <_>14 1 1 22 2. + 0 + 0.0169690009206533 + 0.1430670022964478 + -0.8582839965820313 + <_> + + <_> + + + + <_>8 1 2 22 -1. + <_>9 1 1 22 2. + 0 + -7.2460002265870571e-003 + -1.1020129919052124 + 0.0649069994688034 + <_> + + <_> + + + + <_>17 6 3 18 -1. + <_>18 6 1 18 3. + 0 + 0.0105569995939732 + 0.0139640001580119 + 0.6360149979591370 + <_> + + <_> + + + + <_>6 14 9 6 -1. + <_>6 16 9 2 3. + 0 + 6.1380001716315746e-003 + -0.3454590141773224 + 0.5629680156707764 + <_> + + <_> + + + + <_>13 14 9 4 -1. + <_>13 16 9 2 2. + 0 + 0.0131580000743270 + 0.1992730051279068 + -1.5040320158004761 + <_> + + <_> + + + + <_>3 18 18 3 -1. + <_>3 19 18 1 3. + 0 + 3.1310000922530890e-003 + -0.4090369939804077 + 0.3779639899730682 + <_> + + <_> + + + + <_>9 4 8 18 -1. + <_>13 4 4 9 2. + <_>9 13 4 9 2. + 0 + -0.1092069968581200 + -2.2227079868316650 + 0.1217819973826408 + <_> + + <_> + + + + <_>0 17 18 3 -1. + <_>0 18 18 1 3. + 0 + 8.1820003688335419e-003 + -0.2865200042724609 + 0.6789079904556274 + -4.1299300193786621 + 4 + -1 + <_> + + + <_> + + <_> + + + + <_>0 2 12 4 -1. + <_>6 2 6 4 2. + 0 + 0.0313469991087914 + -0.8888459801673889 + 0.9493680000305176 + <_> + + <_> + + + + <_>6 8 14 6 -1. + <_>6 11 14 3 2. + 0 + 0.0319180004298687 + -1.1146880388259888 + 0.4888899922370911 + <_> + + <_> + + + + <_>7 5 6 6 -1. + <_>10 5 3 6 2. + 0 + 6.5939999185502529e-003 + -1.0097689628601074 + 0.4972380101680756 + <_> + + <_> + + + + <_>10 5 6 16 -1. + <_>10 13 6 8 2. + 0 + 0.0261480007320642 + 0.2599129974842072 + -1.2537480592727661 + <_> + + <_> + + + + <_>1 4 9 16 -1. + <_>4 4 3 16 3. + 0 + 0.0128450002521276 + -0.5713859796524048 + 0.5965949892997742 + <_> + + <_> + + + + <_>5 0 18 9 -1. + <_>5 3 18 3 3. + 0 + 0.0263449996709824 + -0.5520319938659668 + 0.3021740019321442 + <_> + + <_> + + + + <_>9 15 5 8 -1. + <_>9 19 5 4 2. + 0 + -0.0150830000638962 + -1.2871240377426147 + 0.2235420048236847 + <_> + + <_> + + + + <_>20 0 4 9 -1. + <_>20 0 2 9 2. + 0 + -0.0388870015740395 + 1.7425049543380737 + -0.0997470021247864 + <_> + + <_> + + + + <_>2 0 18 3 -1. + <_>2 1 18 1 3. + 0 + -5.7029998861253262e-003 + -1.0523240566253662 + 0.1836259961128235 + <_> + + <_> + + + + <_>5 22 19 2 -1. + <_>5 23 19 1 2. + 0 + -1.4860000228509307e-003 + 0.5678420066833496 + -0.4674200117588043 + <_> + + <_> + + + + <_>0 0 4 9 -1. + <_>2 0 2 9 2. + 0 + -0.0284860003739595 + 1.3082909584045410 + -0.2646090090274811 + <_> + + <_> + + + + <_>5 6 19 18 -1. + <_>5 12 19 6 3. + 0 + 0.0662249997258186 + -0.4621070027351379 + 0.4174959957599640 + <_> + + <_> + + + + <_>0 1 6 9 -1. + <_>2 1 2 9 3. + 0 + 8.8569996878504753e-003 + -0.4147489964962006 + 0.5920479893684387 + <_> + + <_> + + + + <_>6 5 14 12 -1. + <_>13 5 7 6 2. + <_>6 11 7 6 2. + 0 + 0.0113559998571873 + 0.3610309958457947 + -0.4578120112419128 + <_> + + <_> + + + + <_>0 1 20 2 -1. + <_>0 2 20 1 2. + 0 + -2.7679998893290758e-003 + -0.8923889994621277 + 0.1419900059700012 + <_> + + <_> + + + + <_>1 2 22 3 -1. + <_>1 3 22 1 3. + 0 + 0.0112469997256994 + 0.2935340106487274 + -0.9733060002326965 + <_> + + <_> + + + + <_>2 8 7 9 -1. + <_>2 11 7 3 3. + 0 + 7.1970000863075256e-003 + -0.7933490276336670 + 0.1831340044736862 + <_> + + <_> + + + + <_>2 12 22 4 -1. + <_>13 12 11 2 2. + <_>2 14 11 2 2. + 0 + 0.0317689999938011 + 0.1552309989929199 + -1.3245639801025391 + <_> + + <_> + + + + <_>0 12 22 4 -1. + <_>0 12 11 2 2. + <_>11 14 11 2 2. + 0 + 0.0251739993691444 + 0.0342149995267391 + -2.0948131084442139 + <_> + + <_> + + + + <_>9 7 6 11 -1. + <_>11 7 2 11 3. + 0 + 7.5360001064836979e-003 + -0.3945060074329376 + 0.5133399963378906 + <_> + + <_> + + + + <_>7 1 9 6 -1. + <_>10 1 3 6 3. + 0 + 0.0328730009496212 + 0.0883729979395866 + -1.2814120054244995 + <_> + + <_> + + + + <_>11 2 4 10 -1. + <_>11 7 4 5 2. + 0 + -2.7379998937249184e-003 + 0.5528650283813477 + -0.4638499915599823 + <_> + + <_> + + + + <_>6 4 12 12 -1. + <_>6 10 12 6 2. + 0 + -0.0380750000476837 + -1.8497270345687866 + 0.0459440015256405 + <_> + + <_> + + + + <_>18 1 6 15 -1. + <_>18 6 6 5 3. + 0 + -0.0389840006828308 + -0.4822370111942291 + 0.3476060032844544 + <_> + + <_> + + + + <_>3 15 18 3 -1. + <_>3 16 18 1 3. + 0 + 2.8029999230057001e-003 + -0.4515469968318939 + 0.4280630052089691 + <_> + + <_> + + + + <_>18 5 6 9 -1. + <_>18 8 6 3 3. + 0 + -0.0541459992527962 + -0.8452079892158508 + 0.1667490005493164 + <_> + + <_> + + + + <_>1 5 16 6 -1. + <_>1 5 8 3 2. + <_>9 8 8 3 2. + 0 + -8.3280000835657120e-003 + 0.3534829914569855 + -0.4716320037841797 + <_> + + <_> + + + + <_>11 0 6 9 -1. + <_>13 0 2 9 3. + 0 + 0.0337780006229877 + 0.1846310049295425 + -1.6686669588088989 + <_> + + <_> + + + + <_>0 4 24 14 -1. + <_>0 4 12 7 2. + <_>12 11 12 7 2. + 0 + -0.1123809963464737 + -1.2521569728851318 + 0.0359920002520084 + <_> + + <_> + + + + <_>13 0 4 13 -1. + <_>13 0 2 13 2. + 0 + -0.0104080000892282 + -0.8162040114402771 + 0.2342859953641892 + <_> + + <_> + + + + <_>7 0 4 13 -1. + <_>9 0 2 13 2. + 0 + -4.9439999274909496e-003 + -0.9258469939231873 + 0.1003480032086372 + <_> + + <_> + + + + <_>11 6 6 9 -1. + <_>13 6 2 9 3. + 0 + -9.3029998242855072e-003 + 0.5649930238723755 + -0.1888190060853958 + <_> + + <_> + + + + <_>8 7 6 9 -1. + <_>10 7 2 9 3. + 0 + -0.0117499995976686 + 0.8030239939689636 + -0.3827700018882752 + <_> + + <_> + + + + <_>13 17 9 6 -1. + <_>13 19 9 2 3. + 0 + -0.0232170000672340 + -0.8492699861526489 + 0.1967120021581650 + <_> + + <_> + + + + <_>2 18 14 6 -1. + <_>2 18 7 3 2. + <_>9 21 7 3 2. + 0 + 0.0168660003691912 + -0.4059189856052399 + 0.5069530010223389 + <_> + + <_> + + + + <_>3 18 18 4 -1. + <_>12 18 9 2 2. + <_>3 20 9 2 2. + 0 + -0.0240310002118349 + -1.5297520160675049 + 0.2334499955177307 + <_> + + <_> + + + + <_>0 20 15 4 -1. + <_>5 20 5 4 3. + 0 + -0.0369459986686707 + 0.6300770044326782 + -0.3178040087223053 + <_> + + <_> + + + + <_>9 15 15 9 -1. + <_>14 15 5 9 3. + 0 + -0.0615639984607697 + 0.5862789750099182 + -0.0121079999953508 + <_> + + <_> + + + + <_>4 4 16 4 -1. + <_>4 6 16 2 2. + 0 + 0.0216610003262758 + -0.2562370002269745 + 1.0409849882125854 + <_> + + <_> + + + + <_>7 6 10 6 -1. + <_>7 8 10 2 3. + 0 + -3.6710000131279230e-003 + 0.2917110025882721 + -0.8328729867935181 + <_> + + <_> + + + + <_>0 14 15 10 -1. + <_>5 14 5 10 3. + 0 + 0.0448490008711815 + -0.3963319957256317 + 0.4566200077533722 + <_> + + <_> + + + + <_>7 9 10 14 -1. + <_>12 9 5 7 2. + <_>7 16 5 7 2. + 0 + 0.0571950003504753 + 0.2102389931678772 + -1.5004800558090210 + <_> + + <_> + + + + <_>7 6 6 9 -1. + <_>9 6 2 9 3. + 0 + -0.0113420002162457 + 0.4407129883766174 + -0.3865379989147186 + <_> + + <_> + + + + <_>3 6 18 3 -1. + <_>3 7 18 1 3. + 0 + -0.0120040001347661 + 0.9395459890365601 + -0.1058949977159500 + <_> + + <_> + + + + <_>0 10 18 3 -1. + <_>0 11 18 1 3. + 0 + 0.0225159991532564 + 9.4480002298951149e-003 + -1.6799509525299072 + <_> + + <_> + + + + <_>3 16 18 4 -1. + <_>12 16 9 2 2. + <_>3 18 9 2 2. + 0 + -0.0198090001940727 + -1.0133639574050903 + 0.2414660006761551 + <_> + + <_> + + + + <_>4 6 14 6 -1. + <_>4 6 7 3 2. + <_>11 9 7 3 2. + 0 + 0.0158910006284714 + -0.3750759959220886 + 0.4661409854888916 + <_> + + <_> + + + + <_>13 0 2 18 -1. + <_>13 0 1 18 2. + 0 + -9.1420002281665802e-003 + -0.8048409819602966 + 0.1781699955463409 + <_> + + <_> + + + + <_>9 0 2 18 -1. + <_>10 0 1 18 2. + 0 + -4.4740000739693642e-003 + -1.0562069416046143 + 0.0733050033450127 + <_> + + <_> + + + + <_>5 7 15 10 -1. + <_>10 7 5 10 3. + 0 + 0.1274250000715256 + 0.2016559988260269 + -1.5467929840087891 + <_> + + <_> + + + + <_>1 20 21 4 -1. + <_>8 20 7 4 3. + 0 + 0.0477030016481876 + -0.3793779909610748 + 0.3788599967956543 + <_> + + <_> + + + + <_>10 5 5 18 -1. + <_>10 14 5 9 2. + 0 + 0.0536080002784729 + 0.2122049927711487 + -1.2399710416793823 + <_> + + <_> + + + + <_>0 2 24 6 -1. + <_>0 2 12 3 2. + <_>12 5 12 3 2. + 0 + -0.0396809987723827 + -1.0257550477981567 + 0.0512829981744289 + <_> + + <_> + + + + <_>1 1 22 8 -1. + <_>12 1 11 4 2. + <_>1 5 11 4 2. + 0 + -0.0673270002007484 + -1.0304750204086304 + 0.2300529927015305 + <_> + + <_> + + + + <_>4 0 15 9 -1. + <_>4 3 15 3 3. + 0 + 0.1333760023117065 + -0.2086900025606155 + 1.2272510528564453 + <_> + + <_> + + + + <_>0 0 24 19 -1. + <_>8 0 8 19 3. + 0 + -0.2091930061578751 + 0.8792989850044251 + -0.0442549996078014 + <_> + + <_> + + + + <_>2 21 18 3 -1. + <_>11 21 9 3 2. + 0 + -0.0655890032649040 + 1.0443429946899414 + -0.2168209999799728 + <_> + + <_> + + + + <_>9 7 10 4 -1. + <_>9 7 5 4 2. + 0 + 0.0618829987943172 + 0.1379819959402084 + -1.9009059667587280 + <_> + + <_> + + + + <_>5 7 10 4 -1. + <_>10 7 5 4 2. + 0 + -0.0255789998918772 + -1.6607600450515747 + 5.8439997956156731e-003 + <_> + + <_> + + + + <_>17 8 6 16 -1. + <_>20 8 3 8 2. + <_>17 16 3 8 2. + 0 + -0.0348270013928413 + 0.7994040250778198 + -0.0824069976806641 + <_> + + <_> + + + + <_>1 15 20 4 -1. + <_>1 15 10 2 2. + <_>11 17 10 2 2. + 0 + -0.0182099994271994 + -0.9607399702072144 + 0.0663200020790100 + <_> + + <_> + + + + <_>14 15 10 6 -1. + <_>14 17 10 2 3. + 0 + 0.0150709999725223 + 0.1989939957857132 + -0.7643300294876099 + -4.0218091011047363 + 5 + -1 + <_> + + + <_> + + <_> + + + + <_>3 0 16 9 -1. + <_>3 3 16 3 3. + 0 + 0.0463249981403351 + -1.0362670421600342 + 0.8220149874687195 + <_> + + <_> + + + + <_>15 6 7 15 -1. + <_>15 11 7 5 3. + 0 + 0.0154069997370243 + -1.2327589988708496 + 0.2964769899845123 + <_> + + <_> + + + + <_>9 1 6 13 -1. + <_>11 1 2 13 3. + 0 + 0.0128089999780059 + -0.7585229873657227 + 0.5798550248146057 + <_> + + <_> + + + + <_>17 2 6 14 -1. + <_>17 2 3 14 2. + 0 + 0.0491509996354580 + -0.3898389935493469 + 0.8968030214309692 + <_> + + <_> + + + + <_>3 14 12 10 -1. + <_>3 14 6 5 2. + <_>9 19 6 5 2. + 0 + 0.0126210004091263 + -0.7179930210113525 + 0.5044090151786804 + <_> + + <_> + + + + <_>7 6 10 6 -1. + <_>7 8 10 2 3. + 0 + -0.0187689997255802 + 0.5514760017395020 + -0.7055540084838867 + <_> + + <_> + + + + <_>1 2 6 14 -1. + <_>4 2 3 14 2. + 0 + 0.0419650003314018 + -0.4478209912776947 + 0.7098550200462341 + <_> + + <_> + + + + <_>10 4 5 12 -1. + <_>10 8 5 4 3. + 0 + -0.0514019988477230 + -1.0932120084762573 + 0.2670190036296845 + <_> + + <_> + + + + <_>0 17 24 5 -1. + <_>8 17 8 5 3. + 0 + -0.0709609985351563 + 0.8361840248107910 + -0.3831810057163239 + <_> + + <_> + + + + <_>15 7 5 12 -1. + <_>15 11 5 4 3. + 0 + 0.0167459994554520 + -0.2573310136795044 + 0.2596650123596191 + <_> + + <_> + + + + <_>3 1 6 12 -1. + <_>3 1 3 6 2. + <_>6 7 3 6 2. + 0 + -6.2400000169873238e-003 + 0.3163149952888489 + -0.5879690051078796 + <_> + + <_> + + + + <_>12 13 6 6 -1. + <_>12 16 6 3 2. + 0 + -0.0393979996442795 + -1.0491210222244263 + 0.1682240068912506 + <_> + + <_> + + + + <_>6 13 6 6 -1. + <_>6 16 6 3 2. + 0 + 0. + 0.1614419966936112 + -0.8787689805030823 + <_> + + <_> + + + + <_>14 6 3 16 -1. + <_>14 14 3 8 2. + 0 + -0.0223079994320869 + -0.6905350089073181 + 0.2360700070858002 + <_> + + <_> + + + + <_>1 12 13 6 -1. + <_>1 14 13 2 3. + 0 + 1.8919999711215496e-003 + 0.2498919963836670 + -0.5658329725265503 + <_> + + <_> + + + + <_>13 1 4 9 -1. + <_>13 1 2 9 2. + 0 + 1.0730000212788582e-003 + -0.5041580200195313 + 0.3837450146675110 + <_> + + <_> + + + + <_>7 0 9 6 -1. + <_>10 0 3 6 3. + 0 + 0.0392309986054897 + 0.0426190011203289 + -1.3875889778137207 + <_> + + <_> + + + + <_>12 2 6 9 -1. + <_>12 2 3 9 2. + 0 + 0.0622380003333092 + 0.1411940008401871 + -1.0688860416412354 + <_> + + <_> + + + + <_>6 2 6 9 -1. + <_>9 2 3 9 2. + 0 + 2.1399999968707561e-003 + -0.8962240219116211 + 0.1979639977216721 + <_> + + <_> + + + + <_>6 18 12 6 -1. + <_>6 20 12 2 3. + 0 + 9.1800000518560410e-004 + -0.4533729851245880 + 0.4353269934654236 + <_> + + <_> + + + + <_>7 6 6 9 -1. + <_>9 6 2 9 3. + 0 + -6.9169998168945313e-003 + 0.3382279872894287 + -0.4479300081729889 + <_> + + <_> + + + + <_>7 7 12 3 -1. + <_>7 7 6 3 2. + 0 + -0.0238669998943806 + -0.7890859842300415 + 0.2251179963350296 + <_> + + <_> + + + + <_>8 3 8 21 -1. + <_>8 10 8 7 3. + 0 + -0.1026280000805855 + -2.2831439971923828 + -5.3960001096129417e-003 + <_> + + <_> + + + + <_>7 4 10 12 -1. + <_>7 8 10 4 3. + 0 + -9.5239998772740364e-003 + 0.3934670090675354 + -0.5224220156669617 + <_> + + <_> + + + + <_>0 1 6 9 -1. + <_>0 4 6 3 3. + 0 + 0.0398770011961460 + 0.0327990017831326 + -1.5079489946365356 + <_> + + <_> + + + + <_>15 2 2 20 -1. + <_>15 2 1 20 2. + 0 + -0.0131449997425079 + -1.0839990377426147 + 0.1848240047693253 + <_> + + <_> + + + + <_>0 3 6 9 -1. + <_>0 6 6 3 3. + 0 + -0.0505909994244576 + -1.8822289705276489 + -2.2199999075382948e-003 + <_> + + <_> + + + + <_>15 3 2 21 -1. + <_>15 3 1 21 2. + 0 + 0.0249170009046793 + 0.1459340006113052 + -2.2196519374847412 + <_> + + <_> + + + + <_>7 0 2 23 -1. + <_>8 0 1 23 2. + 0 + -7.6370001770555973e-003 + -1.0164569616317749 + 0.0587970018386841 + <_> + + <_> + + + + <_>15 8 9 4 -1. + <_>15 10 9 2 2. + 0 + 0.0429119989275932 + 0.1544300019741058 + -1.1843889951705933 + <_> + + <_> + + + + <_>0 8 9 4 -1. + <_>0 10 9 2 2. + 0 + 2.3000000510364771e-004 + -0.7730579972267151 + 0.1218990013003349 + <_> + + <_> + + + + <_>8 14 9 6 -1. + <_>8 16 9 2 3. + 0 + 9.0929996222257614e-003 + -0.1145009994506836 + 0.7109130024909973 + <_> + + <_> + + + + <_>0 14 9 6 -1. + <_>0 16 9 2 3. + 0 + 0.0111450003460050 + 0.0700009986758232 + -1.0534820556640625 + <_> + + <_> + + + + <_>3 10 18 4 -1. + <_>9 10 6 4 3. + 0 + -0.0524530000984669 + -1.7594360113143921 + 0.1952379941940308 + <_> + + <_> + + + + <_>0 0 24 19 -1. + <_>8 0 8 19 3. + 0 + -0.2302069962024689 + 0.9584029912948608 + -0.2504569888114929 + <_> + + <_> + + + + <_>9 1 8 12 -1. + <_>9 7 8 6 2. + 0 + -0.0163659993559122 + 0.4673190116882324 + -0.2110839933156967 + <_> + + <_> + + + + <_>10 6 4 10 -1. + <_>12 6 2 10 2. + 0 + -0.0172080006450415 + 0.7083569765090942 + -0.2801829874515533 + <_> + + <_> + + + + <_>7 9 10 12 -1. + <_>12 9 5 6 2. + <_>7 15 5 6 2. + 0 + -0.0366480015218258 + -1.1013339757919312 + 0.2434110045433044 + <_> + + <_> + + + + <_>5 0 3 19 -1. + <_>6 0 1 19 3. + 0 + -0.0103049995377660 + -1.0933129787445068 + 0.0562589988112450 + <_> + + <_> + + + + <_>14 0 6 10 -1. + <_>16 0 2 10 3. + 0 + -0.0137130003422499 + -0.2643809914588928 + 0.1982100009918213 + <_> + + <_> + + + + <_>2 0 6 12 -1. + <_>2 0 3 6 2. + <_>5 6 3 6 2. + 0 + 0.0293080005794764 + -0.2214239984750748 + 1.0525950193405151 + <_> + + <_> + + + + <_>0 11 24 2 -1. + <_>0 12 24 1 2. + 0 + 0.0240770000964403 + 0.1848569959402084 + -1.7203969955444336 + <_> + + <_> + + + + <_>4 9 13 4 -1. + <_>4 11 13 2 2. + 0 + 6.1280000954866409e-003 + -0.9272149801254273 + 0.0587529987096787 + <_> + + <_> + + + + <_>9 8 6 9 -1. + <_>9 11 6 3 3. + 0 + -0.0223779994994402 + 1.9646559953689575 + 0.0277859997004271 + <_> + + <_> + + + + <_>0 12 16 4 -1. + <_>0 14 16 2 2. + 0 + -7.0440000854432583e-003 + 0.2142760008573532 + -0.4840759932994843 + <_> + + <_> + + + + <_>18 12 6 9 -1. + <_>18 15 6 3 3. + 0 + -0.0406030006706715 + -1.1754349470138550 + 0.1606120020151138 + <_> + + <_> + + + + <_>0 12 6 9 -1. + <_>0 15 6 3 3. + 0 + -0.0244660004973412 + -1.1239900588989258 + 0.0411100015044212 + <_> + + <_> + + + + <_>8 7 10 4 -1. + <_>8 7 5 4 2. + 0 + 2.5309999473392963e-003 + -0.1716970056295395 + 0.3217880129814148 + <_> + + <_> + + + + <_>8 7 6 9 -1. + <_>10 7 2 9 3. + 0 + -0.0195889994502068 + 0.8272020220756531 + -0.2637670040130615 + <_> + + <_> + + + + <_>11 0 6 9 -1. + <_>13 0 2 9 3. + 0 + -0.0296359993517399 + -1.1524770259857178 + 0.1499930024147034 + <_> + + <_> + + + + <_>7 0 6 9 -1. + <_>9 0 2 9 3. + 0 + -0.0150300003588200 + -1.0491830110549927 + 0.0401609987020493 + <_> + + <_> + + + + <_>12 3 6 15 -1. + <_>14 3 2 15 3. + 0 + -0.0607150010764599 + -1.0903840065002441 + 0.1533080041408539 + <_> + + <_> + + + + <_>6 3 6 15 -1. + <_>8 3 2 15 3. + 0 + -0.0127900000661612 + 0.4224860072135925 + -0.4239920079708099 + <_> + + <_> + + + + <_>15 2 9 4 -1. + <_>15 4 9 2 2. + 0 + -0.0202479995787144 + -0.9186699986457825 + 0.1848569959402084 + <_> + + <_> + + + + <_>5 10 6 7 -1. + <_>8 10 3 7 2. + 0 + -0.0306839998811483 + -1.5958670377731323 + 2.5760000571608543e-003 + <_> + + <_> + + + + <_>9 14 6 10 -1. + <_>9 19 6 5 2. + 0 + -0.0207180008292198 + -0.6629999876022339 + 0.3103719949722290 + <_> + + <_> + + + + <_>7 13 5 8 -1. + <_>7 17 5 4 2. + 0 + -1.7290000105276704e-003 + 0.1918340027332306 + -0.6508499979972839 + <_> + + <_> + + + + <_>14 5 3 16 -1. + <_>14 13 3 8 2. + 0 + -0.0313940010964870 + -0.6364300251007080 + 0.1540839970111847 + <_> + + <_> + + + + <_>2 17 18 3 -1. + <_>2 18 18 1 3. + 0 + 0.0190030001103878 + -0.1891939938068390 + 1.5294510126113892 + <_> + + <_> + + + + <_>5 18 19 3 -1. + <_>5 19 19 1 3. + 0 + 6.1769997701048851e-003 + -0.1059790030121803 + 0.6485959887504578 + <_> + + <_> + + + + <_>9 0 6 9 -1. + <_>11 0 2 9 3. + 0 + -0.0101659996435046 + -1.0802700519561768 + 0.0371760018169880 + <_> + + <_> + + + + <_>12 4 3 18 -1. + <_>13 4 1 18 3. + 0 + -1.4169999631121755e-003 + 0.3415749967098236 + -0.0977379977703094 + <_> + + <_> + + + + <_>9 4 3 18 -1. + <_>10 4 1 18 3. + 0 + -4.0799998678267002e-003 + 0.4762459993362427 + -0.3436630070209503 + <_> + + <_> + + + + <_>3 3 18 9 -1. + <_>9 3 6 9 3. + 0 + -0.0440969988703728 + 0.9763429760932922 + -0.0191730000078678 + <_> + + <_> + + + + <_>6 1 6 14 -1. + <_>8 1 2 14 3. + 0 + -0.0606699995696545 + -2.1752851009368896 + -0.0289259999990463 + <_> + + <_> + + + + <_>12 16 9 6 -1. + <_>12 19 9 3 2. + 0 + -0.0329319983720779 + -0.6438310146331787 + 0.1649409979581833 + <_> + + <_> + + + + <_>1 3 20 16 -1. + <_>1 3 10 8 2. + <_>11 11 10 8 2. + 0 + -0.1472280025482178 + -1.4745830297470093 + 2.5839998852461576e-003 + <_> + + <_> + + + + <_>12 5 6 12 -1. + <_>15 5 3 6 2. + <_>12 11 3 6 2. + 0 + -0.0119300000369549 + 0.4244140088558197 + -0.1771260052919388 + <_> + + <_> + + + + <_>1 2 22 16 -1. + <_>1 2 11 8 2. + <_>12 10 11 8 2. + 0 + 0.1451790034770966 + 0.0254449993371964 + -1.2779400348663330 + <_> + + <_> + + + + <_>10 14 5 10 -1. + <_>10 19 5 5 2. + 0 + 0.0514479987323284 + 0.1567839980125427 + -1.5188430547714233 + <_> + + <_> + + + + <_>3 21 18 3 -1. + <_>3 22 18 1 3. + 0 + 3.1479999888688326e-003 + -0.4042440056800842 + 0.3242970108985901 + <_> + + <_> + + + + <_>10 14 6 10 -1. + <_>12 14 2 10 3. + 0 + -0.0436000004410744 + -1.9932260513305664 + 0.1501860022544861 + -3.8832089900970459 + 6 + -1 + <_> + + + <_> + + <_> + + + + <_>0 2 24 4 -1. + <_>8 2 8 4 3. + 0 + 0.1289959996938705 + -0.6216199994087219 + 1.1116520166397095 + <_> + + <_> + + + + <_>6 4 12 9 -1. + <_>6 7 12 3 3. + 0 + -0.0912619978189468 + 1.0143059492111206 + -0.6133520007133484 + <_> + + <_> + + + + <_>6 6 12 5 -1. + <_>10 6 4 5 3. + 0 + 0.0142719997093081 + -1.0261659622192383 + 0.3977999985218048 + <_> + + <_> + + + + <_>5 8 14 12 -1. + <_>5 12 14 4 3. + 0 + 0.0328899994492531 + -1.1386079788208008 + 0.2869080007076263 + <_> + + <_> + + + + <_>4 14 8 10 -1. + <_>4 14 4 5 2. + <_>8 19 4 5 2. + 0 + 0.0125900004059076 + -0.5664560198783875 + 0.4517239928245544 + <_> + + <_> + + + + <_>11 6 5 14 -1. + <_>11 13 5 7 2. + 0 + 0.0146610001102090 + 0.3050599992275238 + -0.6812959909439087 + <_> + + <_> + + + + <_>7 6 3 16 -1. + <_>7 14 3 8 2. + 0 + -0.0335559993982315 + -1.7208939790725708 + 0.0614390000700951 + <_> + + <_> + + + + <_>3 7 18 8 -1. + <_>9 7 6 8 3. + 0 + 0.1425269991159439 + 0.2319220006465912 + -1.7297149896621704 + <_> + + <_> + + + + <_>2 3 20 2 -1. + <_>2 4 20 1 2. + 0 + -6.2079997733235359e-003 + -1.2163300514221191 + 0.1216019988059998 + <_> + + <_> + + + + <_>3 12 19 6 -1. + <_>3 14 19 2 3. + 0 + 0.0181789994239807 + 0.3255369961261749 + -0.8100399971008301 + <_> + + <_> + + + + <_>8 6 6 9 -1. + <_>10 6 2 9 3. + 0 + 0.0250369999557734 + -0.3169879913330078 + 0.6736140251159668 + <_> + + <_> + + + + <_>16 6 6 14 -1. + <_>16 6 3 14 2. + 0 + 0.0465609990060329 + -0.1108980029821396 + 0.8408250212669373 + <_> + + <_> + + + + <_>7 9 6 12 -1. + <_>9 9 2 12 3. + 0 + -8.9999996125698090e-003 + 0.3957450091838837 + -0.4762459993362427 + <_> + + <_> + + + + <_>18 6 6 18 -1. + <_>21 6 3 9 2. + <_>18 15 3 9 2. + 0 + 0.0408059991896153 + -1.8000000272877514e-004 + 0.9457070231437683 + <_> + + <_> + + + + <_>0 6 6 18 -1. + <_>0 6 3 9 2. + <_>3 15 3 9 2. + 0 + -0.0342219993472099 + 0.7520629763603210 + -0.3153150081634522 + <_> + + <_> + + + + <_>18 2 6 9 -1. + <_>18 5 6 3 3. + 0 + -0.0397160016000271 + -0.8313959836959839 + 0.1774439960718155 + <_> + + <_> + + + + <_>3 18 15 6 -1. + <_>3 20 15 2 3. + 0 + 2.5170000735670328e-003 + -0.5937799811363220 + 0.2465700060129166 + <_> + + <_> + + + + <_>18 2 6 9 -1. + <_>18 5 6 3 3. + 0 + 0.0274289995431900 + 0.1599839925765991 + -0.4278199970722199 + <_> + + <_> + + + + <_>0 2 6 9 -1. + <_>0 5 6 3 3. + 0 + 0.0349860005080700 + 0.0350559987127781 + -1.5988600254058838 + <_> + + <_> + + + + <_>5 10 18 2 -1. + <_>5 11 18 1 2. + 0 + 4.4970000162720680e-003 + -0.5203430056571960 + 0.3782829940319061 + <_> + + <_> + + + + <_>6 0 12 6 -1. + <_>6 2 12 2 3. + 0 + 2.7699999045580626e-003 + -0.5318260192871094 + 0.2495100051164627 + <_> + + <_> + + + + <_>10 0 6 9 -1. + <_>12 0 2 9 3. + 0 + 0.0351740010082722 + 0.1998340040445328 + -1.4446129798889160 + <_> + + <_> + + + + <_>8 0 6 9 -1. + <_>10 0 2 9 3. + 0 + 0.0259709991514683 + 0.0444269999861717 + -1.3622980117797852 + <_> + + <_> + + + + <_>15 12 9 6 -1. + <_>15 14 9 2 3. + 0 + -0.0157839991152287 + -0.9102039933204651 + 0.2719030082225800 + <_> + + <_> + + + + <_>3 6 13 6 -1. + <_>3 8 13 2 3. + 0 + -7.5880000367760658e-003 + 0.0920649990439415 + -0.8162890076637268 + <_> + + <_> + + + + <_>15 12 9 6 -1. + <_>15 14 9 2 3. + 0 + 0.0207540001720190 + 0.2118570059537888 + -0.7472900152206421 + <_> + + <_> + + + + <_>2 5 6 15 -1. + <_>5 5 3 15 2. + 0 + 0.0598290003836155 + -0.2730109989643097 + 0.8092330098152161 + <_> + + <_> + + + + <_>8 8 9 6 -1. + <_>11 8 3 6 3. + 0 + 0.0390390008687973 + -0.1043229997158051 + 0.8622620105743408 + <_> + + <_> + + + + <_>8 6 3 14 -1. + <_>8 13 3 7 2. + 0 + 0.0216659996658564 + 0.0627090036869049 + -0.9889429807662964 + <_> + + <_> + + + + <_>15 12 9 6 -1. + <_>15 14 9 2 3. + 0 + -0.0274969991296530 + -0.9269099831581116 + 0.1558630019426346 + <_> + + <_> + + + + <_>4 12 10 4 -1. + <_>9 12 5 4 2. + 0 + 0.0104620000347495 + 0.1341809928417206 + -0.7038639783859253 + <_> + + <_> + + + + <_>13 1 4 19 -1. + <_>13 1 2 19 2. + 0 + 0.0248709991574287 + 0.1970670074224472 + -0.4026330113410950 + <_> + + <_> + + + + <_>7 1 4 19 -1. + <_>9 1 2 19 2. + 0 + -0.0160360001027584 + -1.1409829854965210 + 0.0739979967474937 + <_> + + <_> + + + + <_>18 9 6 9 -1. + <_>18 12 6 3 3. + 0 + 0.0486270003020763 + 0.1699039936065674 + -0.7215219736099243 + <_> + + <_> + + + + <_>1 21 18 3 -1. + <_>1 22 18 1 3. + 0 + 1.2619999470189214e-003 + -0.4738979935646057 + 0.2625499963760376 + <_> + + <_> + + + + <_>14 13 10 9 -1. + <_>14 16 10 3 3. + 0 + -0.0880350023508072 + -2.1606519222259521 + 0.1455480009317398 + <_> + + <_> + + + + <_>1 13 22 4 -1. + <_>1 13 11 2 2. + <_>12 15 11 2 2. + 0 + 0.0183569993823767 + 0.0447509996592999 + -1.0766370296478271 + <_> + + <_> + + + + <_>4 6 16 6 -1. + <_>12 6 8 3 2. + <_>4 9 8 3 2. + 0 + 0.0352750010788441 + -0.0329190008342266 + 1.2153890132904053 + <_> + + <_> + + + + <_>1 0 18 22 -1. + <_>1 0 9 11 2. + <_>10 11 9 11 2. + 0 + -0.2039290070533752 + -1.3187999725341797 + 0.0155039997771382 + <_> + + <_> + + + + <_>10 7 8 14 -1. + <_>14 7 4 7 2. + <_>10 14 4 7 2. + 0 + -0.0166190005838871 + 0.3685019910335541 + -0.1528369933366776 + <_> + + <_> + + + + <_>0 4 6 20 -1. + <_>0 4 3 10 2. + <_>3 14 3 10 2. + 0 + 0.0377390012145042 + -0.2572779953479767 + 0.7065529823303223 + <_> + + <_> + + + + <_>15 0 6 9 -1. + <_>17 0 2 9 3. + 0 + 2.2720000706613064e-003 + -0.0776029974222183 + 0.3336780071258545 + <_> + + <_> + + + + <_>3 0 6 9 -1. + <_>5 0 2 9 3. + 0 + -0.0148029997944832 + -0.7852479815483093 + 0.0769340023398399 + <_> + + <_> + + + + <_>15 12 6 12 -1. + <_>18 12 3 6 2. + <_>15 18 3 6 2. + 0 + -0.0483190007507801 + 1.7022320032119751 + 0.0497220009565353 + <_> + + <_> + + + + <_>3 12 6 12 -1. + <_>3 12 3 6 2. + <_>6 18 3 6 2. + 0 + -0.0295390002429485 + 0.7767069935798645 + -0.2453429996967316 + <_> + + <_> + + + + <_>15 12 9 6 -1. + <_>15 14 9 2 3. + 0 + -0.0461690016090870 + -1.4922779798507690 + 0.1234000027179718 + <_> + + <_> + + + + <_>0 12 9 6 -1. + <_>0 14 9 2 3. + 0 + -0.0280649997293949 + -2.1345369815826416 + -0.0257970001548529 + <_> + + <_> + + + + <_>4 14 19 3 -1. + <_>4 15 19 1 3. + 0 + -5.7339998893439770e-003 + 0.5698260068893433 + -0.1205660030245781 + <_> + + <_> + + + + <_>2 13 19 3 -1. + <_>2 14 19 1 3. + 0 + -0.0101110003888607 + 0.6791139841079712 + -0.2663800120353699 + <_> + + <_> + + + + <_>14 15 10 6 -1. + <_>14 17 10 2 3. + 0 + 0.0113599998876452 + 0.2478979974985123 + -0.6449300050735474 + <_> + + <_> + + + + <_>6 0 10 12 -1. + <_>6 0 5 6 2. + <_>11 6 5 6 2. + 0 + 0.0518090017139912 + 0.0147160002961755 + -1.2395579814910889 + <_> + + <_> + + + + <_>17 1 6 12 -1. + <_>20 1 3 6 2. + <_>17 7 3 6 2. + 0 + 0.0332919992506504 + -8.2559995353221893e-003 + 1.0168470144271851 + <_> + + <_> + + + + <_>1 1 6 12 -1. + <_>1 1 3 6 2. + <_>4 7 3 6 2. + 0 + -0.0144940000027418 + 0.4506680071353912 + -0.3625099956989288 + <_> + + <_> + + + + <_>16 14 6 9 -1. + <_>16 17 6 3 3. + 0 + -0.0342219993472099 + -0.9529250264167786 + 0.2068459987640381 + <_> + + <_> + + + + <_>7 3 9 12 -1. + <_>7 9 9 6 2. + 0 + -0.0806540027260780 + -2.0139501094818115 + -0.0230849999934435 + <_> + + <_> + + + + <_>12 1 4 12 -1. + <_>12 7 4 6 2. + 0 + -8.9399999706074595e-004 + 0.3957200050354004 + -0.2935130000114441 + <_> + + <_> + + + + <_>4 0 14 8 -1. + <_>4 4 14 4 2. + 0 + 0.0971620008349419 + -0.2498030066490173 + 1.0859220027923584 + <_> + + <_> + + + + <_>10 6 6 9 -1. + <_>12 6 2 9 3. + 0 + 0.0366140007972717 + -0.0578440017998219 + 1.2162159681320190 + <_> + + <_> + + + + <_>2 10 18 3 -1. + <_>8 10 6 3 3. + 0 + 0.0516939982771873 + 0.0430629998445511 + -1.0636160373687744 + <_> + + <_> + + + + <_>15 15 9 6 -1. + <_>15 17 9 2 3. + 0 + -0.0245570000261068 + -0.4894680082798004 + 0.1718290001153946 + <_> + + <_> + + + + <_>0 1 21 23 -1. + <_>7 1 7 23 3. + 0 + 0.3273679912090302 + -0.2968859970569611 + 0.5179830193519592 + <_> + + <_> + + + + <_>6 9 17 4 -1. + <_>6 11 17 2 2. + 0 + 7.6959999278187752e-003 + -0.5980589985847473 + 0.2480320036411285 + <_> + + <_> + + + + <_>1 0 11 18 -1. + <_>1 6 11 6 3. + 0 + 0.1617220044136047 + -0.0296139996498823 + -2.3162529468536377 + <_> + + <_> + + + + <_>6 15 13 6 -1. + <_>6 17 13 2 3. + 0 + -4.7889999113976955e-003 + 0.3745790123939514 + -0.3277919888496399 + <_> + + <_> + + + + <_>0 15 9 6 -1. + <_>0 17 9 2 3. + 0 + -0.0184029992669821 + -0.9969270229339600 + 0.0729480013251305 + <_> + + <_> + + + + <_>8 7 15 4 -1. + <_>13 7 5 4 3. + 0 + 0.0776650011539459 + 0.1417569965124130 + -1.7238730192184448 + <_> + + <_> + + + + <_>9 12 6 9 -1. + <_>9 15 6 3 3. + 0 + 0.0189210008829832 + -0.2127310037612915 + 1.0165189504623413 + <_> + + <_> + + + + <_>6 8 18 3 -1. + <_>12 8 6 3 3. + 0 + -0.0793979987502098 + -1.3164349794387817 + 0.1498199999332428 + <_> + + <_> + + + + <_>0 14 24 4 -1. + <_>8 14 8 4 3. + 0 + -0.0680370032787323 + 0.4942199885845184 + -0.2909100055694580 + <_> + + <_> + + + + <_>16 10 3 12 -1. + <_>16 16 3 6 2. + 0 + -6.1010001227259636e-003 + 0.4243049919605255 + -0.3389930129051209 + <_> + + <_> + + + + <_>0 3 24 3 -1. + <_>0 4 24 1 3. + 0 + 0.0319270007312298 + -0.0310469996184111 + -2.3459999561309814 + <_> + + <_> + + + + <_>14 17 10 6 -1. + <_>14 19 10 2 3. + 0 + -0.0298439990729094 + -0.7898960113525391 + 0.1541769951581955 + <_> + + <_> + + + + <_>1 13 18 3 -1. + <_>7 13 6 3 3. + 0 + -0.0805419981479645 + -2.2509229183197021 + -0.0309069994837046 + <_> + + <_> + + + + <_>5 0 18 9 -1. + <_>5 3 18 3 3. + 0 + 3.8109999150037766e-003 + -0.2557730078697205 + 0.2378550022840500 + <_> + + <_> + + + + <_>4 3 16 9 -1. + <_>4 6 16 3 3. + 0 + 0.0336470007896423 + -0.2254139930009842 + 0.9230740070343018 + <_> + + <_> + + + + <_>16 5 3 12 -1. + <_>16 11 3 6 2. + 0 + 8.2809999585151672e-003 + -0.2889620065689087 + 0.3104619979858398 + <_> + + <_> + + + + <_>0 7 18 4 -1. + <_>6 7 6 4 3. + 0 + 0.1010439991950989 + -0.0348640009760857 + -2.7102620601654053 + <_> + + <_> + + + + <_>10 6 6 9 -1. + <_>12 6 2 9 3. + 0 + -0.0100090000778437 + 0.5971540212631226 + -0.0338310003280640 + <_> + + <_> + + + + <_>9 8 6 10 -1. + <_>11 8 2 10 3. + 0 + 7.1919998154044151e-003 + -0.4773800075054169 + 0.2268600016832352 + <_> + + <_> + + + + <_>9 15 6 9 -1. + <_>11 15 2 9 3. + 0 + 0.0249690003693104 + 0.2287770062685013 + -1.0435529947280884 + <_> + + <_> + + + + <_>3 1 18 21 -1. + <_>12 1 9 21 2. + 0 + 0.2790800034999847 + -0.2581810057163239 + 0.7678049802780151 + <_> + + <_> + + + + <_>6 8 12 7 -1. + <_>6 8 6 7 2. + 0 + -0.0442130006849766 + -0.5979800224304199 + 0.2803989946842194 + <_> + + <_> + + + + <_>8 5 6 9 -1. + <_>10 5 2 9 3. + 0 + -0.0141369998455048 + 0.7098730206489563 + -0.2564519941806793 + -3.8424909114837646 + 7 + -1 + <_> + + + <_> + + <_> + + + + <_>0 2 24 4 -1. + <_>8 2 8 4 3. + 0 + 0.1377120018005371 + -0.5587059855461121 + 1.0953769683837891 + <_> + + <_> + + + + <_>14 7 5 12 -1. + <_>14 11 5 4 3. + 0 + 0.0344609990715981 + -0.7117189764976502 + 0.5289959907531738 + <_> + + <_> + + + + <_>5 7 5 12 -1. + <_>5 11 5 4 3. + 0 + 0.0185800008475780 + -1.1157519817352295 + 0.4059399962425232 + <_> + + <_> + + + + <_>9 6 6 9 -1. + <_>11 6 2 9 3. + 0 + 0.0250419992953539 + -0.4089249968528748 + 0.7412999868392944 + <_> + + <_> + + + + <_>0 1 6 17 -1. + <_>3 1 3 17 2. + 0 + 0.0571790002286434 + -0.3805429935455322 + 0.7364770174026489 + <_> + + <_> + + + + <_>3 1 19 9 -1. + <_>3 4 19 3 3. + 0 + 0.0149320000782609 + -0.6994550228118897 + 0.3795099854469299 + <_> + + <_> + + + + <_>3 18 12 6 -1. + <_>3 18 6 3 2. + <_>9 21 6 3 2. + 0 + 8.8900001719594002e-003 + -0.5455859899520874 + 0.3633249998092651 + <_> + + <_> + + + + <_>20 4 4 19 -1. + <_>20 4 2 19 2. + 0 + 0.0304359998553991 + -0.1012459993362427 + 0.7958589792251587 + <_> + + <_> + + + + <_>0 16 10 7 -1. + <_>5 16 5 7 2. + 0 + -0.0441600009799004 + 0.8441089987754822 + -0.3297640085220337 + <_> + + <_> + + + + <_>8 7 10 12 -1. + <_>13 7 5 6 2. + <_>8 13 5 6 2. + 0 + 0.0184610001742840 + 0.2632659971714020 + -0.9673650264739990 + <_> + + <_> + + + + <_>6 7 10 12 -1. + <_>6 7 5 6 2. + <_>11 13 5 6 2. + 0 + 0.0106149995699525 + 0.1525190025568008 + -1.0589870214462280 + <_> + + <_> + + + + <_>9 2 9 6 -1. + <_>12 2 3 6 3. + 0 + -0.0459740012884140 + -1.9918340444564819 + 0.1362909972667694 + <_> + + <_> + + + + <_>1 20 21 4 -1. + <_>8 20 7 4 3. + 0 + 0.0829000025987625 + -0.3203719854354858 + 0.6030420064926148 + <_> + + <_> + + + + <_>9 12 9 6 -1. + <_>9 14 9 2 3. + 0 + -8.9130001142621040e-003 + 0.5958660244941711 + -0.2113959938287735 + <_> + + <_> + + + + <_>7 2 9 6 -1. + <_>10 2 3 6 3. + 0 + 0.0428140014410019 + 0.0229250006377697 + -1.4679330587387085 + <_> + + <_> + + + + <_>13 0 4 14 -1. + <_>13 0 2 14 2. + 0 + -8.7139997631311417e-003 + -0.4398950040340424 + 0.2043969929218292 + <_> + + <_> + + + + <_>7 0 4 14 -1. + <_>9 0 2 14 2. + 0 + -4.3390002101659775e-003 + -0.8906679749488831 + 0.1046999990940094 + <_> + + <_> + + + + <_>14 15 9 6 -1. + <_>14 17 9 2 3. + 0 + 8.0749997869133949e-003 + 0.2116419970989227 + -0.4023160040378571 + <_> + + <_> + + + + <_>2 8 18 5 -1. + <_>8 8 6 5 3. + 0 + 0.0967390015721321 + 0.0133199999108911 + -1.6085360050201416 + <_> + + <_> + + + + <_>18 3 6 11 -1. + <_>20 3 2 11 3. + 0 + -0.0305369999259710 + 1.0063740015029907 + -0.1341329962015152 + <_> + + <_> + + + + <_>6 5 11 14 -1. + <_>6 12 11 7 2. + 0 + -0.0608559995889664 + -1.4689979553222656 + 9.4240000471472740e-003 + <_> + + <_> + + + + <_>18 4 6 9 -1. + <_>18 7 6 3 3. + 0 + -0.0381620004773140 + -0.8163639903068543 + 0.2617120146751404 + <_> + + <_> + + + + <_>7 6 9 6 -1. + <_>7 8 9 2 3. + 0 + -9.6960002556443214e-003 + 0.1156169995665550 + -0.7169319987297058 + <_> + + <_> + + + + <_>18 4 6 9 -1. + <_>18 7 6 3 3. + 0 + 0.0489029996097088 + 0.1305049955844879 + -1.6448370218276978 + <_> + + <_> + + + + <_>0 4 6 9 -1. + <_>0 7 6 3 3. + 0 + -0.0416119992733002 + -1.1795840263366699 + 0.0250170007348061 + <_> + + <_> + + + + <_>9 4 9 4 -1. + <_>9 6 9 2 2. + 0 + -0.0201880000531673 + 0.6318820118904114 + -0.1049040034413338 + <_> + + <_> + + + + <_>0 22 19 2 -1. + <_>0 23 19 1 2. + 0 + -9.7900000400841236e-004 + 0.1850779950618744 + -0.5356590151786804 + <_> + + <_> + + + + <_>17 14 6 9 -1. + <_>17 17 6 3 3. + 0 + -0.0336220003664494 + -0.9312760233879089 + 0.2007150053977966 + <_> + + <_> + + + + <_>1 14 6 9 -1. + <_>1 17 6 3 3. + 0 + 0.0194559991359711 + 0.0380290001630783 + -1.0112210512161255 + <_> + + <_> + + + + <_>14 11 4 9 -1. + <_>14 11 2 9 2. + 0 + -3.1800000579096377e-004 + 0.3645769953727722 + -0.2761090099811554 + <_> + + <_> + + + + <_>6 11 4 9 -1. + <_>8 11 2 9 2. + 0 + -3.8899999344721437e-004 + 0.1966589987277985 + -0.5341050028800964 + <_> + + <_> + + + + <_>3 9 18 7 -1. + <_>9 9 6 7 3. + 0 + -0.0934960022568703 + -1.6772350072860718 + 0.2072709947824478 + <_> + + <_> + + + + <_>9 12 6 10 -1. + <_>9 17 6 5 2. + 0 + -0.0778779983520508 + -3.0760629177093506 + -0.0358039997518063 + <_> + + <_> + + + + <_>12 0 6 9 -1. + <_>14 0 2 9 3. + 0 + 0.0169479995965958 + 0.2144739925861359 + -0.7137629985809326 + <_> + + <_> + + + + <_>6 0 6 9 -1. + <_>8 0 2 9 3. + 0 + -0.0214590001851320 + -1.1468060016632080 + 0.0158559996634722 + <_> + + <_> + + + + <_>6 17 18 3 -1. + <_>6 18 18 1 3. + 0 + -0.0128659997135401 + 0.8381239771842957 + -0.0659440010786057 + <_> + + <_> + + + + <_>1 17 18 3 -1. + <_>1 18 18 1 3. + 0 + 7.8220004215836525e-003 + -0.2802680134773254 + 0.7937690019607544 + <_> + + <_> + + + + <_>10 6 11 12 -1. + <_>10 12 11 6 2. + 0 + 0.1029440015554428 + 0.1783230006694794 + -0.6841220259666443 + <_> + + <_> + + + + <_>5 6 14 6 -1. + <_>5 6 7 3 2. + <_>12 9 7 3 2. + 0 + -0.0374879986047745 + 0.9618999958038330 + -0.2173559963703156 + <_> + + <_> + + + + <_>5 4 15 4 -1. + <_>5 6 15 2 2. + 0 + 0.0255059991031885 + 0.0101039996370673 + 1.2461110353469849 + <_> + + <_> + + + + <_>0 0 22 2 -1. + <_>0 1 22 1 2. + 0 + 6.6700001480057836e-004 + -0.5348820090293884 + 0.1474629938602448 + <_> + + <_> + + + + <_>0 0 24 24 -1. + <_>8 0 8 24 3. + 0 + -0.2886790037155151 + 0.8217279911041260 + -0.0149480002000928 + <_> + + <_> + + + + <_>1 15 18 4 -1. + <_>10 15 9 4 2. + 0 + 0.0912949964404106 + -0.1960539966821671 + 1.0803170204162598 + <_> + + <_> + + + + <_>6 8 12 9 -1. + <_>6 11 12 3 3. + 0 + 0.1205660030245781 + -0.0238489992916584 + 1.1392610073089600 + <_> + + <_> + + + + <_>4 12 7 12 -1. + <_>4 16 7 4 3. + 0 + -0.0737750008702278 + -1.3583840131759644 + -4.2039998807013035e-003 + <_> + + <_> + + + + <_>1 2 22 6 -1. + <_>12 2 11 3 2. + <_>1 5 11 3 2. + 0 + -0.0331280007958412 + -0.6448320150375366 + 0.2414219975471497 + <_> + + <_> + + + + <_>5 20 14 3 -1. + <_>12 20 7 3 2. + 0 + -0.0439370013773441 + 0.8428540229797363 + -0.2062480002641678 + <_> + + <_> + + + + <_>0 0 24 16 -1. + <_>12 0 12 8 2. + <_>0 8 12 8 2. + 0 + 0.1811019927263260 + 0.1921209990978241 + -1.2222139835357666 + <_> + + <_> + + + + <_>3 13 18 4 -1. + <_>3 13 9 2 2. + <_>12 15 9 2 2. + 0 + -0.0118509996682405 + -0.7267739772796631 + 0.0526879988610744 + <_> + + <_> + + + + <_>2 10 22 2 -1. + <_>2 11 22 1 2. + 0 + 4.5920000411570072e-003 + -0.3630520105361939 + 0.2922379970550537 + <_> + + <_> + + + + <_>6 3 11 8 -1. + <_>6 7 11 4 2. + 0 + 7.0620002225041389e-003 + 0.0581160001456738 + -0.6716160178184509 + <_> + + <_> + + + + <_>14 5 6 6 -1. + <_>14 8 6 3 2. + 0 + -0.0237150005996227 + 0.4714210033416748 + 0.0185800008475780 + <_> + + <_> + + + + <_>0 7 24 6 -1. + <_>0 9 24 2 3. + 0 + -0.0671719983220100 + -1.1331889629364014 + 0.0237809997051954 + <_> + + <_> + + + + <_>14 0 10 10 -1. + <_>19 0 5 5 2. + <_>14 5 5 5 2. + 0 + -0.0653100013732910 + 0.9825350046157837 + 0.0283620003610849 + <_> + + <_> + + + + <_>0 0 10 10 -1. + <_>0 0 5 5 2. + <_>5 5 5 5 2. + 0 + 0.0227910000830889 + -0.2821370065212250 + 0.5899339914321899 + <_> + + <_> + + + + <_>0 1 24 4 -1. + <_>12 1 12 2 2. + <_>0 3 12 2 2. + 0 + -0.0190379992127419 + -0.6371150016784668 + 0.2651459872722626 + <_> + + <_> + + + + <_>0 17 18 3 -1. + <_>0 18 18 1 3. + 0 + -6.8689999170601368e-003 + 0.3748730123043060 + -0.3323209881782532 + <_> + + <_> + + + + <_>5 15 16 6 -1. + <_>13 15 8 3 2. + <_>5 18 8 3 2. + 0 + -0.0401460006833076 + -1.3048729896545410 + 0.1572429984807968 + <_> + + <_> + + + + <_>3 15 16 6 -1. + <_>3 15 8 3 2. + <_>11 18 8 3 2. + 0 + -0.0405309982597828 + -2.0458049774169922 + -0.0269259996712208 + <_> + + <_> + + + + <_>6 16 18 3 -1. + <_>6 17 18 1 3. + 0 + -0.0122539997100830 + 0.7764940261840820 + -0.0429710000753403 + <_> + + <_> + + + + <_>0 13 21 10 -1. + <_>0 18 21 5 2. + 0 + -0.0272199995815754 + 0.1742440015077591 + -0.4460090100765228 + <_> + + <_> + + + + <_>13 0 6 24 -1. + <_>15 0 2 24 3. + 0 + -0.0883660018444061 + -1.5036419630050659 + 0.1428990066051483 + <_> + + <_> + + + + <_>7 4 6 11 -1. + <_>9 4 2 11 3. + 0 + -7.9159997403621674e-003 + 0.2866669893264771 + -0.3792369961738586 + <_> + + <_> + + + + <_>9 5 9 6 -1. + <_>12 5 3 6 3. + 0 + -0.0419600009918213 + 1.3846950531005859 + 0.0650269985198975 + <_> + + <_> + + + + <_>1 4 2 20 -1. + <_>1 14 2 10 2. + 0 + 0.0456629991531372 + -0.2245229929685593 + 0.7952100038528442 + <_> + + <_> + + + + <_>13 0 6 24 -1. + <_>15 0 2 24 3. + 0 + -0.1409060060977936 + -1.5879319906234741 + 0.1135900020599365 + <_> + + <_> + + + + <_>5 0 6 24 -1. + <_>7 0 2 24 3. + 0 + -0.0592160001397133 + -1.1945960521697998 + -7.1640000678598881e-003 + <_> + + <_> + + + + <_>16 7 6 14 -1. + <_>19 7 3 7 2. + <_>16 14 3 7 2. + 0 + 4.3390002101659775e-003 + -0.1552869975566864 + 0.4066449999809265 + <_> + + <_> + + + + <_>4 7 4 12 -1. + <_>6 7 2 12 2. + 0 + -2.0369999110698700e-003 + 0.2592790126800537 + -0.3836829960346222 + <_> + + <_> + + + + <_>0 5 24 14 -1. + <_>8 5 8 14 3. + 0 + 0.2751649916172028 + -0.0884979963302612 + 0.7678750157356262 + <_> + + <_> + + + + <_>5 13 10 6 -1. + <_>5 15 10 2 3. + 0 + -0.0266019999980927 + 0.7502449750900269 + -0.2262199968099594 + <_> + + <_> + + + + <_>12 0 6 9 -1. + <_>14 0 2 9 3. + 0 + 0.0409060008823872 + 0.1215860024094582 + -1.4566910266876221 + <_> + + <_> + + + + <_>2 7 6 14 -1. + <_>2 7 3 7 2. + <_>5 14 3 7 2. + 0 + 5.5320002138614655e-003 + -0.3661150038242340 + 0.2596859931945801 + <_> + + <_> + + + + <_>15 2 9 15 -1. + <_>18 2 3 15 3. + 0 + 0.0318790003657341 + -0.0750190019607544 + 0.4848479926586151 + <_> + + <_> + + + + <_>0 2 6 9 -1. + <_>2 2 2 9 3. + 0 + -0.0414820015430450 + 0.7822039723396301 + -0.2199220061302185 + <_> + + <_> + + + + <_>12 2 10 14 -1. + <_>17 2 5 7 2. + <_>12 9 5 7 2. + 0 + -0.0961309969425201 + -0.8945630192756653 + 0.1468070000410080 + <_> + + <_> + + + + <_>11 6 2 18 -1. + <_>12 6 1 18 2. + 0 + -0.0115689998492599 + 0.8271409869194031 + -0.2027560025453568 + <_> + + <_> + + + + <_>9 5 15 6 -1. + <_>14 5 5 6 3. + 0 + 0.0183129999786615 + 0.0163679998368025 + 0.2730680108070374 + <_> + + <_> + + + + <_>8 6 6 10 -1. + <_>10 6 2 10 3. + 0 + -0.0341660007834435 + 1.1307320594787598 + -0.1881089955568314 + <_> + + <_> + + + + <_>12 0 6 9 -1. + <_>14 0 2 9 3. + 0 + -0.0244769994169474 + -0.5779129862785339 + 0.1581249982118607 + <_> + + <_> + + + + <_>3 3 9 7 -1. + <_>6 3 3 7 3. + 0 + 0.0489570014178753 + -0.0225649997591972 + -1.6373280286788940 + <_> + + <_> + + + + <_>6 7 14 3 -1. + <_>6 7 7 3 2. + 0 + -0.0207029990851879 + -0.5451210141181946 + 0.2408699989318848 + <_> + + <_> + + + + <_>7 7 8 6 -1. + <_>11 7 4 6 2. + 0 + -0.0230020005255938 + -1.2236540317535400 + -7.3440000414848328e-003 + <_> + + <_> + + + + <_>12 7 7 12 -1. + <_>12 13 7 6 2. + 0 + 0.0645850002765656 + 0.1469559967517853 + -0.4496749937534332 + <_> + + <_> + + + + <_>10 6 4 18 -1. + <_>10 6 2 9 2. + <_>12 15 2 9 2. + 0 + 0.0126660000532866 + -0.2787390053272247 + 0.4387660026550293 + <_> + + <_> + + + + <_>16 14 6 9 -1. + <_>16 17 6 3 3. + 0 + -0.0120029998943210 + -0.2428909987211227 + 0.2535009980201721 + <_> + + <_> + + + + <_>4 0 6 13 -1. + <_>6 0 2 13 3. + 0 + -0.0264439992606640 + -0.8586480021476746 + 0.0260259993374348 + <_> + + <_> + + + + <_>2 2 21 3 -1. + <_>9 2 7 3 3. + 0 + -0.0255479998886585 + 0.6928790211677551 + -2.1160000469535589e-003 + <_> + + <_> + + + + <_>5 4 5 12 -1. + <_>5 8 5 4 3. + 0 + 0.0391150005161762 + -0.1658910065889359 + 1.5209139585494995 + <_> + + <_> + + + + <_>10 3 4 10 -1. + <_>10 8 4 5 2. + 0 + -6.0330000706017017e-003 + 0.4385690093040466 + -0.2161370068788528 + <_> + + <_> + + + + <_>8 4 5 8 -1. + <_>8 8 5 4 2. + 0 + -0.0339369997382164 + -0.9799839854240418 + 0.0221330001950264 + -3.6478610038757324 + 8 + -1 + <_> + + + <_> + + <_> + + + + <_>6 0 11 9 -1. + <_>6 3 11 3 3. + 0 + 0.0406729988753796 + -0.9047470092773438 + 0.6441059708595276 + <_> + + <_> + + + + <_>6 6 12 5 -1. + <_>10 6 4 5 3. + 0 + 0.0256099998950958 + -0.7921699881553650 + 0.5748999714851379 + <_> + + <_> + + + + <_>0 0 24 5 -1. + <_>8 0 8 5 3. + 0 + 0.1995950043201447 + -0.3009960055351257 + 1.3143850564956665 + <_> + + <_> + + + + <_>1 10 23 6 -1. + <_>1 12 23 2 3. + 0 + 0.0124049996957183 + -0.8988299965858460 + 0.2920579910278320 + <_> + + <_> + + + + <_>3 21 18 3 -1. + <_>9 21 6 3 3. + 0 + 0.0392079986631870 + -0.4195519983768463 + 0.5346329808235169 + <_> + + <_> + + + + <_>3 6 21 6 -1. + <_>3 8 21 2 3. + 0 + -0.0308439992368221 + 0.4579339921474457 + -0.4462909996509552 + <_> + + <_> + + + + <_>0 5 6 12 -1. + <_>2 5 2 12 3. + 0 + -0.0355230011045933 + 0.9131050109863281 + -0.2737320065498352 + <_> + + <_> + + + + <_>10 2 4 15 -1. + <_>10 7 4 5 3. + 0 + -0.0616500005125999 + -1.4697799682617187 + 0.2036409974098206 + <_> + + <_> + + + + <_>8 7 8 10 -1. + <_>8 12 8 5 2. + 0 + -0.0117399999871850 + -1.0482879877090454 + 0.0678019970655441 + <_> + + <_> + + + + <_>5 7 15 12 -1. + <_>10 7 5 12 3. + 0 + 0.0669339969754219 + 0.2927449941635132 + -0.5228289961814880 + <_> + + <_> + + + + <_>0 17 10 6 -1. + <_>0 19 10 2 3. + 0 + -0.0206310003995895 + -1.2855139970779419 + 0.0445509999990463 + <_> + + <_> + + + + <_>14 18 9 6 -1. + <_>14 20 9 2 3. + 0 + -0.0223570000380278 + -0.8575379848480225 + 0.1843400001525879 + <_> + + <_> + + + + <_>9 6 6 16 -1. + <_>9 14 6 8 2. + 0 + 1.1500000255182385e-003 + 0.1640550047159195 + -0.6912500262260437 + <_> + + <_> + + + + <_>14 18 9 6 -1. + <_>14 20 9 2 3. + 0 + 0.0358729995787144 + 0.1575649976730347 + -0.8426259756088257 + <_> + + <_> + + + + <_>1 18 9 6 -1. + <_>1 20 9 2 3. + 0 + 0.0306599996984005 + 0.0216370001435280 + -1.3634690046310425 + <_> + + <_> + + + + <_>15 9 9 6 -1. + <_>15 11 9 2 3. + 0 + 5.5559999309480190e-003 + -0.1673700064420700 + 0.2588840126991272 + <_> + + <_> + + + + <_>0 9 9 6 -1. + <_>0 11 9 2 3. + 0 + -6.1160000041127205e-003 + -0.9727180004119873 + 0.0661000013351440 + <_> + + <_> + + + + <_>17 3 6 9 -1. + <_>19 3 2 9 3. + 0 + -0.0303169991821051 + 0.9847419857978821 + -0.0164480004459620 + <_> + + <_> + + + + <_>2 17 18 3 -1. + <_>2 18 18 1 3. + 0 + -9.7200004383921623e-003 + 0.4760470092296600 + -0.3251670002937317 + <_> + + <_> + + + + <_>3 15 21 6 -1. + <_>3 17 21 2 3. + 0 + -0.0571269989013672 + -0.9592069983482361 + 0.1993820071220398 + <_> + + <_> + + + + <_>9 17 6 6 -1. + <_>9 20 6 3 2. + 0 + 4.0059997700154781e-003 + -0.5261250138282776 + 0.2242870032787323 + <_> + + <_> + + + + <_>18 3 6 9 -1. + <_>18 6 6 3 3. + 0 + 0.0337340012192726 + 0.1707009971141815 + -1.0737580060958862 + <_> + + <_> + + + + <_>0 3 6 9 -1. + <_>0 6 6 3 3. + 0 + -0.0346419997513294 + -1.1343129873275757 + 0.0365400016307831 + <_> + + <_> + + + + <_>4 0 16 10 -1. + <_>12 0 8 5 2. + <_>4 5 8 5 2. + 0 + 0.0469230003654957 + 0.2583230137825012 + -0.7153580188751221 + <_> + + <_> + + + + <_>2 0 10 16 -1. + <_>2 0 5 8 2. + <_>7 8 5 8 2. + 0 + -8.7660001590847969e-003 + 0.1964090019464493 + -0.5335509777069092 + <_> + + <_> + + + + <_>14 0 10 5 -1. + <_>14 0 5 5 2. + 0 + 0.0656279996037483 + -0.0511949993669987 + 0.9761070013046265 + <_> + + <_> + + + + <_>0 0 10 5 -1. + <_>5 0 5 5 2. + 0 + -0.0441650003194809 + 1.0631920099258423 + -0.2346259951591492 + <_> + + <_> + + + + <_>18 3 6 10 -1. + <_>18 3 3 10 2. + 0 + 0.0173049997538328 + -0.1858289986848831 + 0.4588989913463593 + <_> + + <_> + + + + <_>5 11 12 6 -1. + <_>5 11 6 3 2. + <_>11 14 6 3 2. + 0 + 0.0331359989941120 + -0.0293819997459650 + -2.6651329994201660 + <_> + + <_> + + + + <_>21 0 3 18 -1. + <_>22 0 1 18 3. + 0 + -0.0210299994796515 + 0.9997990131378174 + 0.0249370001256466 + <_> + + <_> + + + + <_>6 0 6 9 -1. + <_>8 0 2 9 3. + 0 + 0.0297839995473623 + -0.0296059995889664 + -2.1695868968963623 + <_> + + <_> + + + + <_>8 8 9 7 -1. + <_>11 8 3 7 3. + 0 + 0.0552919991314411 + -7.5599999399855733e-004 + 0.7465199828147888 + <_> + + <_> + + + + <_>7 12 8 10 -1. + <_>7 12 4 5 2. + <_>11 17 4 5 2. + 0 + -0.0335979983210564 + -1.5274159908294678 + 0.0110600003972650 + <_> + + <_> + + + + <_>21 0 3 18 -1. + <_>22 0 1 18 3. + 0 + 0.0196029990911484 + 0.0335749983787537 + 0.9952620267868042 + <_> + + <_> + + + + <_>10 6 4 9 -1. + <_>12 6 2 9 2. + 0 + -0.0207870006561279 + 0.7661290168762207 + -0.2467080056667328 + <_> + + <_> + + + + <_>15 0 9 6 -1. + <_>15 2 9 2 3. + 0 + 0.0325360000133514 + 0.1626340001821518 + -0.6113430261611939 + <_> + + <_> + + + + <_>0 2 24 3 -1. + <_>0 3 24 1 3. + 0 + -0.0107880001887679 + -0.9783970117568970 + 0.0289699994027615 + <_> + + <_> + + + + <_>11 7 6 9 -1. + <_>13 7 2 9 3. + 0 + -9.9560003727674484e-003 + 0.4614579975605011 + -0.1351049989461899 + <_> + + <_> + + + + <_>7 6 6 10 -1. + <_>9 6 2 10 3. + 0 + -3.7489999085664749e-003 + 0.2545819878578186 + -0.5195559859275818 + <_> + + <_> + + + + <_>12 1 6 12 -1. + <_>14 1 2 12 3. + 0 + -0.0417799986898899 + -0.8056510090827942 + 0.1520850062370300 + <_> + + <_> + + + + <_>6 4 12 12 -1. + <_>6 10 12 6 2. + 0 + -0.0342210009694099 + -1.3137799501419067 + -3.5800000187009573e-003 + <_> + + <_> + + + + <_>14 3 2 21 -1. + <_>14 3 1 21 2. + 0 + 0.0101300003007054 + 0.2017579972743988 + -0.6133959889411926 + <_> + + <_> + + + + <_>6 1 12 8 -1. + <_>6 5 12 4 2. + 0 + -0.0898490026593208 + 0.9763280153274536 + -0.2088479995727539 + <_> + + <_> + + + + <_>3 0 18 8 -1. + <_>3 4 18 4 2. + 0 + 0.0260979998856783 + -0.1880799978971481 + 0.4770579934120178 + <_> + + <_> + + + + <_>3 0 18 3 -1. + <_>3 1 18 1 3. + 0 + -3.7539999466389418e-003 + -0.6798040270805359 + 0.1128880009055138 + <_> + + <_> + + + + <_>0 13 24 4 -1. + <_>12 13 12 2 2. + <_>0 15 12 2 2. + 0 + 0.0319730006158352 + 0.1895170062780380 + -1.4967479705810547 + <_> + + <_> + + + + <_>10 5 4 9 -1. + <_>12 5 2 9 2. + 0 + 0.0193329993635416 + -0.2360990047454834 + 0.8132050037384033 + <_> + + <_> + + + + <_>11 1 6 9 -1. + <_>13 1 2 9 3. + 0 + 1.9490000559017062e-003 + 0.2483039945363998 + -0.0692119970917702 + <_> + + <_> + + + + <_>6 2 6 22 -1. + <_>8 2 2 22 3. + 0 + -0.0441469997167587 + -1.0418920516967773 + 0.0480530001223087 + <_> + + <_> + + + + <_>16 10 8 14 -1. + <_>20 10 4 7 2. + <_>16 17 4 7 2. + 0 + -0.0446819998323917 + 0.5134630203247070 + -7.3799998499453068e-003 + <_> + + <_> + + + + <_>3 4 16 15 -1. + <_>3 9 16 5 3. + 0 + -0.1075749993324280 + 1.6202019453048706 + -0.1866759955883026 + <_> + + <_> + + + + <_>16 10 8 14 -1. + <_>20 10 4 7 2. + <_>16 17 4 7 2. + 0 + -0.1284680068492889 + 2.9869480133056641 + 0.0954279974102974 + <_> + + <_> + + + + <_>0 10 8 14 -1. + <_>0 10 4 7 2. + <_>4 17 4 7 2. + 0 + -0.0447579994797707 + 0.6040530204772949 + -0.2705869972705841 + <_> + + <_> + + + + <_>10 14 11 6 -1. + <_>10 17 11 3 2. + 0 + -0.0439909994602203 + -0.6179050207138062 + 0.1599719971418381 + <_> + + <_> + + + + <_>0 7 24 9 -1. + <_>8 7 8 9 3. + 0 + -0.1226899996399880 + 0.6632720232009888 + -0.2363699972629547 + <_> + + <_> + + + + <_>13 1 4 16 -1. + <_>13 1 2 16 2. + 0 + -0.0199829991906881 + -1.1228660345077515 + 0.1961670070886612 + <_> + + <_> + + + + <_>7 1 4 16 -1. + <_>9 1 2 16 2. + 0 + -0.0155279999598861 + -1.0770269632339478 + 0.0206930004060268 + <_> + + <_> + + + + <_>5 5 16 8 -1. + <_>13 5 8 4 2. + <_>5 9 8 4 2. + 0 + -0.0489710010588169 + 0.8116829991340637 + -0.0172520000487566 + <_> + + <_> + + + + <_>0 9 6 9 -1. + <_>0 12 6 3 3. + 0 + 0.0559759996831417 + -0.0225290004163980 + -1.7356760501861572 + <_> + + <_> + + + + <_>6 16 18 3 -1. + <_>6 17 18 1 3. + 0 + -9.8580000922083855e-003 + 0.6788139939308167 + -0.0581800006330013 + <_> + + <_> + + + + <_>3 12 6 9 -1. + <_>3 15 6 3 3. + 0 + 0.0134810004383326 + 0.0578479990363121 + -0.7725530266761780 + <_> + + <_> + + + + <_>8 14 9 6 -1. + <_>8 16 9 2 3. + 0 + 6.5609999001026154e-003 + -0.1314689964056015 + 0.6705579757690430 + <_> + + <_> + + + + <_>2 13 8 10 -1. + <_>2 13 4 5 2. + <_>6 18 4 5 2. + 0 + 7.1149999275803566e-003 + -0.3788059949874878 + 0.3097899854183197 + <_> + + <_> + + + + <_>15 5 3 18 -1. + <_>15 11 3 6 3. + 0 + 4.8159998841583729e-003 + -0.5847039818763733 + 0.2560209929943085 + <_> + + <_> + + + + <_>3 5 18 3 -1. + <_>3 6 18 1 3. + 0 + 9.5319999381899834e-003 + -0.3021700084209442 + 0.4125329852104187 + <_> + + <_> + + + + <_>17 5 6 11 -1. + <_>19 5 2 11 3. + 0 + -0.0274749994277954 + 0.5915470123291016 + 0.0179639998823404 + <_> + + <_> + + + + <_>1 5 6 11 -1. + <_>3 5 2 11 3. + 0 + -0.0395199991762638 + 0.9691349864006043 + -0.2102030068635941 + <_> + + <_> + + + + <_>19 1 4 9 -1. + <_>19 1 2 9 2. + 0 + -0.0306589994579554 + 0.9115589857101440 + 0.0405500009655952 + <_> + + <_> + + + + <_>1 1 4 9 -1. + <_>3 1 2 9 2. + 0 + -1.4680000022053719e-003 + -0.6048979759216309 + 0.1696089953184128 + <_> + + <_> + + + + <_>4 15 18 9 -1. + <_>4 15 9 9 2. + 0 + 0.1907760053873062 + 0.0435150004923344 + 0.8189290165901184 + <_> + + <_> + + + + <_>6 9 12 4 -1. + <_>6 11 12 2 2. + 0 + 5.1790000870823860e-003 + -0.9361730217933655 + 0.0249370001256466 + <_> + + <_> + + + + <_>15 2 9 6 -1. + <_>15 4 9 2 3. + 0 + 0.0241260007023811 + 0.1817550063133240 + -0.3418590128421783 + <_> + + <_> + + + + <_>0 2 9 6 -1. + <_>0 4 9 2 3. + 0 + -0.0263839997351170 + -1.2912579774856567 + -3.4280000254511833e-003 + <_> + + <_> + + + + <_>15 0 6 17 -1. + <_>17 0 2 17 3. + 0 + 5.4139997810125351e-003 + -0.0462919995188713 + 0.2526960074901581 + <_> + + <_> + + + + <_>3 0 6 17 -1. + <_>5 0 2 17 3. + 0 + 0.0542160011827946 + -0.0128480000421405 + -1.4304540157318115 + <_> + + <_> + + + + <_>8 17 9 4 -1. + <_>8 19 9 2 2. + 0 + 2.3799999326001853e-004 + -0.2667669951915741 + 0.3358829915523529 + <_> + + <_> + + + + <_>6 5 3 18 -1. + <_>6 11 3 6 3. + 0 + 0.0152169996872544 + -0.5136730074882507 + 0.1300510019063950 + <_> + + <_> + + + + <_>5 2 14 12 -1. + <_>5 8 14 6 2. + 0 + 0.0170079991221428 + 0.4157589972019196 + -0.3124119937419891 + <_> + + <_> + + + + <_>10 2 3 12 -1. + <_>10 8 3 6 2. + 0 + 0.0304969996213913 + -0.2482099980115891 + 0.7082849740982056 + <_> + + <_> + + + + <_>10 7 14 15 -1. + <_>10 12 14 5 3. + 0 + 6.5430002287030220e-003 + -0.2263700067996979 + 0.1918459981679916 + <_> + + <_> + + + + <_>0 7 14 15 -1. + <_>0 12 14 5 3. + 0 + 0.1416399925947189 + 0.0652270019054413 + -0.8880950212478638 + <_> + + <_> + + + + <_>15 0 9 6 -1. + <_>15 2 9 2 3. + 0 + 0.0193380005657673 + 0.1889120042324066 + -0.2739770114421845 + <_> + + <_> + + + + <_>0 0 9 6 -1. + <_>0 2 9 2 3. + 0 + -0.0173240005970001 + -0.9486669898033142 + 0.0241969991475344 + <_> + + <_> + + + + <_>12 6 6 14 -1. + <_>14 6 2 14 3. + 0 + -6.2069999985396862e-003 + 0.3693839907646179 + -0.1749490052461624 + <_> + + <_> + + + + <_>9 7 6 9 -1. + <_>11 7 2 9 3. + 0 + -0.0161090008914471 + 0.9615949988365173 + -0.2000530064105988 + <_> + + <_> + + + + <_>12 6 6 15 -1. + <_>14 6 2 15 3. + 0 + -0.1012250036001205 + -3.0699110031127930 + 0.1136379987001419 + <_> + + <_> + + + + <_>6 6 6 15 -1. + <_>8 6 2 15 3. + 0 + -7.5509999878704548e-003 + 0.2292100042104721 + -0.4564509987831116 + <_> + + <_> + + + + <_>15 3 8 9 -1. + <_>15 3 4 9 2. + 0 + 0.0442479997873306 + -3.1599999056197703e-004 + 0.3922530114650726 + <_> + + <_> + + + + <_>0 0 9 21 -1. + <_>3 0 3 21 3. + 0 + -0.1163600012660027 + 0.9523370265960693 + -0.2020159959793091 + <_> + + <_> + + + + <_>11 9 8 12 -1. + <_>11 13 8 4 3. + 0 + 4.7360002063214779e-003 + -0.0991770029067993 + 0.2037049978971481 + <_> + + <_> + + + + <_>6 7 10 12 -1. + <_>6 7 5 6 2. + <_>11 13 5 6 2. + 0 + 0.0224590003490448 + 8.7280003353953362e-003 + -1.0217070579528809 + <_> + + <_> + + + + <_>10 6 4 18 -1. + <_>12 6 2 9 2. + <_>10 15 2 9 2. + 0 + -0.0121090002357960 + 0.6481260061264038 + -0.0901490002870560 + <_> + + <_> + + + + <_>0 0 6 9 -1. + <_>0 3 6 3 3. + 0 + 0.0561200007796288 + -0.0367599986493587 + -1.9275590181350708 + <_> + + <_> + + + + <_>3 14 18 3 -1. + <_>3 15 18 1 3. + 0 + -8.7379999458789825e-003 + 0.6926130056381226 + -0.0683749988675117 + <_> + + <_> + + + + <_>3 14 8 10 -1. + <_>3 14 4 5 2. + <_>7 19 4 5 2. + 0 + 6.6399998031556606e-003 + -0.4056980013847351 + 0.1862570047378540 + <_> + + <_> + + + + <_>0 12 24 4 -1. + <_>12 12 12 2 2. + <_>0 14 12 2 2. + 0 + -0.0181319992989302 + -0.6451820135116577 + 0.2197639942169190 + <_> + + <_> + + + + <_>0 2 3 20 -1. + <_>1 2 1 20 3. + 0 + -0.0227189995348454 + 0.9777619838714600 + -0.1865430027246475 + <_> + + <_> + + + + <_>12 16 10 8 -1. + <_>17 16 5 4 2. + <_>12 20 5 4 2. + 0 + 0.0127050001174212 + -0.1054660007357597 + 0.3740409910678864 + <_> + + <_> + + + + <_>2 16 10 8 -1. + <_>2 16 5 4 2. + <_>7 20 5 4 2. + 0 + -0.0136829996481538 + 0.6106410026550293 + -0.2688109874725342 + -3.8700489997863770 + 9 + -1 + <_> + + + <_> + + <_> + + + + <_>7 0 10 9 -1. + <_>7 3 10 3 3. + 0 + 0.0313579998910427 + -1.0183910131454468 + 0.5752859711647034 + <_> + + <_> + + + + <_>0 0 24 3 -1. + <_>8 0 8 3 3. + 0 + 0.0930500030517578 + -0.4129750132560730 + 1.0091199874877930 + <_> + + <_> + + + + <_>3 8 15 4 -1. + <_>3 10 15 2 2. + 0 + 0.0259499996900558 + -0.5858790278434753 + 0.5660619735717773 + <_> + + <_> + + + + <_>6 5 12 6 -1. + <_>10 5 4 6 3. + 0 + 0.0164720006287098 + -0.9285749793052673 + 0.3092449903488159 + <_> + + <_> + + + + <_>5 13 14 6 -1. + <_>5 16 14 3 2. + 0 + -1.8779999809339643e-003 + 0.1195100024342537 + -1.1180130243301392 + <_> + + <_> + + + + <_>11 14 4 10 -1. + <_>11 19 4 5 2. + 0 + -9.0129999443888664e-003 + -0.5784950256347656 + 0.3315440118312836 + <_> + + <_> + + + + <_>0 6 6 7 -1. + <_>3 6 3 7 2. + 0 + 0.0225479993969202 + -0.3832510113716126 + 0.5246220231056213 + <_> + + <_> + + + + <_>18 0 6 6 -1. + <_>18 0 3 6 2. + 0 + -0.0377800017595291 + 1.1790670156478882 + -0.0341669991612434 + <_> + + <_> + + + + <_>3 1 18 3 -1. + <_>3 2 18 1 3. + 0 + -5.3799999877810478e-003 + -0.8626589775085449 + 0.1186790019273758 + <_> + + <_> + + + + <_>9 6 14 18 -1. + <_>9 12 14 6 3. + 0 + -0.0238930005580187 + -0.7495059967041016 + 0.2101140022277832 + <_> + + <_> + + + + <_>0 0 6 6 -1. + <_>3 0 3 6 2. + 0 + -0.0265219993889332 + 0.9212859869003296 + -0.2825280129909515 + <_> + + <_> + + + + <_>13 11 6 6 -1. + <_>13 11 3 6 2. + 0 + 0.0122800003737211 + 0.2666279971599579 + -0.7001360058784485 + <_> + + <_> + + + + <_>0 20 24 3 -1. + <_>8 20 8 3 3. + 0 + 0.0965949967503548 + -0.2845399975776672 + 0.7316899895668030 + <_> + + <_> + + + + <_>13 11 6 7 -1. + <_>13 11 3 7 2. + 0 + -0.0274149999022484 + -0.6149269938468933 + 0.1557620018720627 + <_> + + <_> + + + + <_>4 12 10 6 -1. + <_>4 14 10 2 3. + 0 + -0.0157670006155968 + 0.5755119919776917 + -0.3436219990253449 + <_> + + <_> + + + + <_>13 11 6 6 -1. + <_>13 11 3 6 2. + 0 + -2.1100000012665987e-003 + 0.3259969949722290 + -0.1300829946994782 + <_> + + <_> + + + + <_>5 11 6 7 -1. + <_>8 11 3 7 2. + 0 + 0.0120069999247789 + 0.0893229991197586 + -0.9602559804916382 + <_> + + <_> + + + + <_>7 4 11 12 -1. + <_>7 8 11 4 3. + 0 + -0.0154219996184111 + 0.3444949984550476 + -0.4671199917793274 + <_> + + <_> + + + + <_>6 15 10 4 -1. + <_>6 17 10 2 2. + 0 + -4.1579999960958958e-003 + 0.2369630038738251 + -0.5256329774856567 + <_> + + <_> + + + + <_>14 0 6 9 -1. + <_>16 0 2 9 3. + 0 + -0.0211859997361898 + -0.7426769733428955 + 0.2170200049877167 + <_> + + <_> + + + + <_>4 0 6 9 -1. + <_>6 0 2 9 3. + 0 + -0.0170770008116961 + -0.9047179818153381 + 0.0660120025277138 + <_> + + <_> + + + + <_>11 2 4 15 -1. + <_>11 7 4 5 3. + 0 + -0.0408499985933304 + -0.3444660007953644 + 0.2150370031595230 + <_> + + <_> + + + + <_>0 0 20 3 -1. + <_>0 1 20 1 3. + 0 + -8.1930002197623253e-003 + -0.9338859915733337 + 0.0504710003733635 + <_> + + <_> + + + + <_>13 18 10 6 -1. + <_>13 20 10 2 3. + 0 + -0.0192380007356405 + -0.5320370197296143 + 0.1724060028791428 + <_> + + <_> + + + + <_>2 7 6 11 -1. + <_>5 7 3 11 2. + 0 + -0.0441920012235641 + 0.9207500219345093 + -0.2214850038290024 + <_> + + <_> + + + + <_>10 14 10 9 -1. + <_>10 17 10 3 3. + 0 + -0.0623920001089573 + -0.7105380296707153 + 0.1832389980554581 + <_> + + <_> + + + + <_>8 2 4 9 -1. + <_>10 2 2 9 2. + 0 + -1.0079999919980764e-003 + -0.8706309795379639 + 0.0553300008177757 + <_> + + <_> + + + + <_>14 3 10 4 -1. + <_>14 3 5 4 2. + 0 + 0.0238700006157160 + -0.2285420000553131 + 0.5241559743881226 + <_> + + <_> + + + + <_>6 6 12 6 -1. + <_>6 6 6 3 2. + <_>12 9 6 3 2. + 0 + 0.0213910005986691 + -0.3032589852809906 + 0.5586060285568237 + <_> + + <_> + + + + <_>8 8 8 10 -1. + <_>12 8 4 5 2. + <_>8 13 4 5 2. + 0 + 0.0202549993991852 + 0.2690150141716003 + -0.7026180028915405 + <_> + + <_> + + + + <_>7 4 4 16 -1. + <_>7 12 4 8 2. + 0 + -0.0287720002233982 + -1.1835030317306519 + 0.0465120002627373 + <_> + + <_> + + + + <_>8 8 9 4 -1. + <_>8 10 9 2 2. + 0 + 3.4199999645352364e-003 + -0.5465210080146790 + 0.2596249878406525 + <_> + + <_> + + + + <_>5 2 14 9 -1. + <_>5 5 14 3 3. + 0 + 0.0569830015301704 + -0.2698290050029755 + 0.5817070007324219 + <_> + + <_> + + + + <_>3 16 19 8 -1. + <_>3 20 19 4 2. + 0 + -0.0938920006155968 + -0.9104639887809753 + 0.1967770010232925 + <_> + + <_> + + + + <_>0 0 10 8 -1. + <_>5 0 5 8 2. + 0 + 0.0176999997347593 + -0.4400329887866974 + 0.2134950011968613 + <_> + + <_> + + + + <_>5 2 16 18 -1. + <_>5 2 8 18 2. + 0 + 0.2284419983625412 + 0.0236050002276897 + 0.7717159986495972 + <_> + + <_> + + + + <_>0 11 24 11 -1. + <_>8 11 8 11 3. + 0 + -0.1828750073909760 + 0.7922859787940979 + -0.2464479953050613 + <_> + + <_> + + + + <_>3 3 18 5 -1. + <_>3 3 9 5 2. + 0 + -0.0698919966816902 + 0.8026779890060425 + -0.0360720008611679 + <_> + + <_> + + + + <_>1 16 18 3 -1. + <_>1 17 18 1 3. + 0 + 0.0152970002964139 + -0.2007230073213577 + 1.1030600070953369 + <_> + + <_> + + + + <_>5 17 18 3 -1. + <_>5 18 18 1 3. + 0 + 6.7500001750886440e-003 + -0.0459679998457432 + 0.7209450006484985 + <_> + + <_> + + + + <_>1 13 9 6 -1. + <_>1 15 9 2 3. + 0 + -0.0159830003976822 + -0.9035720229148865 + 0.0449879989027977 + <_> + + <_> + + + + <_>1 9 23 10 -1. + <_>1 14 23 5 2. + 0 + 0.0130880000069737 + 0.3529709875583649 + -0.3771060109138489 + <_> + + <_> + + + + <_>3 7 18 3 -1. + <_>3 8 18 1 3. + 0 + 0.0130610000342131 + -0.1958359926939011 + 1.1198940277099609 + <_> + + <_> + + + + <_>6 8 12 3 -1. + <_>6 8 6 3 2. + 0 + -0.0399070009589195 + -1.3998429775238037 + 0.1914509981870651 + <_> + + <_> + + + + <_>6 2 3 22 -1. + <_>7 2 1 22 3. + 0 + 0.0150269996374846 + 2.3600000422447920e-003 + -1.1611249446868896 + <_> + + <_> + + + + <_>14 17 10 6 -1. + <_>14 19 10 2 3. + 0 + -0.0205179993063211 + -0.4890809953212738 + 0.1674340069293976 + <_> + + <_> + + + + <_>1 18 10 6 -1. + <_>1 20 10 2 3. + 0 + -0.0223590005189180 + -1.2202980518341064 + -0.0119759999215603 + <_> + + <_> + + + + <_>11 3 6 12 -1. + <_>13 3 2 12 3. + 0 + -7.9150004312396049e-003 + 0.3722809851169586 + -0.0850630030035973 + <_> + + <_> + + + + <_>10 6 4 9 -1. + <_>12 6 2 9 2. + 0 + 0.0152580002322793 + -0.2941260039806366 + 0.5940639972686768 + <_> + + <_> + + + + <_>11 0 6 9 -1. + <_>13 0 2 9 3. + 0 + -0.0316659994423389 + -1.4395569562911987 + 0.1357879936695099 + <_> + + <_> + + + + <_>7 0 6 9 -1. + <_>9 0 2 9 3. + 0 + -0.0307739991694689 + -2.2545371055603027 + -0.0339710004627705 + <_> + + <_> + + + + <_>12 10 9 6 -1. + <_>15 10 3 6 3. + 0 + -0.0154830003157258 + 0.3770070075988770 + 0.0158479996025562 + <_> + + <_> + + + + <_>2 11 6 9 -1. + <_>5 11 3 9 2. + 0 + 0.0351670011878014 + -0.2944610118865967 + 0.5315909981727600 + <_> + + <_> + + + + <_>14 5 3 19 -1. + <_>15 5 1 19 3. + 0 + -0.0179060008376837 + -0.9978820085525513 + 0.1623599976301193 + <_> + + <_> + + + + <_>6 6 9 6 -1. + <_>6 8 9 2 3. + 0 + -3.1799999997019768e-003 + 0.0476570017635822 + -0.7524989843368530 + <_> + + <_> + + + + <_>14 5 3 19 -1. + <_>15 5 1 19 3. + 0 + 0.0157200004905462 + 0.1487379968166351 + -0.6537539958953857 + <_> + + <_> + + + + <_>0 3 6 9 -1. + <_>0 6 6 3 3. + 0 + 0.0298640001565218 + -0.0149520002305508 + -1.2275190353393555 + <_> + + <_> + + + + <_>5 21 18 3 -1. + <_>5 22 18 1 3. + 0 + 2.9899999499320984e-003 + -0.1426369994878769 + 0.4327279925346375 + <_> + + <_> + + + + <_>1 10 18 4 -1. + <_>7 10 6 4 3. + 0 + 0.0847499966621399 + -0.0192809998989105 + -1.1946409940719604 + <_> + + <_> + + + + <_>13 4 8 10 -1. + <_>17 4 4 5 2. + <_>13 9 4 5 2. + 0 + -0.0587249994277954 + -1.7328219413757324 + 0.1437470018863678 + <_> + + <_> + + + + <_>7 8 9 6 -1. + <_>10 8 3 6 3. + 0 + 0.0447559989988804 + -0.2414059937000275 + 0.5401999950408936 + <_> + + <_> + + + + <_>12 9 9 8 -1. + <_>15 9 3 8 3. + 0 + 0.0403690002858639 + 5.7680001482367516e-003 + 0.5657809972763062 + <_> + + <_> + + + + <_>0 6 5 12 -1. + <_>0 10 5 4 3. + 0 + 0.0377359986305237 + 0.0381809994578362 + -0.7937039732933044 + <_> + + <_> + + + + <_>7 6 14 6 -1. + <_>14 6 7 3 2. + <_>7 9 7 3 2. + 0 + 0.0607529990375042 + 0.0764530003070831 + 1.4813209772109985 + <_> + + <_> + + + + <_>7 5 3 19 -1. + <_>8 5 1 19 3. + 0 + -0.0198320001363754 + -1.6971720457077026 + -0.0273700002580881 + <_> + + <_> + + + + <_>8 4 15 20 -1. + <_>13 4 5 20 3. + 0 + -0.1659269928932190 + 0.6297600269317627 + 0.0317629985511303 + <_> + + <_> + + + + <_>1 4 15 20 -1. + <_>6 4 5 20 3. + 0 + 0.0690149962902069 + -0.3346320092678070 + 0.3007670044898987 + <_> + + <_> + + + + <_>13 10 6 6 -1. + <_>13 10 3 6 2. + 0 + 0.0113580003380775 + 0.2274149954319000 + -0.3822470009326935 + <_> + + <_> + + + + <_>5 10 6 6 -1. + <_>8 10 3 6 2. + 0 + 1.7000000225380063e-003 + 0.1922380030155182 + -0.5273510217666626 + <_> + + <_> + + + + <_>14 2 6 14 -1. + <_>17 2 3 7 2. + <_>14 9 3 7 2. + 0 + 0.0797690004110336 + 0.0914919972419739 + 2.1049048900604248 + <_> + + <_> + + + + <_>4 2 6 14 -1. + <_>4 2 3 7 2. + <_>7 9 3 7 2. + 0 + -0.0571440011262894 + -1.7452130317687988 + -0.0409100018441677 + <_> + + <_> + + + + <_>12 4 6 7 -1. + <_>12 4 3 7 2. + 0 + 7.3830001056194305e-003 + -0.2421479970216751 + 0.3557780086994171 + <_> + + <_> + + + + <_>9 4 6 9 -1. + <_>11 4 2 9 3. + 0 + -0.0180409997701645 + 1.1779999732971191 + -0.1767670065164566 + <_> + + <_> + + + + <_>11 4 8 10 -1. + <_>11 4 4 10 2. + 0 + 0.0945030003786087 + 0.1393609941005707 + -1.2993700504302979 + <_> + + <_> + + + + <_>5 4 8 10 -1. + <_>9 4 4 10 2. + 0 + 5.4210000671446323e-003 + -0.5460860133171082 + 0.1391640007495880 + <_> + + <_> + + + + <_>8 18 10 6 -1. + <_>8 20 10 2 3. + 0 + 7.0290002040565014e-003 + -0.2159720063209534 + 0.3925809860229492 + <_> + + <_> + + + + <_>1 18 21 6 -1. + <_>1 20 21 2 3. + 0 + 0.0345159992575645 + 0.0631889998912811 + -0.7210810184478760 + <_> + + <_> + + + + <_>9 2 12 6 -1. + <_>9 2 6 6 2. + 0 + -0.0519249998033047 + 0.6866760253906250 + 0.0632729977369308 + <_> + + <_> + + + + <_>3 2 12 6 -1. + <_>9 2 6 6 2. + 0 + -0.0691620036959648 + 1.7411810159683228 + -0.1661929935216904 + <_> + + <_> + + + + <_>12 5 12 6 -1. + <_>18 5 6 3 2. + <_>12 8 6 3 2. + 0 + -5.5229999125003815e-003 + 0.3069469928741455 + -0.1666290014982224 + <_> + + <_> + + + + <_>8 8 6 9 -1. + <_>8 11 6 3 3. + 0 + 0.0685999989509583 + -0.2140540033578873 + 0.7318500280380249 + <_> + + <_> + + + + <_>2 7 20 6 -1. + <_>2 9 20 2 3. + 0 + -0.0670389980077744 + -0.7936059832572937 + 0.2052579969167709 + <_> + + <_> + + + + <_>0 5 12 6 -1. + <_>0 5 6 3 2. + <_>6 8 6 3 2. + 0 + -0.0210050009191036 + 0.3734439909458160 + -0.2961860001087189 + <_> + + <_> + + + + <_>14 14 8 10 -1. + <_>18 14 4 5 2. + <_>14 19 4 5 2. + 0 + 0.0202789995819330 + -0.0152000002563000 + 0.4055530130863190 + <_> + + <_> + + + + <_>2 14 8 10 -1. + <_>2 14 4 5 2. + <_>6 19 4 5 2. + 0 + -0.0471079982817173 + 1.2116849422454834 + -0.1746429949998856 + <_> + + <_> + + + + <_>2 11 20 13 -1. + <_>2 11 10 13 2. + 0 + 0.1876849979162216 + -0.0229090005159378 + 0.6964579820632935 + <_> + + <_> + + + + <_>6 9 12 5 -1. + <_>12 9 6 5 2. + 0 + -0.0432289987802505 + -1.0602480173110962 + -5.5599998449906707e-004 + <_> + + <_> + + + + <_>5 6 16 6 -1. + <_>13 6 8 3 2. + <_>5 9 8 3 2. + 0 + 0.0200040005147457 + -0.0327510014176369 + 0.5380510091781616 + <_> + + <_> + + + + <_>1 19 9 4 -1. + <_>1 21 9 2 2. + 0 + 8.0880001187324524e-003 + 0.0375480018556118 + -0.7476890087127686 + <_> + + <_> + + + + <_>7 5 12 5 -1. + <_>11 5 4 5 3. + 0 + 0.0271010007709265 + -0.0817900002002716 + 0.3338710069656372 + <_> + + <_> + + + + <_>3 5 14 12 -1. + <_>3 5 7 6 2. + <_>10 11 7 6 2. + 0 + -0.0917460024356842 + -1.9213509559631348 + -0.0389529988169670 + <_> + + <_> + + + + <_>9 4 9 6 -1. + <_>12 4 3 6 3. + 0 + -0.0124549996107817 + 0.4836060106754303 + 0.0181680005043745 + <_> + + <_> + + + + <_>2 6 19 3 -1. + <_>2 7 19 1 3. + 0 + 0.0146490000188351 + -0.1990669965744019 + 0.7281540036201477 + <_> + + <_> + + + + <_>18 10 6 9 -1. + <_>18 13 6 3 3. + 0 + 0.0291019994765520 + 0.1987109929323196 + -0.4921680092811585 + <_> + + <_> + + + + <_>3 7 18 2 -1. + <_>3 8 18 1 2. + 0 + 8.7799998000264168e-003 + -0.1949959993362427 + 0.7731739878654480 + <_> + + <_> + + + + <_>20 2 4 18 -1. + <_>22 2 2 9 2. + <_>20 11 2 9 2. + 0 + -0.0547400005161762 + 1.8087190389633179 + 0.0683230012655258 + <_> + + <_> + + + + <_>2 18 20 3 -1. + <_>2 19 20 1 3. + 0 + -0.0147980004549026 + 0.7806490063667297 + -0.1870959997177124 + <_> + + <_> + + + + <_>1 9 22 3 -1. + <_>1 10 22 1 3. + 0 + 0.0250129997730255 + 0.1528529971837997 + -1.6021020412445068 + <_> + + <_> + + + + <_>0 2 4 18 -1. + <_>0 2 2 9 2. + <_>2 11 2 9 2. + 0 + 0.0465480014681816 + -0.1673820018768311 + 1.1902060508728027 + <_> + + <_> + + + + <_>19 0 4 23 -1. + <_>19 0 2 23 2. + 0 + 0.0176240000873804 + -0.1028549969196320 + 0.3917590081691742 + <_> + + <_> + + + + <_>0 3 6 19 -1. + <_>3 3 3 19 2. + 0 + 0.1631959974765778 + -0.0356240011751652 + -1.6098170280456543 + <_> + + <_> + + + + <_>18 2 6 9 -1. + <_>20 2 2 9 3. + 0 + 0.0131379999220371 + -0.0563590005040169 + 0.5415890216827393 + <_> + + <_> + + + + <_>0 5 10 6 -1. + <_>0 7 10 2 3. + 0 + -0.0156650003045797 + 0.2806310057640076 + -0.3170860111713409 + <_> + + <_> + + + + <_>7 0 12 12 -1. + <_>13 0 6 6 2. + <_>7 6 6 6 2. + 0 + 0.0805540010333061 + 0.1264040023088455 + -1.0297529697418213 + <_> + + <_> + + + + <_>0 3 24 6 -1. + <_>0 3 12 3 2. + <_>12 6 12 3 2. + 0 + 0.0353639982640743 + 0.0207529999315739 + -0.7910559773445129 + <_> + + <_> + + + + <_>10 14 4 10 -1. + <_>10 19 4 5 2. + 0 + 0.0329869985580444 + 0.1905709952116013 + -0.8383989930152893 + <_> + + <_> + + + + <_>8 9 4 15 -1. + <_>8 14 4 5 3. + 0 + 0.0121950004249811 + 0.0737290009856224 + -0.6278070211410523 + <_> + + <_> + + + + <_>4 11 17 6 -1. + <_>4 14 17 3 2. + 0 + 0.0430659987032413 + 0.0473849996924400 + 1.5712939500808716 + <_> + + <_> + + + + <_>2 5 18 8 -1. + <_>2 5 9 4 2. + <_>11 9 9 4 2. + 0 + 0.0303269997239113 + -0.2731460034847260 + 0.3857200145721436 + <_> + + <_> + + + + <_>7 6 14 6 -1. + <_>14 6 7 3 2. + <_>7 9 7 3 2. + 0 + 0.0354930013418198 + 0.0545939989387989 + 0.5258340239524841 + <_> + + <_> + + + + <_>3 6 14 6 -1. + <_>3 6 7 3 2. + <_>10 9 7 3 2. + 0 + -0.0145969996228814 + 0.3815259933471680 + -0.2833240032196045 + <_> + + <_> + + + + <_>16 5 3 18 -1. + <_>17 5 1 18 3. + 0 + 0.0126069998368621 + 0.1545509994029999 + -0.3050149977207184 + <_> + + <_> + + + + <_>5 5 3 18 -1. + <_>6 5 1 18 3. + 0 + 0.0101720001548529 + 0.0236370004713535 + -0.8721789717674255 + <_> + + <_> + + + + <_>10 10 14 4 -1. + <_>10 12 14 2 2. + 0 + 0.0288430005311966 + 0.1609099954366684 + -0.2027759999036789 + <_> + + <_> + + + + <_>4 10 9 4 -1. + <_>4 12 9 2 2. + 0 + 5.5100000463426113e-004 + -0.6154540181159973 + 0.0809359997510910 + -3.7160909175872803 + 10 + -1 + <_> + + + <_> + + <_> + + + + <_>2 0 18 9 -1. + <_>2 3 18 3 3. + 0 + 0.0483440011739731 + -0.8490459918975830 + 0.5697439908981323 + <_> + + <_> + + + + <_>6 3 12 8 -1. + <_>10 3 4 8 3. + 0 + 0.0324600003659725 + -0.8141729831695557 + 0.4478169977664948 + <_> + + <_> + + + + <_>1 1 8 5 -1. + <_>5 1 4 5 2. + 0 + 0.0333399996161461 + -0.3642379939556122 + 0.6793739795684815 + <_> + + <_> + + + + <_>12 7 7 8 -1. + <_>12 11 7 4 2. + 0 + 6.4019998535513878e-003 + -1.1885459423065186 + 0.1923869997262955 + <_> + + <_> + + + + <_>0 12 22 4 -1. + <_>0 14 22 2 2. + 0 + -5.6889997795224190e-003 + 0.3308529853820801 + -0.7133409976959229 + <_> + + <_> + + + + <_>15 6 4 15 -1. + <_>15 11 4 5 3. + 0 + 0.0126980002969503 + -0.5099080204963684 + 0.1137629970908165 + <_> + + <_> + + + + <_>5 7 7 8 -1. + <_>5 11 7 4 2. + 0 + 6.0549997724592686e-003 + -1.0470550060272217 + 0.2022259980440140 + <_> + + <_> + + + + <_>8 18 9 4 -1. + <_>8 20 9 2 2. + 0 + 2.6420000940561295e-003 + -0.5055940151214600 + 0.3644120097160339 + <_> + + <_> + + + + <_>1 2 22 4 -1. + <_>1 4 22 2 2. + 0 + -0.0169259998947382 + -0.9954190254211426 + 0.1260219961404800 + <_> + + <_> + + + + <_>17 3 6 17 -1. + <_>19 3 2 17 3. + 0 + 0.0282359998673201 + -0.0941379964351654 + 0.5778040289878845 + <_> + + <_> + + + + <_>8 2 8 18 -1. + <_>8 11 8 9 2. + 0 + 0.0104289995506406 + 0.2327290028333664 + -0.5256969928741455 + <_> + + <_> + + + + <_>17 0 6 12 -1. + <_>20 0 3 6 2. + <_>17 6 3 6 2. + 0 + 9.8860003054141998e-003 + -0.1031629964709282 + 0.4765760004520416 + <_> + + <_> + + + + <_>7 0 6 9 -1. + <_>9 0 2 9 3. + 0 + 0.0260150004178286 + -1.0920000495389104e-003 + -1.5581729412078857 + <_> + + <_> + + + + <_>15 5 9 12 -1. + <_>15 11 9 6 2. + 0 + -0.0255379993468523 + -0.6545140147209168 + 0.1884319931268692 + <_> + + <_> + + + + <_>2 22 18 2 -1. + <_>2 23 18 1 2. + 0 + -3.5310001112520695e-003 + 0.2814059853553772 + -0.4457530081272125 + <_> + + <_> + + + + <_>10 10 12 6 -1. + <_>16 10 6 3 2. + <_>10 13 6 3 2. + 0 + 9.2449998483061790e-003 + 0.1561200022697449 + -0.2137099951505661 + <_> + + <_> + + + + <_>0 1 4 11 -1. + <_>2 1 2 11 2. + 0 + 0.0210309997200966 + -0.2917029857635498 + 0.5223410129547119 + <_> + + <_> + + + + <_>20 0 4 10 -1. + <_>20 0 2 10 2. + 0 + -0.0510630011558533 + 1.3661290407180786 + 0.0304659996181726 + <_> + + <_> + + + + <_>1 3 6 17 -1. + <_>3 3 2 17 3. + 0 + -0.0623300001025200 + 1.2207020521163940 + -0.2243440002202988 + <_> + + <_> + + + + <_>15 15 9 6 -1. + <_>15 17 9 2 3. + 0 + -0.0329630002379417 + -0.8201680183410645 + 0.1453189998865128 + <_> + + <_> + + + + <_>0 13 8 9 -1. + <_>0 16 8 3 3. + 0 + -0.0374180004000664 + -1.2218099832534790 + 0.0194489993155003 + <_> + + <_> + + + + <_>16 8 6 12 -1. + <_>16 12 6 4 3. + 0 + 0.1240279972553253 + 0.1208230033516884 + -0.9872930049896240 + <_> + + <_> + + + + <_>2 8 6 12 -1. + <_>2 12 6 4 3. + 0 + -8.9229997247457504e-003 + -1.1688489913940430 + 0.0211050007492304 + <_> + + <_> + + + + <_>10 2 4 15 -1. + <_>10 7 4 5 3. + 0 + -0.0598799996078014 + -1.0689330101013184 + 0.1986020058393478 + <_> + + <_> + + + + <_>1 5 19 3 -1. + <_>1 6 19 1 3. + 0 + 6.2620001845061779e-003 + -0.3622959852218628 + 0.3800080120563507 + <_> + + <_> + + + + <_>11 8 9 7 -1. + <_>14 8 3 7 3. + 0 + -0.0176730006933212 + 0.4909409880638123 + -0.1460669934749603 + <_> + + <_> + + + + <_>3 8 12 9 -1. + <_>3 11 12 3 3. + 0 + 0.0175790004432201 + 0.5872809886932373 + -0.2777439951896668 + <_> + + <_> + + + + <_>3 6 18 3 -1. + <_>3 7 18 1 3. + 0 + 5.1560001447796822e-003 + -0.0751949995756149 + 0.6019309759140015 + <_> + + <_> + + + + <_>10 0 4 12 -1. + <_>10 6 4 6 2. + 0 + -0.0105999996885657 + 0.2763740122318268 + -0.3779430091381073 + <_> + + <_> + + + + <_>3 9 18 14 -1. + <_>3 9 9 14 2. + 0 + 0.2088409960269928 + -5.3599998354911804e-003 + 1.0317809581756592 + <_> + + <_> + + + + <_>0 0 4 9 -1. + <_>2 0 2 9 2. + 0 + -0.0264129992574453 + 0.8233640193939209 + -0.2248059958219528 + <_> + + <_> + + + + <_>12 5 4 18 -1. + <_>12 5 2 18 2. + 0 + 0.0588920004665852 + 0.1309829950332642 + -1.1853699684143066 + <_> + + <_> + + + + <_>8 5 4 18 -1. + <_>10 5 2 18 2. + 0 + -0.0115790003910661 + -0.9066780209541321 + 0.0441269986331463 + <_> + + <_> + + + + <_>10 5 6 10 -1. + <_>12 5 2 10 3. + 0 + 0.0459880009293556 + 0.0101439999416471 + 1.0740900039672852 + <_> + + <_> + + + + <_>9 4 4 11 -1. + <_>11 4 2 11 2. + 0 + -0.0228380002081394 + 1.7791990041732788 + -0.1731549948453903 + <_> + + <_> + + + + <_>4 16 18 3 -1. + <_>4 17 18 1 3. + 0 + -8.1709995865821838e-003 + 0.5738630294799805 + -0.0741060003638268 + <_> + + <_> + + + + <_>0 16 20 3 -1. + <_>0 17 20 1 3. + 0 + 3.5359999164938927e-003 + -0.3207289874553680 + 0.4018250107765198 + <_> + + <_> + + + + <_>9 9 6 12 -1. + <_>9 13 6 4 3. + 0 + 0.0494449995458126 + 0.1928800046443939 + -1.2166700363159180 + <_> + + <_> + + + + <_>8 13 8 8 -1. + <_>8 17 8 4 2. + 0 + 3.5139999818056822e-003 + 0.0695680007338524 + -0.7132369875907898 + <_> + + <_> + + + + <_>13 10 3 12 -1. + <_>13 16 3 6 2. + 0 + -0.0309960003942251 + -0.3886219859123230 + 0.1809879988431931 + <_> + + <_> + + + + <_>5 9 14 14 -1. + <_>5 9 7 7 2. + <_>12 16 7 7 2. + 0 + 0.0864529982209206 + -0.0257929991930723 + -1.5453219413757324 + <_> + + <_> + + + + <_>0 0 24 10 -1. + <_>12 0 12 5 2. + <_>0 5 12 5 2. + 0 + -0.1365260034799576 + -1.9199420213699341 + 0.1661330014467239 + <_> + + <_> + + + + <_>1 11 18 2 -1. + <_>1 12 18 1 2. + 0 + -5.7689999230206013e-003 + -1.2822589874267578 + -0.0159079991281033 + <_> + + <_> + + + + <_>19 5 5 12 -1. + <_>19 9 5 4 3. + 0 + -0.0178999993950129 + -0.4040989875793457 + 0.2359160035848618 + <_> + + <_> + + + + <_>0 5 5 12 -1. + <_>0 9 5 4 3. + 0 + -0.0199699997901917 + -0.7289190292358398 + 0.0562350004911423 + <_> + + <_> + + + + <_>16 6 8 18 -1. + <_>20 6 4 9 2. + <_>16 15 4 9 2. + 0 + -0.0574930012226105 + 0.5783079862594605 + -0.0157960001379251 + <_> + + <_> + + + + <_>0 6 8 18 -1. + <_>0 6 4 9 2. + <_>4 15 4 9 2. + 0 + -0.0830560028553009 + 0.9151160120964050 + -0.2112140059471130 + <_> + + <_> + + + + <_>12 5 12 12 -1. + <_>18 5 6 6 2. + <_>12 11 6 6 2. + 0 + -0.0537710003554821 + -0.5193129777908325 + 0.1857600063085556 + <_> + + <_> + + + + <_>7 6 6 9 -1. + <_>9 6 2 9 3. + 0 + -8.3670001477003098e-003 + 0.2410970032215118 + -0.3964860141277313 + <_> + + <_> + + + + <_>9 13 6 11 -1. + <_>11 13 2 11 3. + 0 + 0.0554069988429546 + 0.1677120029926300 + -2.5664970874786377 + <_> + + <_> + + + + <_>0 5 12 12 -1. + <_>0 5 6 6 2. + <_>6 11 6 6 2. + 0 + -0.0671809986233711 + -1.3658570051193237 + -0.0142320003360510 + <_> + + <_> + + + + <_>1 2 23 3 -1. + <_>1 3 23 1 3. + 0 + -0.0239000003784895 + -1.7084569931030273 + 0.1650779992341995 + <_> + + <_> + + + + <_>1 15 19 3 -1. + <_>1 16 19 1 3. + 0 + 5.5949999950826168e-003 + -0.3137399852275848 + 0.3283790051937103 + <_> + + <_> + + + + <_>13 17 11 4 -1. + <_>13 19 11 2 2. + 0 + 0.0212949998676777 + 0.1495340019464493 + -0.4857980012893677 + <_> + + <_> + + + + <_>0 13 8 5 -1. + <_>4 13 4 5 2. + 0 + -0.0246130004525185 + 0.7434639930725098 + -0.2230519950389862 + <_> + + <_> + + + + <_>12 10 10 4 -1. + <_>12 10 5 4 2. + 0 + -0.0196260008960962 + -0.4091829955577850 + 0.1889320015907288 + <_> + + <_> + + + + <_>4 6 9 9 -1. + <_>4 9 9 3 3. + 0 + -0.0532660000026226 + 0.8138160109519959 + -0.2085369974374771 + <_> + + <_> + + + + <_>15 14 9 6 -1. + <_>15 16 9 2 3. + 0 + 7.1290000341832638e-003 + 0.3299610018730164 + -0.5993739962577820 + <_> + + <_> + + + + <_>1 12 9 6 -1. + <_>1 14 9 2 3. + 0 + -0.0224869996309280 + -1.2551610469818115 + -0.0204130001366138 + <_> + + <_> + + + + <_>3 10 20 8 -1. + <_>13 10 10 4 2. + <_>3 14 10 4 2. + 0 + -0.0823109969496727 + 1.3821430206298828 + 0.0593089982867241 + <_> + + <_> + + + + <_>2 0 9 18 -1. + <_>5 0 3 18 3. + 0 + 0.1309700012207031 + -0.0358439981937408 + -1.5396369695663452 + <_> + + <_> + + + + <_>13 11 9 10 -1. + <_>16 11 3 10 3. + 0 + 0.0142930001020432 + -0.1847520023584366 + 0.3745500147342682 + <_> + + <_> + + + + <_>1 2 8 5 -1. + <_>5 2 4 5 2. + 0 + 6.3479999080300331e-003 + -0.4490109980106354 + 0.1387699991464615 + <_> + + <_> + + + + <_>3 4 21 6 -1. + <_>10 4 7 6 3. + 0 + -0.0460550002753735 + 0.6783260107040405 + -0.0170719996094704 + <_> + + <_> + + + + <_>7 0 10 14 -1. + <_>7 0 5 7 2. + <_>12 7 5 7 2. + 0 + 0.0576939992606640 + -0.0119559997692704 + -1.2261159420013428 + <_> + + <_> + + + + <_>12 17 12 4 -1. + <_>12 19 12 2 2. + 0 + -6.0609998181462288e-003 + 0.3395859897136688 + 6.2800000887364149e-004 + <_> + + <_> + + + + <_>0 6 23 4 -1. + <_>0 8 23 2 2. + 0 + -0.0521630011498928 + -1.0621069669723511 + -0.0137799996882677 + <_> + + <_> + + + + <_>13 10 8 10 -1. + <_>17 10 4 5 2. + <_>13 15 4 5 2. + 0 + 0.0465729981660843 + 0.1453880071640015 + -1.2384550571441650 + <_> + + <_> + + + + <_>0 16 18 3 -1. + <_>0 17 18 1 3. + 0 + 7.5309998355805874e-003 + -0.2446770071983337 + 0.5137709975242615 + <_> + + <_> + + + + <_>15 16 9 4 -1. + <_>15 18 9 2 2. + 0 + 0.0216150004416704 + 0.1307259947061539 + -0.7099679708480835 + <_> + + <_> + + + + <_>0 16 9 4 -1. + <_>0 18 9 2 2. + 0 + -0.0178640000522137 + -1.0474660396575928 + 4.9599999329075217e-004 + <_> + + <_> + + + + <_>13 11 6 6 -1. + <_>13 11 3 6 2. + 0 + -0.0371950007975101 + -1.5126730203628540 + 0.1480139940977097 + <_> + + <_> + + + + <_>5 11 6 6 -1. + <_>8 11 3 6 2. + 0 + -3.1100001069717109e-004 + 0.1397150009870529 + -0.4686749875545502 + <_> + + <_> + + + + <_>0 3 24 6 -1. + <_>12 3 12 3 2. + <_>0 6 12 3 2. + 0 + 0.0250429995357990 + 0.2863200008869171 + -0.4179469943046570 + <_> + + <_> + + + + <_>2 4 18 3 -1. + <_>2 5 18 1 3. + 0 + 9.3449996784329414e-003 + -0.2733620107173920 + 0.4344469904899597 + <_> + + <_> + + + + <_>0 0 24 4 -1. + <_>12 0 12 2 2. + <_>0 2 12 2 2. + 0 + 0.0323639996349812 + 0.1843889951705933 + -0.9501929879188538 + <_> + + <_> + + + + <_>1 16 18 3 -1. + <_>1 17 18 1 3. + 0 + -6.2299999408423901e-003 + 0.3258199989795685 + -0.3081560134887695 + <_> + + <_> + + + + <_>15 15 9 6 -1. + <_>15 17 9 2 3. + 0 + 0.0514889992773533 + 0.1141600012779236 + -1.9795479774475098 + <_> + + <_> + + + + <_>0 15 9 6 -1. + <_>0 17 9 2 3. + 0 + -0.0264490004628897 + -1.1067299842834473 + -8.5519999265670776e-003 + <_> + + <_> + + + + <_>6 17 18 3 -1. + <_>6 18 18 1 3. + 0 + -0.0154200000688434 + 0.8013870120048523 + -0.0320350006222725 + <_> + + <_> + + + + <_>8 8 6 10 -1. + <_>10 8 2 10 3. + 0 + 0.0194569993764162 + -0.2644949853420258 + 0.3875389993190765 + <_> + + <_> + + + + <_>10 6 6 9 -1. + <_>12 6 2 9 3. + 0 + 0.0336209982633591 + 0.0160520002245903 + 0.5884090065956116 + <_> + + <_> + + + + <_>8 8 5 8 -1. + <_>8 12 5 4 2. + 0 + 0.0289060007780790 + 0.0152160003781319 + -0.9472360014915466 + <_> + + <_> + + + + <_>12 8 6 8 -1. + <_>12 12 6 4 2. + 0 + 2.0300000323913991e-004 + -0.3076600134372711 + 0.2123589962720871 + <_> + + <_> + + + + <_>6 5 6 11 -1. + <_>8 5 2 11 3. + 0 + -0.0491419993340969 + -1.6058609485626221 + -0.0310949999839067 + <_> + + <_> + + + + <_>13 6 8 9 -1. + <_>13 9 8 3 3. + 0 + 0.0764259994029999 + 0.0747589990496635 + 1.1639410257339478 + <_> + + <_> + + + + <_>1 7 21 6 -1. + <_>1 9 21 2 3. + 0 + 0.0238979998975992 + -6.4320000819861889e-003 + -1.1150749921798706 + <_> + + <_> + + + + <_>15 5 3 12 -1. + <_>15 11 3 6 2. + 0 + 3.8970001041889191e-003 + -0.2410569936037064 + 0.2085890024900436 + <_> + + <_> + + + + <_>6 9 11 12 -1. + <_>6 13 11 4 3. + 0 + -0.0894450023770332 + 1.9157789945602417 + -0.1572110056877136 + <_> + + <_> + + + + <_>13 8 10 8 -1. + <_>18 8 5 4 2. + <_>13 12 5 4 2. + 0 + -0.0150089999660850 + -0.2517409920692444 + 0.1817989945411682 + <_> + + <_> + + + + <_>5 8 12 3 -1. + <_>11 8 6 3 2. + 0 + -0.0111459996551275 + -0.6934949755668640 + 0.0449279993772507 + <_> + + <_> + + + + <_>6 11 18 4 -1. + <_>12 11 6 4 3. + 0 + 0.0945789963006973 + 0.1810210049152374 + -0.7497860193252564 + <_> + + <_> + + + + <_>0 0 22 22 -1. + <_>0 11 22 11 2. + 0 + 0.5503889918327332 + -0.0309740006923676 + -1.6746139526367188 + <_> + + <_> + + + + <_>11 2 6 8 -1. + <_>11 6 6 4 2. + 0 + 0.0413810014724731 + 0.0639100000262260 + 0.7656120061874390 + <_> + + <_> + + + + <_>9 0 6 9 -1. + <_>11 0 2 9 3. + 0 + 0.0247719995677471 + 0.0113800000399351 + -0.8855940103530884 + <_> + + <_> + + + + <_>10 0 6 9 -1. + <_>12 0 2 9 3. + 0 + 0.0509990006685257 + 0.1489029973745346 + -2.4634211063385010 + <_> + + <_> + + + + <_>8 3 6 14 -1. + <_>8 3 3 7 2. + <_>11 10 3 7 2. + 0 + -0.0168939996510744 + 0.3887099921703339 + -0.2988030016422272 + <_> + + <_> + + + + <_>3 10 18 8 -1. + <_>9 10 6 8 3. + 0 + -0.1216230019927025 + -1.5542800426483154 + 0.1630080044269562 + <_> + + <_> + + + + <_>10 0 3 14 -1. + <_>10 7 3 7 2. + 0 + -3.6049999762326479e-003 + 0.2184280008077622 + -0.3731209933757782 + <_> + + <_> + + + + <_>4 3 16 20 -1. + <_>4 13 16 10 2. + 0 + 0.1157540008425713 + -0.0470610000193119 + 0.5940369963645935 + <_> + + <_> + + + + <_>9 4 6 10 -1. + <_>11 4 2 10 3. + 0 + 0.0369039997458458 + -0.2550860047340393 + 0.5539730191230774 + <_> + + <_> + + + + <_>5 0 16 4 -1. + <_>5 2 16 2 2. + 0 + 0.0114839999005198 + -0.1812949925661087 + 0.4068279862403870 + <_> + + <_> + + + + <_>2 5 18 4 -1. + <_>8 5 6 4 3. + 0 + -0.0202339999377728 + 0.5431119799613953 + -0.2382239997386932 + <_> + + <_> + + + + <_>13 0 6 9 -1. + <_>15 0 2 9 3. + 0 + -0.0287650004029274 + -0.6917229890823364 + 0.1594330072402954 + <_> + + <_> + + + + <_>8 4 8 5 -1. + <_>12 4 4 5 2. + 0 + -5.8320001699030399e-003 + 0.2944779992103577 + -0.3400599956512451 + <_> + + <_> + + + + <_>12 10 10 4 -1. + <_>12 10 5 4 2. + 0 + -0.0554689988493919 + 0.9220079779624939 + 0.0940930023789406 + <_> + + <_> + + + + <_>2 10 10 4 -1. + <_>7 10 5 4 2. + 0 + -0.0148010002449155 + -0.7953969836235046 + 0.0315219983458519 + <_> + + <_> + + + + <_>7 11 12 5 -1. + <_>11 11 4 5 3. + 0 + -7.0940000005066395e-003 + 0.3309600055217743 + -0.0508869998157024 + <_> + + <_> + + + + <_>3 10 8 10 -1. + <_>3 10 4 5 2. + <_>7 15 4 5 2. + 0 + -0.0451240018010139 + -1.3719749450683594 + -0.0214089993387461 + <_> + + <_> + + + + <_>11 12 9 8 -1. + <_>14 12 3 8 3. + 0 + 0.0643770024180412 + 0.0639019981026649 + 0.9147830009460449 + <_> + + <_> + + + + <_>0 21 24 3 -1. + <_>8 21 8 3 3. + 0 + -0.0147270001471043 + 0.3605059981346130 + -0.2861450016498566 + <_> + + <_> + + + + <_>3 20 18 4 -1. + <_>9 20 6 4 3. + 0 + 0.0450070016086102 + -0.1561969965696335 + 0.5316029787063599 + <_> + + <_> + + + + <_>1 15 9 6 -1. + <_>1 17 9 2 3. + 0 + -1.1330000124871731e-003 + 0.1342290043830872 + -0.4435890018939972 + <_> + + <_> + + + + <_>11 17 10 4 -1. + <_>11 19 10 2 2. + 0 + 0.0494510009884834 + 0.1057180017232895 + -2.5589139461517334 + <_> + + <_> + + + + <_>9 12 4 12 -1. + <_>9 18 4 6 2. + 0 + 0.0291029997169971 + -0.0100880004465580 + -1.1073939800262451 + <_> + + <_> + + + + <_>9 6 9 6 -1. + <_>12 6 3 6 3. + 0 + 0.0347860008478165 + -2.7719999197870493e-003 + 0.5670099854469299 + <_> + + <_> + + + + <_>1 13 6 9 -1. + <_>1 16 6 3 3. + 0 + -6.1309998854994774e-003 + -0.4688940048217773 + 0.1263639926910400 + <_> + + <_> + + + + <_>6 16 12 4 -1. + <_>6 18 12 2 2. + 0 + 0.0155250001698732 + -8.4279999136924744e-003 + 0.8746920228004456 + <_> + + <_> + + + + <_>1 5 20 3 -1. + <_>1 6 20 1 3. + 0 + 2.9249999206513166e-003 + -0.3443430066108704 + 0.2085160017013550 + <_> + + <_> + + + + <_>8 1 9 9 -1. + <_>8 4 9 3 3. + 0 + -0.0535710006952286 + 1.4982949495315552 + 0.0573280006647110 + <_> + + <_> + + + + <_>2 19 9 4 -1. + <_>2 21 9 2 2. + 0 + -0.0192179996520281 + -0.9923409819602966 + -9.3919998034834862e-003 + <_> + + <_> + + + + <_>11 1 4 18 -1. + <_>11 7 4 6 3. + 0 + -0.0552829988300800 + -0.5768229961395264 + 0.1686059981584549 + <_> + + <_> + + + + <_>7 2 8 12 -1. + <_>7 2 4 6 2. + <_>11 8 4 6 2. + 0 + 0.0563360005617142 + -0.0337750017642975 + -1.3889650106430054 + <_> + + <_> + + + + <_>11 10 9 8 -1. + <_>14 10 3 8 3. + 0 + -0.0238240007311106 + 0.4018209874629974 + 1.8360000103712082e-003 + <_> + + <_> + + + + <_>5 11 12 5 -1. + <_>9 11 4 5 3. + 0 + 1.7810000572353601e-003 + 0.1814599931240082 + -0.4174340069293976 + <_> + + <_> + + + + <_>11 9 9 6 -1. + <_>14 9 3 6 3. + 0 + -0.0376890003681183 + 0.5468310117721558 + 0.0182199999690056 + <_> + + <_> + + + + <_>5 10 6 9 -1. + <_>7 10 2 9 3. + 0 + -0.0241449996829033 + 0.6835209727287293 + -0.1965020000934601 + -3.5645289421081543 + 11 + -1 + <_> + + + <_> + + <_> + + + + <_>4 7 5 12 -1. + <_>4 11 5 4 3. + 0 + 0.0274449996650219 + -0.8998420238494873 + 0.5187649726867676 + <_> + + <_> + + + + <_>2 0 21 6 -1. + <_>9 0 7 6 3. + 0 + 0.1155410036444664 + -0.5652440190315247 + 0.7055130004882813 + <_> + + <_> + + + + <_>7 6 10 6 -1. + <_>7 8 10 2 3. + 0 + -0.0222970005124807 + 0.3607999980449677 + -0.6686459779739380 + <_> + + <_> + + + + <_>9 0 6 15 -1. + <_>11 0 2 15 3. + 0 + 0.0133250001817942 + -0.5557339787483215 + 0.3578999936580658 + <_> + + <_> + + + + <_>2 2 18 2 -1. + <_>2 3 18 1 2. + 0 + -3.8060001097619534e-003 + -1.0713000297546387 + 0.1885000020265579 + <_> + + <_> + + + + <_>8 17 8 6 -1. + <_>8 20 8 3 2. + 0 + -2.6819999329745770e-003 + -0.7158430218696594 + 0.2634449899196625 + <_> + + <_> + + + + <_>3 0 18 2 -1. + <_>3 1 18 1 2. + 0 + 3.3819999080151320e-003 + -0.4693079888820648 + 0.2665840089321137 + <_> + + <_> + + + + <_>8 0 9 6 -1. + <_>11 0 3 6 3. + 0 + 0.0376430004835129 + 0.2109870016574860 + -1.0804339647293091 + <_> + + <_> + + + + <_>0 17 18 3 -1. + <_>0 18 18 1 3. + 0 + -0.0138619998469949 + 0.6691200137138367 + -0.2794280052185059 + <_> + + <_> + + + + <_>6 7 12 5 -1. + <_>10 7 4 5 3. + 0 + -2.7350001037120819e-003 + -0.9533230066299439 + 0.2405129969120026 + <_> + + <_> + + + + <_>0 3 6 9 -1. + <_>2 3 2 9 3. + 0 + -0.0383369997143745 + 0.8143280148506165 + -0.2491939961910248 + <_> + + <_> + + + + <_>20 2 4 9 -1. + <_>20 2 2 9 2. + 0 + -0.0346979983150959 + 1.2330100536346436 + 6.8600000813603401e-003 + <_> + + <_> + + + + <_>0 2 4 9 -1. + <_>2 2 2 9 2. + 0 + 0.0233609993010759 + -0.3079470098018646 + 0.7071449756622315 + <_> + + <_> + + + + <_>0 1 24 4 -1. + <_>12 1 12 2 2. + <_>0 3 12 2 2. + 0 + 0.0350579991936684 + 0.2120590060949326 + -1.4399830102920532 + <_> + + <_> + + + + <_>0 16 9 6 -1. + <_>0 18 9 2 3. + 0 + -0.0132569996640086 + -0.9026070237159729 + 0.0486100018024445 + <_> + + <_> + + + + <_>14 13 9 6 -1. + <_>14 15 9 2 3. + 0 + 0.0127400001510978 + 0.2265519946813583 + -0.4464380145072937 + <_> + + <_> + + + + <_>0 15 19 3 -1. + <_>0 16 19 1 3. + 0 + 3.6400000099092722e-003 + -0.3981789946556091 + 0.3466539978981018 + <_> + + <_> + + + + <_>1 5 22 12 -1. + <_>12 5 11 6 2. + <_>1 11 11 6 2. + 0 + 0.1006470024585724 + 0.1838359981775284 + -1.3410769701004028 + <_> + + <_> + + + + <_>5 13 6 6 -1. + <_>8 13 3 6 2. + 0 + 0. + 0.1553640067577362 + -0.5158249735832214 + <_> + + <_> + + + + <_>4 2 20 3 -1. + <_>4 3 20 1 3. + 0 + 0.0117089999839664 + 0.2165140062570572 + -0.7270519733428955 + <_> + + <_> + + + + <_>8 14 6 10 -1. + <_>10 14 2 10 3. + 0 + -0.0359649993479252 + -1.4789500236511230 + -0.0243170000612736 + <_> + + <_> + + + + <_>6 12 16 6 -1. + <_>14 12 8 3 2. + <_>6 15 8 3 2. + 0 + -0.0212360005825758 + -0.1684409976005554 + 0.1952659934759140 + <_> + + <_> + + + + <_>2 13 8 9 -1. + <_>2 16 8 3 3. + 0 + 0.0148740001022816 + 0.0373359993100166 + -0.8755729794502258 + <_> + + <_> + + + + <_>11 8 6 14 -1. + <_>14 8 3 7 2. + <_>11 15 3 7 2. + 0 + -5.1409997977316380e-003 + 0.3346650004386902 + -0.2410970032215118 + <_> + + <_> + + + + <_>2 12 16 6 -1. + <_>2 12 8 3 2. + <_>10 15 8 3 2. + 0 + 0.0234500002115965 + 5.5320002138614655e-003 + -1.2509720325469971 + <_> + + <_> + + + + <_>5 16 16 8 -1. + <_>5 20 16 4 2. + 0 + -0.0250620003789663 + 0.4521239995956421 + -0.0844699963927269 + <_> + + <_> + + + + <_>9 1 4 12 -1. + <_>9 7 4 6 2. + 0 + -7.7400001464411616e-004 + 0.1524990051984787 + -0.4848650097846985 + <_> + + <_> + + + + <_>8 2 8 10 -1. + <_>12 2 4 5 2. + <_>8 7 4 5 2. + 0 + -0.0404839999973774 + -1.3024920225143433 + 0.1798350065946579 + <_> + + <_> + + + + <_>6 6 12 6 -1. + <_>6 6 6 3 2. + <_>12 9 6 3 2. + 0 + 0.0281709991395473 + -0.2441090047359467 + 0.6227110028266907 + <_> + + <_> + + + + <_>10 7 6 9 -1. + <_>12 7 2 9 3. + 0 + 0.0456929989159107 + 0.0281220003962517 + 0.9239439964294434 + <_> + + <_> + + + + <_>0 0 8 12 -1. + <_>0 0 4 6 2. + <_>4 6 4 6 2. + 0 + 0.0397070012986660 + -0.2233279943466187 + 0.7767400145530701 + <_> + + <_> + + + + <_>18 8 6 9 -1. + <_>18 11 6 3 3. + 0 + 0.0505170002579689 + 0.2031999975442886 + -1.0895930528640747 + <_> + + <_> + + + + <_>2 12 6 6 -1. + <_>5 12 3 6 2. + 0 + -0.0172669999301434 + 0.6859840154647827 + -0.2330449968576431 + <_> + + <_> + + + + <_>3 21 21 3 -1. + <_>10 21 7 3 3. + 0 + 0.0801860019564629 + -0.0102920001372695 + 0.6188110113143921 + <_> + + <_> + + + + <_>2 0 16 6 -1. + <_>2 3 16 3 2. + 0 + 0.0976760014891624 + -0.2007029950618744 + 1.0088349580764771 + <_> + + <_> + + + + <_>13 6 7 6 -1. + <_>13 9 7 3 2. + 0 + -0.0155720002949238 + 0.4761529862880707 + 0.0456239990890026 + <_> + + <_> + + + + <_>6 4 4 14 -1. + <_>6 11 4 7 2. + 0 + -0.0153050003573298 + -1.1077369451522827 + 4.5239999890327454e-003 + <_> + + <_> + + + + <_>9 7 6 9 -1. + <_>11 7 2 9 3. + 0 + -0.0164850000292063 + 1.0152939558029175 + 0.0163279995322227 + <_> + + <_> + + + + <_>7 8 6 14 -1. + <_>7 8 3 7 2. + <_>10 15 3 7 2. + 0 + -0.0261419992893934 + 0.4172329902648926 + -0.2864550054073334 + <_> + + <_> + + + + <_>18 8 4 16 -1. + <_>18 16 4 8 2. + 0 + 8.8679995387792587e-003 + 0.2140499949455261 + -0.1677280068397522 + <_> + + <_> + + + + <_>9 14 6 10 -1. + <_>11 14 2 10 3. + 0 + -0.0268869996070862 + -1.1564220190048218 + -0.0103240003809333 + <_> + + <_> + + + + <_>6 11 12 5 -1. + <_>10 11 4 5 3. + 0 + 7.7789998613297939e-003 + 0.3535949885845184 + -0.2961130142211914 + <_> + + <_> + + + + <_>0 12 23 3 -1. + <_>0 13 23 1 3. + 0 + -0.0159740000963211 + -1.5374109745025635 + -0.0299580004066229 + <_> + + <_> + + + + <_>13 0 6 12 -1. + <_>15 0 2 12 3. + 0 + 0.0208669994026423 + 0.2024410068988800 + -0.7127019762992859 + <_> + + <_> + + + + <_>0 10 12 5 -1. + <_>4 10 4 5 3. + 0 + 0.0854820013046265 + -0.0259329993277788 + -1.5156569480895996 + <_> + + <_> + + + + <_>13 2 10 4 -1. + <_>13 4 10 2 2. + 0 + 0.0238729994744062 + 0.1680340021848679 + -0.3880620002746582 + <_> + + <_> + + + + <_>5 0 6 12 -1. + <_>7 0 2 12 3. + 0 + -0.0391050018370152 + -1.1958349943161011 + -0.0203610006719828 + <_> + + <_> + + + + <_>11 6 9 6 -1. + <_>14 6 3 6 3. + 0 + -0.0779469981789589 + -1.0898950099945068 + 0.1453029960393906 + <_> + + <_> + + + + <_>4 6 9 6 -1. + <_>7 6 3 6 3. + 0 + -0.0168760009109974 + 0.2804970145225525 + -0.4133630096912384 + <_> + + <_> + + + + <_>6 11 18 13 -1. + <_>12 11 6 13 3. + 0 + 0.1187560036778450 + -0.0434909984469414 + 0.4126369953155518 + <_> + + <_> + + + + <_>0 11 18 13 -1. + <_>6 11 6 13 3. + 0 + 0.1562419980764389 + -0.2642959952354431 + 0.5512779951095581 + <_> + + <_> + + + + <_>12 16 12 6 -1. + <_>16 16 4 6 3. + 0 + -0.0459080003201962 + 0.6018919944763184 + 0.0189210008829832 + <_> + + <_> + + + + <_>0 6 21 3 -1. + <_>0 7 21 1 3. + 0 + -0.0103099998086691 + 0.3815299868583679 + -0.2950789928436279 + <_> + + <_> + + + + <_>12 16 12 6 -1. + <_>16 16 4 6 3. + 0 + 0.0957690030336380 + 0.1324650049209595 + -0.4626680016517639 + <_> + + <_> + + + + <_>5 7 6 14 -1. + <_>5 14 6 7 2. + 0 + 0.0136869996786118 + 0.1173869967460632 + -0.5166410207748413 + <_> + + <_> + + + + <_>5 10 19 2 -1. + <_>5 11 19 1 2. + 0 + 2.3990001063793898e-003 + -0.3400759994983673 + 0.2095350027084351 + <_> + + <_> + + + + <_>5 4 14 4 -1. + <_>5 6 14 2 2. + 0 + 0.0332649983465672 + -0.1705279946327210 + 1.4366799592971802 + <_> + + <_> + + + + <_>3 18 18 4 -1. + <_>9 18 6 4 3. + 0 + -0.0332060009241104 + 0.6129570007324219 + -0.0415499992668629 + <_> + + <_> + + + + <_>7 0 4 9 -1. + <_>9 0 2 9 2. + 0 + 2.7979998849332333e-003 + -0.4855430126190186 + 0.1337269991636276 + <_> + + <_> + + + + <_>13 3 11 4 -1. + <_>13 5 11 2 2. + 0 + -0.0657920017838478 + -4.0257668495178223 + 0.1087670028209686 + <_> + + <_> + + + + <_>2 0 9 6 -1. + <_>5 0 3 6 3. + 0 + 2.1430000197142363e-003 + -0.3917999863624573 + 0.2242709994316101 + <_> + + <_> + + + + <_>19 1 4 23 -1. + <_>19 1 2 23 2. + 0 + 0.0223639998584986 + -0.0864299982786179 + 0.3778519928455353 + <_> + + <_> + + + + <_>1 1 4 23 -1. + <_>3 1 2 23 2. + 0 + -0.0574100017547607 + 1.1454069614410400 + -0.1973659992218018 + <_> + + <_> + + + + <_>5 16 18 3 -1. + <_>5 17 18 1 3. + 0 + 6.6550001502037048e-003 + -0.0211050007492304 + 0.5845339894294739 + <_> + + <_> + + + + <_>0 3 11 4 -1. + <_>0 5 11 2 2. + 0 + 0.0123269995674491 + 0.0378170013427734 + -0.6698700189590454 + <_> + + <_> + + + + <_>2 16 20 3 -1. + <_>2 17 20 1 3. + 0 + -8.1869997084140778e-003 + 0.5636600255966187 + -0.0768779963254929 + <_> + + <_> + + + + <_>5 3 13 4 -1. + <_>5 5 13 2 2. + 0 + 0.0366810001432896 + -0.1734330058097839 + 1.1670149564743042 + <_> + + <_> + + + + <_>1 9 22 15 -1. + <_>1 9 11 15 2. + 0 + -0.4022040069103241 + 1.2640819549560547 + 0.0433989986777306 + <_> + + <_> + + + + <_>3 4 14 3 -1. + <_>10 4 7 3 2. + 0 + -0.0221260003745556 + 0.6697810292243958 + -0.2160529941320419 + <_> + + <_> + + + + <_>8 7 10 4 -1. + <_>8 7 5 4 2. + 0 + -0.0131569998338819 + -0.4119859933853149 + 0.2021500021219254 + <_> + + <_> + + + + <_>6 7 10 4 -1. + <_>11 7 5 4 2. + 0 + -0.0128600001335144 + -0.9158269762992859 + 0.0392329990863800 + <_> + + <_> + + + + <_>10 4 6 9 -1. + <_>12 4 2 9 3. + 0 + 0.0216279998421669 + 3.8719999138265848e-003 + 0.3566820025444031 + <_> + + <_> + + + + <_>1 12 9 6 -1. + <_>4 12 3 6 3. + 0 + 0.0118960002437234 + -0.3730390071868897 + 0.1923509985208511 + <_> + + <_> + + + + <_>8 3 8 10 -1. + <_>12 3 4 5 2. + <_>8 8 4 5 2. + 0 + -0.0195489991456270 + -0.4237489998340607 + 0.2442959994077683 + <_> + + <_> + + + + <_>3 6 16 6 -1. + <_>3 6 8 3 2. + <_>11 9 8 3 2. + 0 + 0.0644449964165688 + -0.1655890047550201 + 1.2697030305862427 + <_> + + <_> + + + + <_>5 6 14 6 -1. + <_>5 9 14 3 2. + 0 + 0.1089849993586540 + 0.1489430069923401 + -2.1534640789031982 + <_> + + <_> + + + + <_>4 3 9 6 -1. + <_>4 5 9 2 3. + 0 + -0.0340779982507229 + 1.3779460191726685 + -0.1619849950075150 + <_> + + <_> + + + + <_>6 3 18 2 -1. + <_>6 4 18 1 2. + 0 + -3.7489999085664749e-003 + -0.3382860124111176 + 0.2115290015935898 + <_> + + <_> + + + + <_>7 6 9 6 -1. + <_>10 6 3 6 3. + 0 + -0.0109719997271895 + 0.7651789784431458 + -0.1969259977340698 + <_> + + <_> + + + + <_>0 1 24 3 -1. + <_>0 2 24 1 3. + 0 + -0.0114850001409650 + -0.6927120089530945 + 0.2165710031986237 + <_> + + <_> + + + + <_>0 17 10 6 -1. + <_>0 19 10 2 3. + 0 + 0.0259840004146099 + -0.0119839999824762 + -0.9969729781150818 + <_> + + <_> + + + + <_>3 18 18 3 -1. + <_>3 19 18 1 3. + 0 + 4.2159999720752239e-003 + -0.1020570024847984 + 0.4888440072536469 + <_> + + <_> + + + + <_>2 5 6 16 -1. + <_>2 5 3 8 2. + <_>5 13 3 8 2. + 0 + -0.0476970002055168 + 1.0666010379791260 + -0.1757629960775375 + <_> + + <_> + + + + <_>7 6 11 6 -1. + <_>7 8 11 2 3. + 0 + 4.0300001273863018e-004 + 0.1852480024099350 + -0.7479000091552734 + <_> + + <_> + + + + <_>5 2 12 22 -1. + <_>5 13 12 11 2. + 0 + 0.1153960004448891 + -0.2201970070600510 + 0.5450999736785889 + <_> + + <_> + + + + <_>10 7 4 10 -1. + <_>10 12 4 5 2. + 0 + 0.0160210002213717 + 0.2548750042915344 + -0.5074009895324707 + <_> + + <_> + + + + <_>9 0 4 18 -1. + <_>9 6 4 6 3. + 0 + 0.0566320009529591 + -0.0112560000270605 + -0.9596809744834900 + <_> + + <_> + + + + <_>18 8 6 9 -1. + <_>18 11 6 3 3. + 0 + -0.0107260001823306 + -0.2854470014572144 + 0.1699479967355728 + <_> + + <_> + + + + <_>4 7 15 10 -1. + <_>9 7 5 10 3. + 0 + 0.1242000013589859 + -0.0361399985849857 + -1.3132710456848145 + <_> + + <_> + + + + <_>10 5 6 9 -1. + <_>12 5 2 9 3. + 0 + -5.3799999877810478e-003 + 0.3309270143508911 + 0.0133079998195171 + <_> + + <_> + + + + <_>9 9 6 10 -1. + <_>11 9 2 10 3. + 0 + 0.0119080003350973 + -0.3483029901981354 + 0.2404190003871918 + <_> + + <_> + + + + <_>11 14 6 10 -1. + <_>13 14 2 10 3. + 0 + -0.0430079996585846 + -1.4390469789505005 + 0.1559959948062897 + <_> + + <_> + + + + <_>7 14 6 10 -1. + <_>9 14 2 10 3. + 0 + -0.0331499986350536 + -1.1805850267410278 + -0.0123479999601841 + <_> + + <_> + + + + <_>4 8 16 9 -1. + <_>4 11 16 3 3. + 0 + -0.0213419999927282 + 2.2119441032409668 + 0.0627370029687881 + <_> + + <_> + + + + <_>2 11 20 3 -1. + <_>2 12 20 1 3. + 0 + -0.0122189996764064 + -1.8709750175476074 + -0.0454999990761280 + <_> + + <_> + + + + <_>13 0 4 13 -1. + <_>13 0 2 13 2. + 0 + -0.0168609991669655 + -0.7691270112991333 + 0.1533000022172928 + <_> + + <_> + + + + <_>7 0 4 13 -1. + <_>9 0 2 13 2. + 0 + -2.4999999441206455e-003 + -0.6298739910125732 + 0.0516000017523766 + <_> + + <_> + + + + <_>3 1 18 7 -1. + <_>9 1 6 7 3. + 0 + -0.0450379997491837 + 0.8542889952659607 + 6.2600001692771912e-003 + <_> + + <_> + + + + <_>1 11 6 9 -1. + <_>1 14 6 3 3. + 0 + 0.0390579998493195 + -0.0324589982628822 + -1.3325669765472412 + <_> + + <_> + + + + <_>8 18 9 6 -1. + <_>8 20 9 2 3. + 0 + 6.6720000468194485e-003 + -0.1942359954118729 + 0.3732869923114777 + <_> + + <_> + + + + <_>3 9 15 6 -1. + <_>3 11 15 2 3. + 0 + -0.0163610000163317 + 2.0605869293212891 + -0.1504269987344742 + <_> + + <_> + + + + <_>5 10 19 2 -1. + <_>5 11 19 1 2. + 0 + 6.1719999648630619e-003 + -0.1161099970340729 + 0.2545540034770966 + <_> + + <_> + + + + <_>8 6 7 16 -1. + <_>8 14 7 8 2. + 0 + 0.0457220003008842 + -0.0163400005549192 + -1.0449140071868896 + <_> + + <_> + + + + <_>9 14 9 6 -1. + <_>9 16 9 2 3. + 0 + 4.1209999471902847e-003 + -0.0419979989528656 + 0.3968099951744080 + <_> + + <_> + + + + <_>0 7 8 12 -1. + <_>0 11 8 4 3. + 0 + -1.7800000205170363e-004 + -0.6642259955406189 + 0.0334430001676083 + <_> + + <_> + + + + <_>6 4 18 3 -1. + <_>6 5 18 1 3. + 0 + 7.1109998971223831e-003 + -0.0582319982349873 + 0.3785730004310608 + <_> + + <_> + + + + <_>0 16 12 6 -1. + <_>4 16 4 6 3. + 0 + -0.0498640015721321 + 0.6101940274238586 + -0.2100570052862167 + <_> + + <_> + + + + <_>13 13 9 4 -1. + <_>13 15 9 2 2. + 0 + -0.0250119995325804 + -0.5710009932518005 + 0.1784839928150177 + <_> + + <_> + + + + <_>5 8 14 14 -1. + <_>5 8 7 7 2. + <_>12 15 7 7 2. + 0 + 0.0309399999678135 + 0.0563630014657974 + -0.6473100185394287 + <_> + + <_> + + + + <_>1 16 22 6 -1. + <_>12 16 11 3 2. + <_>1 19 11 3 2. + 0 + 0.0462710000574589 + 0.1748239994049072 + -0.9890940189361572 + <_> + + <_> + + + + <_>9 0 6 9 -1. + <_>11 0 2 9 3. + 0 + -3.1870000530034304e-003 + -0.6680480241775513 + 0.0322670005261898 + <_> + + <_> + + + + <_>9 5 10 10 -1. + <_>14 5 5 5 2. + <_>9 10 5 5 2. + 0 + -0.0243519991636276 + 0.2944490015506744 + -1.3599999947473407e-003 + <_> + + <_> + + + + <_>5 5 10 10 -1. + <_>5 5 5 5 2. + <_>10 10 5 5 2. + 0 + 0.0119740003719926 + -0.2834509909152985 + 0.4717119932174683 + <_> + + <_> + + + + <_>4 6 16 6 -1. + <_>12 6 8 3 2. + <_>4 9 8 3 2. + 0 + 0.0130700003355742 + -0.1083460003137589 + 0.5719329714775085 + <_> + + <_> + + + + <_>0 7 6 9 -1. + <_>0 10 6 3 3. + 0 + 0.0591630004346371 + -0.0509390011429787 + -1.9059720039367676 + <_> + + <_> + + + + <_>16 10 8 14 -1. + <_>20 10 4 7 2. + <_>16 17 4 7 2. + 0 + -0.0410949997603893 + 0.4510459899902344 + -9.7599998116493225e-003 + <_> + + <_> + + + + <_>9 12 6 12 -1. + <_>9 18 6 6 2. + 0 + -0.0839890018105507 + -2.0349199771881104 + -0.0510190017521381 + <_> + + <_> + + + + <_>8 10 8 12 -1. + <_>12 10 4 6 2. + <_>8 16 4 6 2. + 0 + 0.0446190014481544 + 0.1704110056161881 + -1.2278720140457153 + <_> + + <_> + + + + <_>8 0 4 9 -1. + <_>10 0 2 9 2. + 0 + 0.0244190003722906 + -0.0217969994992018 + -1.0822949409484863 + <_> + + <_> + + + + <_>10 4 8 16 -1. + <_>14 4 4 8 2. + <_>10 12 4 8 2. + 0 + -4.3870001100003719e-003 + 0.3046669960021973 + -0.3706659972667694 + <_> + + <_> + + + + <_>7 10 10 6 -1. + <_>7 12 10 2 3. + 0 + 0.0246079992502928 + -0.3116950094699860 + 0.2365729957818985 + <_> + + <_> + + + + <_>5 6 14 14 -1. + <_>12 6 7 7 2. + <_>5 13 7 7 2. + 0 + -0.0851820036768913 + -1.7982350587844849 + 0.1525429934263229 + <_> + + <_> + + + + <_>2 11 20 2 -1. + <_>2 12 20 1 2. + 0 + 0.0218449998646975 + -0.0518880002200603 + -1.9017189741134644 + <_> + + <_> + + + + <_>18 8 4 16 -1. + <_>18 16 4 8 2. + 0 + -0.0168290007859468 + 0.2102590054273605 + 0.0216569993644953 + <_> + + <_> + + + + <_>1 11 12 10 -1. + <_>1 11 6 5 2. + <_>7 16 6 5 2. + 0 + 0.0325479991734028 + -0.2029259949922562 + 0.6094400286674500 + <_> + + <_> + + + + <_>6 9 12 4 -1. + <_>6 11 12 2 2. + 0 + 2.4709999561309814e-003 + -0.9537119865417481 + 0.1856839954853058 + <_> + + <_> + + + + <_>9 12 6 7 -1. + <_>12 12 3 7 2. + 0 + 0.0554159991443157 + -0.1440529972314835 + 2.1506340503692627 + <_> + + <_> + + + + <_>10 4 8 16 -1. + <_>14 4 4 8 2. + <_>10 12 4 8 2. + 0 + -0.1063549965620041 + -1.0911970138549805 + 0.1322800070047379 + <_> + + <_> + + + + <_>6 4 8 16 -1. + <_>6 4 4 8 2. + <_>10 12 4 8 2. + 0 + -7.9889995977282524e-003 + 0.1025340035557747 + -0.5174490213394165 + <_> + + <_> + + + + <_>8 9 9 6 -1. + <_>11 9 3 6 3. + 0 + 0.0755679979920387 + 0.0589650012552738 + 1.2354209423065186 + <_> + + <_> + + + + <_>1 5 16 12 -1. + <_>1 5 8 6 2. + <_>9 11 8 6 2. + 0 + -0.0928059965372086 + -1.3431650400161743 + -0.0344629995524883 + <_> + + <_> + + + + <_>9 9 6 8 -1. + <_>9 9 3 8 2. + 0 + 0.0494319982826710 + 0.0496019981801510 + 1.6054730415344238 + <_> + + <_> + + + + <_>6 0 3 18 -1. + <_>7 0 1 18 3. + 0 + -0.0117729995399714 + -1.0261050462722778 + -4.1559999808669090e-003 + <_> + + <_> + + + + <_>17 9 5 14 -1. + <_>17 16 5 7 2. + 0 + 0.0858860015869141 + 0.0846429988741875 + 0.9522079825401306 + <_> + + <_> + + + + <_>2 9 5 14 -1. + <_>2 16 5 7 2. + 0 + 0.0810310021042824 + -0.1468710005283356 + 1.9359990358352661 + -3.7025990486145020 + 12 + -1 + <_> + + + <_> + + <_> + + + + <_>7 4 10 6 -1. + <_>7 7 10 3 2. + 0 + -0.0338409990072250 + 0.6588950157165527 + -0.6975529789924622 + <_> + + <_> + + + + <_>1 3 23 18 -1. + <_>1 9 23 6 3. + 0 + 0.0154100004583597 + -0.9072840213775635 + 0.3047859966754913 + <_> + + <_> + + + + <_>1 1 21 3 -1. + <_>8 1 7 3 3. + 0 + 0.0549059994518757 + -0.4977479875087738 + 0.5713260173797607 + <_> + + <_> + + + + <_>9 6 6 9 -1. + <_>11 6 2 9 3. + 0 + 0.0213900003582239 + -0.4256519973278046 + 0.5809680223464966 + <_> + + <_> + + + + <_>3 18 12 6 -1. + <_>3 18 6 3 2. + <_>9 21 6 3 2. + 0 + 7.8849997371435165e-003 + -0.4790599942207336 + 0.4301649928092957 + <_> + + <_> + + + + <_>16 8 8 16 -1. + <_>20 8 4 8 2. + <_>16 16 4 8 2. + 0 + -0.0375449992716312 + 0.5086159706115723 + -0.1998589932918549 + <_> + + <_> + + + + <_>0 19 24 4 -1. + <_>8 19 8 4 3. + 0 + 0.1592579931020737 + -0.2326360046863556 + 1.0993319749832153 + <_> + + <_> + + + + <_>16 8 8 16 -1. + <_>20 8 4 8 2. + <_>16 16 4 8 2. + 0 + -0.0689399987459183 + 0.4056900143623352 + 0.0568550005555153 + <_> + + <_> + + + + <_>0 8 8 16 -1. + <_>0 8 4 8 2. + <_>4 16 4 8 2. + 0 + -0.0336950011551380 + 0.4513280093669891 + -0.3333280086517334 + <_> + + <_> + + + + <_>8 12 8 10 -1. + <_>8 17 8 5 2. + 0 + -0.0633149966597557 + -0.8501570224761963 + 0.2234169989824295 + <_> + + <_> + + + + <_>5 7 5 8 -1. + <_>5 11 5 4 2. + 0 + 7.3699997738003731e-003 + -0.9308220148086548 + 0.0592169985175133 + <_> + + <_> + + + + <_>4 1 19 2 -1. + <_>4 2 19 1 2. + 0 + -9.5969997346401215e-003 + -1.2794899940490723 + 0.1844729930162430 + <_> + + <_> + + + + <_>0 12 24 9 -1. + <_>8 12 8 9 3. + 0 + -0.1306799948215485 + 0.5842689871788025 + -0.2600719928741455 + <_> + + <_> + + + + <_>6 0 13 8 -1. + <_>6 4 13 4 2. + 0 + 0.0574029982089996 + -0.0537890009582043 + 0.7117559909820557 + <_> + + <_> + + + + <_>0 0 24 3 -1. + <_>0 1 24 1 3. + 0 + -7.2340001352131367e-003 + -0.8696219921112061 + 0.0752149969339371 + <_> + + <_> + + + + <_>20 3 4 11 -1. + <_>20 3 2 11 2. + 0 + 0.0310989990830421 + -0.0750069990754128 + 0.9078159928321838 + <_> + + <_> + + + + <_>8 6 6 9 -1. + <_>10 6 2 9 3. + 0 + 0.0358540005981922 + -0.2479549944400787 + 0.7227209806442261 + <_> + + <_> + + + + <_>6 11 12 8 -1. + <_>12 11 6 4 2. + <_>6 15 6 4 2. + 0 + -0.0315349996089935 + -1.1238329410552979 + 0.2098830044269562 + <_> + + <_> + + + + <_>0 8 12 6 -1. + <_>0 8 6 3 2. + <_>6 11 6 3 2. + 0 + -0.0194370001554489 + -1.4499390125274658 + -0.0151000004261732 + <_> + + <_> + + + + <_>6 17 18 3 -1. + <_>6 18 18 1 3. + 0 + -7.2420001961290836e-003 + 0.5386490225791931 + -0.1137539967894554 + <_> + + <_> + + + + <_>0 14 9 6 -1. + <_>0 16 9 2 3. + 0 + 8.1639997661113739e-003 + 0.0668890029191971 + -0.7687289714813232 + <_> + + <_> + + + + <_>20 3 4 9 -1. + <_>20 3 2 9 2. + 0 + -0.0436530001461506 + 1.1413530111312866 + 0.0402170009911060 + <_> + + <_> + + + + <_>0 3 4 9 -1. + <_>2 3 2 9 2. + 0 + 0.0265699997544289 + -0.2471909970045090 + 0.5929509997367859 + <_> + + <_> + + + + <_>15 0 9 19 -1. + <_>18 0 3 19 3. + 0 + 0.0322169996798038 + -0.0400249995291233 + 0.3268800079822540 + <_> + + <_> + + + + <_>0 0 9 19 -1. + <_>3 0 3 19 3. + 0 + -0.0722360014915466 + 0.5872939825057983 + -0.2539600133895874 + <_> + + <_> + + + + <_>13 11 6 8 -1. + <_>13 11 3 8 2. + 0 + 0.0314249992370605 + 0.1531510055065155 + -0.5604209899902344 + <_> + + <_> + + + + <_>5 11 6 8 -1. + <_>8 11 3 8 2. + 0 + -4.7699999413453043e-004 + 0.1695889979600906 + -0.5262669920921326 + <_> + + <_> + + + + <_>5 11 19 3 -1. + <_>5 12 19 1 3. + 0 + 2.7189999818801880e-003 + -0.1494459956884384 + 0.2965869903564453 + <_> + + <_> + + + + <_>3 20 18 4 -1. + <_>9 20 6 4 3. + 0 + 0.0328750014305115 + -0.3994350135326386 + 0.2515659928321838 + <_> + + <_> + + + + <_>6 6 16 6 -1. + <_>6 8 16 2 3. + 0 + -0.0145530002191663 + 0.2797259986400604 + -0.4720380008220673 + <_> + + <_> + + + + <_>6 0 9 6 -1. + <_>9 0 3 6 3. + 0 + 0.0380179993808270 + -2.9200001154094934e-003 + -1.1300059556961060 + <_> + + <_> + + + + <_>10 3 4 14 -1. + <_>10 10 4 7 2. + 0 + 2.8659999370574951e-003 + 0.4111180007457733 + -0.2622080147266388 + <_> + + <_> + + + + <_>1 5 15 12 -1. + <_>1 11 15 6 2. + 0 + -0.0416069999337196 + -1.4293819665908813 + -0.0191329997032881 + <_> + + <_> + + + + <_>11 12 8 5 -1. + <_>11 12 4 5 2. + 0 + -0.0248029995709658 + -0.2501359879970551 + 0.1597869992256165 + <_> + + <_> + + + + <_>5 0 6 9 -1. + <_>7 0 2 9 3. + 0 + 0.0100980000570416 + 0.0437389984726906 + -0.6998609900474548 + <_> + + <_> + + + + <_>12 0 6 9 -1. + <_>14 0 2 9 3. + 0 + -0.0209470000118017 + -0.9413779973983765 + 0.2320400029420853 + <_> + + <_> + + + + <_>5 5 12 8 -1. + <_>5 5 6 4 2. + <_>11 9 6 4 2. + 0 + 0.0224580001085997 + -0.2718580067157745 + 0.4531919956207275 + <_> + + <_> + + + + <_>13 12 11 6 -1. + <_>13 14 11 2 3. + 0 + -0.0371109992265701 + -1.0314660072326660 + 0.1442179977893829 + <_> + + <_> + + + + <_>0 13 21 3 -1. + <_>0 14 21 1 3. + 0 + -0.0106480000540614 + 0.6310700178146362 + -0.2552079856395721 + <_> + + <_> + + + + <_>8 1 8 12 -1. + <_>12 1 4 6 2. + <_>8 7 4 6 2. + 0 + 0.0554229989647865 + 0.1620659977197647 + -1.7722640037536621 + <_> + + <_> + + + + <_>1 0 6 12 -1. + <_>1 0 3 6 2. + <_>4 6 3 6 2. + 0 + 0.0216019991785288 + -0.2501609921455383 + 0.5411980152130127 + <_> + + <_> + + + + <_>2 2 21 2 -1. + <_>2 3 21 1 2. + 0 + 8.7000000348780304e-005 + -0.2900890111923218 + 0.3350799977779388 + <_> + + <_> + + + + <_>2 2 19 3 -1. + <_>2 3 19 1 3. + 0 + 0.0144060002639890 + -7.8840004280209541e-003 + -1.1677219867706299 + <_> + + <_> + + + + <_>17 10 6 14 -1. + <_>20 10 3 7 2. + <_>17 17 3 7 2. + 0 + 0.1077739968895912 + 0.1129200011491776 + -2.4940319061279297 + <_> + + <_> + + + + <_>1 10 6 14 -1. + <_>1 10 3 7 2. + <_>4 17 3 7 2. + 0 + 0.0359439998865128 + -0.1948059946298599 + 0.9575750231742859 + <_> + + <_> + + + + <_>7 6 14 14 -1. + <_>14 6 7 7 2. + <_>7 13 7 7 2. + 0 + -3.9510000497102737e-003 + 0.3092780113220215 + -0.2553020119667053 + <_> + + <_> + + + + <_>0 12 9 6 -1. + <_>0 14 9 2 3. + 0 + 0.0209420006722212 + -7.6319999061524868e-003 + -1.0086350440979004 + <_> + + <_> + + + + <_>15 14 8 9 -1. + <_>15 17 8 3 3. + 0 + -0.0298779997974634 + -0.4602769911289215 + 0.1950719952583313 + <_> + + <_> + + + + <_>1 1 22 4 -1. + <_>1 1 11 2 2. + <_>12 3 11 2 2. + 0 + 0.0259719993919134 + -0.0121879996731877 + -1.0035500526428223 + <_> + + <_> + + + + <_>9 11 9 6 -1. + <_>9 13 9 2 3. + 0 + 0.0106030004099011 + -0.0759690031409264 + 0.4166989922523499 + <_> + + <_> + + + + <_>0 15 18 3 -1. + <_>0 16 18 1 3. + 0 + 8.5819996893405914e-003 + -0.2664859890937805 + 0.3911150097846985 + <_> + + <_> + + + + <_>16 14 7 9 -1. + <_>16 17 7 3 3. + 0 + 0.0212709996849298 + 0.1827390044927597 + -0.3605229854583740 + <_> + + <_> + + + + <_>4 3 16 4 -1. + <_>12 3 8 4 2. + 0 + 0.0745180025696754 + -0.1893839985132217 + 0.9265800118446350 + <_> + + <_> + + + + <_>7 6 12 5 -1. + <_>7 6 6 5 2. + 0 + 4.6569998376071453e-003 + -0.1450619995594025 + 0.3329460024833679 + <_> + + <_> + + + + <_>9 6 4 9 -1. + <_>11 6 2 9 2. + 0 + 1.7119999974966049e-003 + -0.5246400237083435 + 0.0898799970746040 + <_> + + <_> + + + + <_>12 1 4 10 -1. + <_>12 1 2 10 2. + 0 + 9.8500004969537258e-004 + -0.3838199973106384 + 0.2439299970865250 + <_> + + <_> + + + + <_>8 1 4 10 -1. + <_>10 1 2 10 2. + 0 + 0.0282339993864298 + -5.7879998348653316e-003 + -1.2617139816284180 + <_> + + <_> + + + + <_>15 15 6 9 -1. + <_>15 18 6 3 3. + 0 + -0.0326780006289482 + -0.5795329809188843 + 0.1695529967546463 + <_> + + <_> + + + + <_>3 15 6 9 -1. + <_>3 18 6 3 3. + 0 + 0.0225360002368689 + 0.0222810003906488 + -0.8786960244178772 + <_> + + <_> + + + + <_>15 1 3 19 -1. + <_>16 1 1 19 3. + 0 + -0.0216579996049404 + -0.6510850191116333 + 0.1296689957380295 + <_> + + <_> + + + + <_>1 3 6 9 -1. + <_>3 3 2 9 3. + 0 + 7.6799998059868813e-003 + -0.3396520018577576 + 0.2201330065727234 + <_> + + <_> + + + + <_>15 0 3 19 -1. + <_>16 0 1 19 3. + 0 + 0.0145920002833009 + 0.1507730036973953 + -0.5045239925384522 + <_> + + <_> + + + + <_>6 3 12 4 -1. + <_>12 3 6 4 2. + 0 + 0.0278680007904768 + -0.2504529953002930 + 0.4574199914932251 + <_> + + <_> + + + + <_>10 5 4 9 -1. + <_>10 5 2 9 2. + 0 + 5.6940000504255295e-003 + -0.1094850003719330 + 0.5575780272483826 + <_> + + <_> + + + + <_>6 0 3 19 -1. + <_>7 0 1 19 3. + 0 + -0.0100029995664954 + -0.9736629724502564 + 0.0184679999947548 + <_> + + <_> + + + + <_>11 1 3 12 -1. + <_>11 7 3 6 2. + 0 + -4.0719998069107533e-003 + 0.3822219967842102 + -0.1692110002040863 + <_> + + <_> + + + + <_>6 7 10 5 -1. + <_>11 7 5 5 2. + 0 + -0.0225939992815256 + -1.0391089916229248 + 5.1839998923242092e-003 + <_> + + <_> + + + + <_>11 3 3 18 -1. + <_>12 3 1 18 3. + 0 + -0.0395799987018108 + -5.5109229087829590 + 0.1116399988532066 + <_> + + <_> + + + + <_>9 3 6 12 -1. + <_>11 3 2 12 3. + 0 + -0.0175379998981953 + 0.9548580050468445 + -0.1858450025320053 + <_> + + <_> + + + + <_>3 7 19 3 -1. + <_>3 8 19 1 3. + 0 + 9.0300003066658974e-003 + 0.0104360003024340 + 0.8211479783058167 + <_> + + <_> + + + + <_>2 7 18 3 -1. + <_>2 8 18 1 3. + 0 + -7.9539995640516281e-003 + 0.2263289988040924 + -0.3456819951534271 + <_> + + <_> + + + + <_>3 13 18 4 -1. + <_>12 13 9 2 2. + <_>3 15 9 2 2. + 0 + 0.0270910002291203 + 0.1643009930849075 + -1.3926379680633545 + <_> + + <_> + + + + <_>3 5 6 9 -1. + <_>5 5 2 9 3. + 0 + -0.0206259991973639 + -0.8636609911918640 + 2.3880000226199627e-003 + <_> + + <_> + + + + <_>4 1 20 4 -1. + <_>14 1 10 2 2. + <_>4 3 10 2 2. + 0 + -0.0719899982213974 + -2.8192629814147949 + 0.1157049983739853 + <_> + + <_> + + + + <_>0 1 20 4 -1. + <_>0 1 10 2 2. + <_>10 3 10 2 2. + 0 + -0.0269649997353554 + -1.2946130037307739 + -0.0246610008180141 + <_> + + <_> + + + + <_>10 15 6 6 -1. + <_>10 15 3 6 2. + 0 + -0.0473779998719692 + -0.8130639791488648 + 0.1183139979839325 + <_> + + <_> + + + + <_>0 2 24 8 -1. + <_>8 2 8 8 3. + 0 + -0.1089560016989708 + 0.6593790054321289 + -0.2084390074014664 + <_> + + <_> + + + + <_>5 5 18 3 -1. + <_>5 6 18 1 3. + 0 + 0.0135740004479885 + 7.4240001849830151e-003 + 0.5315219759941101 + <_> + + <_> + + + + <_>8 15 6 6 -1. + <_>11 15 3 6 2. + 0 + -6.6920001991093159e-003 + 0.3065580129623413 + -0.3108429908752441 + <_> + + <_> + + + + <_>11 12 8 5 -1. + <_>11 12 4 5 2. + 0 + -3.9070001803338528e-003 + 0.2557649910449982 + -0.0529320016503334 + <_> + + <_> + + + + <_>5 12 8 5 -1. + <_>9 12 4 5 2. + 0 + -0.0376130007207394 + -1.4350049495697021 + -0.0154480002820492 + <_> + + <_> + + + + <_>5 0 14 6 -1. + <_>5 2 14 2 3. + 0 + 8.6329998448491096e-003 + -0.1688439995050430 + 0.4212490022182465 + <_> + + <_> + + + + <_>10 2 4 15 -1. + <_>10 7 4 5 3. + 0 + -0.0320970006287098 + -0.6497939825057983 + 0.0411100015044212 + <_> + + <_> + + + + <_>10 7 5 12 -1. + <_>10 11 5 4 3. + 0 + 0.0584959983825684 + -0.0529639981687069 + 0.6336830258369446 + <_> + + <_> + + + + <_>7 9 8 14 -1. + <_>7 9 4 7 2. + <_>11 16 4 7 2. + 0 + -0.0409019999206066 + -0.9210109710693359 + 9.0640000998973846e-003 + <_> + + <_> + + + + <_>1 5 22 6 -1. + <_>12 5 11 3 2. + <_>1 8 11 3 2. + 0 + -0.0199250001460314 + 0.5375999808311462 + -0.0629969984292984 + <_> + + <_> + + + + <_>0 5 6 6 -1. + <_>0 8 6 3 2. + 0 + -4.6020001173019409e-003 + -0.5433350205421448 + 0.0841049998998642 + <_> + + <_> + + + + <_>12 17 9 4 -1. + <_>12 19 9 2 2. + 0 + 0.0168249998241663 + 0.1556369960308075 + -0.4017120003700256 + <_> + + <_> + + + + <_>2 18 19 3 -1. + <_>2 19 19 1 3. + 0 + 9.4790002331137657e-003 + -0.2424529939889908 + 0.5150949954986572 + <_> + + <_> + + + + <_>12 17 9 4 -1. + <_>12 19 9 2 2. + 0 + -0.0195349995046854 + -0.5111839771270752 + 0.1383199989795685 + <_> + + <_> + + + + <_>1 17 18 3 -1. + <_>1 18 18 1 3. + 0 + 0.0107460003346205 + -0.2185499966144562 + 0.6282870173454285 + <_> + + <_> + + + + <_>12 17 9 4 -1. + <_>12 19 9 2 2. + 0 + 0.0379270017147064 + 0.1164029985666275 + -2.7301959991455078 + <_> + + <_> + + + + <_>0 0 24 3 -1. + <_>0 1 24 1 3. + 0 + 0.0163909997791052 + -0.0146359996870160 + -1.0797250270843506 + <_> + + <_> + + + + <_>5 0 14 4 -1. + <_>5 2 14 2 2. + 0 + -0.0197850000113249 + 1.2166420221328735 + 0.0332750007510185 + <_> + + <_> + + + + <_>6 14 9 6 -1. + <_>6 16 9 2 3. + 0 + 0.0110670002177358 + -0.2538830041885376 + 0.4403859972953796 + <_> + + <_> + + + + <_>14 13 6 9 -1. + <_>14 16 6 3 3. + 0 + 5.2479999139904976e-003 + 0.2249680012464523 + -0.2421649992465973 + <_> + + <_> + + + + <_>5 20 13 4 -1. + <_>5 22 13 2 2. + 0 + -0.0111419996246696 + 0.2501809895038605 + -0.3081150054931641 + <_> + + <_> + + + + <_>9 9 6 12 -1. + <_>9 13 6 4 3. + 0 + -0.0106669999659061 + -0.3272910118103027 + 0.2616829872131348 + <_> + + <_> + + + + <_>1 10 21 3 -1. + <_>8 10 7 3 3. + 0 + 0.1054529994726181 + -0.0557500012218952 + -1.9605729579925537 + <_> + + <_> + + + + <_>8 8 9 6 -1. + <_>11 8 3 6 3. + 0 + 0.0548279993236065 + -1.9519999623298645e-003 + 0.7386609911918640 + <_> + + <_> + + + + <_>3 10 9 7 -1. + <_>6 10 3 7 3. + 0 + 0.0177609995007515 + -0.3064720034599304 + 0.2634699940681458 + <_> + + <_> + + + + <_>12 10 10 8 -1. + <_>17 10 5 4 2. + <_>12 14 5 4 2. + 0 + -0.0311859995126724 + -0.2460090070962906 + 0.1708219945430756 + <_> + + <_> + + + + <_>0 15 24 3 -1. + <_>8 15 8 3 3. + 0 + -0.0572960004210472 + 0.4703350067138672 + -0.2604829967021942 + <_> + + <_> + + + + <_>8 5 9 6 -1. + <_>8 7 9 2 3. + 0 + -0.0113120004534721 + 0.3862890005111694 + -0.2881700098514557 + <_> + + <_> + + + + <_>4 13 6 9 -1. + <_>4 16 6 3 3. + 0 + 0.0305920001119375 + -0.0488260015845299 + -1.7638969421386719 + <_> + + <_> + + + + <_>12 17 9 4 -1. + <_>12 19 9 2 2. + 0 + 1.8489999929443002e-003 + 0.2109989970922470 + -0.0259409993886948 + <_> + + <_> + + + + <_>9 12 6 6 -1. + <_>9 15 6 3 2. + 0 + 0.0114190001040697 + -0.1682959944009781 + 1.0278660058975220 + <_> + + <_> + + + + <_>9 9 14 10 -1. + <_>16 9 7 5 2. + <_>9 14 7 5 2. + 0 + 0.0814030021429062 + 0.1153199970722199 + -1.2482399940490723 + <_> + + <_> + + + + <_>1 9 14 10 -1. + <_>1 9 7 5 2. + <_>8 14 7 5 2. + 0 + 0.0534959994256496 + -0.0463039986789227 + -1.7165969610214233 + <_> + + <_> + + + + <_>8 7 9 17 -1. + <_>11 7 3 17 3. + 0 + -0.0239480007439852 + -0.4024659991264343 + 0.2056210041046143 + <_> + + <_> + + + + <_>3 4 6 20 -1. + <_>3 4 3 10 2. + <_>6 14 3 10 2. + 0 + 6.7690000869333744e-003 + -0.3315230011940002 + 0.2068340033292770 + <_> + + <_> + + + + <_>7 8 10 4 -1. + <_>7 8 5 4 2. + 0 + -0.0323439985513687 + -0.7263280153274536 + 0.2007350027561188 + <_> + + <_> + + + + <_>10 7 4 9 -1. + <_>12 7 2 9 2. + 0 + 0.0378630012273788 + -0.1563100069761276 + 1.6697460412979126 + <_> + + <_> + + + + <_>10 15 6 9 -1. + <_>12 15 2 9 3. + 0 + 0.0154400002211332 + 0.1948740035295487 + -0.3538419902324677 + <_> + + <_> + + + + <_>3 8 6 16 -1. + <_>3 8 3 8 2. + <_>6 16 3 8 2. + 0 + -0.0443760007619858 + 0.8209360241889954 + -0.1819359958171845 + <_> + + <_> + + + + <_>12 17 9 4 -1. + <_>12 19 9 2 2. + 0 + -0.0231020003557205 + -0.4304409921169281 + 0.1237540021538734 + <_> + + <_> + + + + <_>3 17 9 4 -1. + <_>3 19 9 2 2. + 0 + 0.0194000005722046 + -0.0297260005027056 + -1.1597590446472168 + <_> + + <_> + + + + <_>10 1 9 6 -1. + <_>13 1 3 6 3. + 0 + 0.1038570031523705 + 0.1114989966154099 + -4.6835222244262695 + <_> + + <_> + + + + <_>5 7 4 10 -1. + <_>5 12 4 5 2. + 0 + -0.0189640000462532 + 2.1773819923400879 + -0.1454440057277679 + <_> + + <_> + + + + <_>7 5 12 6 -1. + <_>11 5 4 6 3. + 0 + 0.0387509986758232 + -0.0494460016489029 + 0.3401829898357391 + <_> + + <_> + + + + <_>6 4 9 8 -1. + <_>9 4 3 8 3. + 0 + 0.0227669999003410 + -0.3280299901962280 + 0.3053140044212341 + <_> + + <_> + + + + <_>12 16 10 8 -1. + <_>17 16 5 4 2. + <_>12 20 5 4 2. + 0 + -0.0313570015132427 + 1.1520819664001465 + 0.0273059997707605 + <_> + + <_> + + + + <_>2 16 10 8 -1. + <_>2 16 5 4 2. + <_>7 20 5 4 2. + 0 + 9.6909999847412109e-003 + -0.3879950046539307 + 0.2151259928941727 + <_> + + <_> + + + + <_>0 0 24 4 -1. + <_>12 0 12 2 2. + <_>0 2 12 2 2. + 0 + -0.0492849983274937 + -1.6774909496307373 + 0.1577419936656952 + <_> + + <_> + + + + <_>0 6 9 6 -1. + <_>0 8 9 2 3. + 0 + -0.0395109988749027 + -0.9764789938926697 + -0.0105520002543926 + <_> + + <_> + + + + <_>0 4 24 6 -1. + <_>12 4 12 3 2. + <_>0 7 12 3 2. + 0 + 0.0479979999363422 + 0.2084390074014664 + -0.6899279952049255 + <_> + + <_> + + + + <_>5 0 11 4 -1. + <_>5 2 11 2 2. + 0 + 0.0514229983091354 + -0.1666530072689056 + 1.2149239778518677 + <_> + + <_> + + + + <_>1 1 22 4 -1. + <_>12 1 11 2 2. + <_>1 3 11 2 2. + 0 + 0.0142799997702241 + 0.2362769991159439 + -0.4139679968357086 + <_> + + <_> + + + + <_>9 6 6 18 -1. + <_>9 15 6 9 2. + 0 + -0.0916119962930679 + -0.9283090233802795 + -0.0183450002223253 + <_> + + <_> + + + + <_>2 9 20 4 -1. + <_>2 11 20 2 2. + 0 + 6.5080001950263977e-003 + -0.7364720106124878 + 0.1949709951877594 + <_> + + <_> + + + + <_>5 2 14 14 -1. + <_>5 9 14 7 2. + 0 + 0.0357230007648468 + 0.1419779956340790 + -0.4208930134773254 + <_> + + <_> + + + + <_>4 2 16 6 -1. + <_>4 5 16 3 2. + 0 + 0.0506380014121532 + 0.0116440001875162 + 0.7848659753799439 + <_> + + <_> + + + + <_>2 3 19 3 -1. + <_>2 4 19 1 3. + 0 + -0.0146139999851584 + -1.1909500360488892 + -0.0351280011236668 + <_> + + <_> + + + + <_>7 1 10 4 -1. + <_>7 3 10 2 2. + 0 + -0.0386629998683929 + 2.4314730167388916 + 0.0656479969620705 + <_> + + <_> + + + + <_>0 9 4 15 -1. + <_>0 14 4 5 3. + 0 + -0.0403469987213612 + 0.7175530195236206 + -0.1910829991102219 + <_> + + <_> + + + + <_>2 10 21 3 -1. + <_>2 11 21 1 3. + 0 + 0.0239020008593798 + 0.1564619988203049 + -0.7929480075836182 + -3.4265899658203125 + 13 + -1 + <_> + + + <_> + + <_> + + + + <_>3 0 6 6 -1. + <_>6 0 3 6 2. + 0 + 8.5640000179409981e-003 + -0.8145070075988770 + 0.5887529850006104 + <_> + + <_> + + + + <_>6 4 14 9 -1. + <_>6 7 14 3 3. + 0 + -0.1329260021448135 + 0.9321339726448059 + -0.2936730086803436 + <_> + + <_> + + + + <_>9 1 6 9 -1. + <_>11 1 2 9 3. + 0 + 9.8400004208087921e-003 + -0.5646290183067322 + 0.4164769947528839 + <_> + + <_> + + + + <_>15 8 9 9 -1. + <_>15 11 9 3 3. + 0 + 5.0889998674392700e-003 + -0.7923280000686646 + 0.1697500050067902 + <_> + + <_> + + + + <_>8 0 4 21 -1. + <_>8 7 4 7 3. + 0 + -0.0610390007495880 + -1.4169000387191772 + 0.0250209998339415 + <_> + + <_> + + + + <_>3 22 19 2 -1. + <_>3 23 19 1 2. + 0 + -4.6599999768659472e-004 + 0.3798249959945679 + -0.4156709909439087 + <_> + + <_> + + + + <_>2 15 20 3 -1. + <_>2 16 20 1 3. + 0 + 3.3889999613165855e-003 + -0.4076859951019287 + 0.3554849922657013 + <_> + + <_> + + + + <_>19 0 4 13 -1. + <_>19 0 2 13 2. + 0 + 0.0210069995373487 + -0.2408010065555573 + 0.8611270189285278 + <_> + + <_> + + + + <_>1 7 8 8 -1. + <_>1 11 8 4 2. + 0 + 7.5559997931122780e-003 + -0.8746719956398010 + 0.0985720008611679 + <_> + + <_> + + + + <_>14 14 6 9 -1. + <_>14 17 6 3 3. + 0 + 0.0247799996286631 + 0.1556620001792908 + -0.6922979950904846 + <_> + + <_> + + + + <_>4 14 6 9 -1. + <_>4 17 6 3 3. + 0 + -0.0356200002133846 + -1.1472270488739014 + 0.0363599993288517 + <_> + + <_> + + + + <_>14 5 4 10 -1. + <_>14 5 2 10 2. + 0 + 0.0198100004345179 + 0.1551620066165924 + -0.6952009797096252 + <_> + + <_> + + + + <_>6 5 4 10 -1. + <_>8 5 2 10 2. + 0 + 0.0150199998170137 + 0.0419900007545948 + -0.9662280082702637 + <_> + + <_> + + + + <_>14 5 6 6 -1. + <_>14 8 6 3 2. + 0 + -0.0231379996985197 + 0.4339689910411835 + 2.4160000029951334e-003 + <_> + + <_> + + + + <_>4 5 6 6 -1. + <_>4 8 6 3 2. + 0 + -0.0187430009245873 + 0.4348109960556030 + -0.3252249956130981 + <_> + + <_> + + + + <_>0 2 24 21 -1. + <_>8 2 8 21 3. + 0 + 0.4508000016212463 + -0.0945739969611168 + 0.7242130041122437 + <_> + + <_> + + + + <_>1 2 6 13 -1. + <_>3 2 2 13 3. + 0 + 0.0118549996986985 + -0.3813309967517853 + 0.3009839951992035 + <_> + + <_> + + + + <_>20 0 4 21 -1. + <_>20 0 2 21 2. + 0 + -0.0248300004750490 + 0.8930060267448425 + -0.1029589995741844 + <_> + + <_> + + + + <_>0 4 4 20 -1. + <_>2 4 2 20 2. + 0 + -0.0447430014610291 + 0.8628029823303223 + -0.2171649932861328 + <_> + + <_> + + + + <_>8 16 9 6 -1. + <_>8 18 9 2 3. + 0 + -0.0146000003442168 + 0.6006940007209778 + -0.1590629965066910 + <_> + + <_> + + + + <_>7 0 6 9 -1. + <_>9 0 2 9 3. + 0 + -0.0245270002633333 + -1.5872869491577148 + -0.0218170005828142 + <_> + + <_> + + + + <_>16 12 7 9 -1. + <_>16 15 7 3 3. + 0 + 0.0230240002274513 + 0.1685339957475662 + -0.3810690045356751 + <_> + + <_> + + + + <_>5 21 14 3 -1. + <_>12 21 7 3 2. + 0 + -0.0249170009046793 + 0.5081089735031128 + -0.2727989852428436 + <_> + + <_> + + + + <_>11 5 6 9 -1. + <_>11 5 3 9 2. + 0 + 1.0130000300705433e-003 + -0.4313879907131195 + 0.2643809914588928 + <_> + + <_> + + + + <_>10 5 4 10 -1. + <_>12 5 2 10 2. + 0 + 0.0156030002981424 + -0.3162420094013214 + 0.5571590065956116 + <_> + + <_> + + + + <_>10 6 6 9 -1. + <_>12 6 2 9 3. + 0 + -0.0266859997063875 + 1.0553920269012451 + 0.0290740001946688 + <_> + + <_> + + + + <_>7 5 6 9 -1. + <_>10 5 3 9 2. + 0 + 1.3940000208094716e-003 + -0.7187380194664002 + 0.0653909966349602 + <_> + + <_> + + + + <_>14 14 10 4 -1. + <_>14 16 10 2 2. + 0 + -6.4799998654052615e-004 + 0.2488439977169037 + -0.2097820043563843 + <_> + + <_> + + + + <_>5 5 14 14 -1. + <_>5 5 7 7 2. + <_>12 12 7 7 2. + 0 + -0.0318880006670952 + -0.6884449720382690 + 0.0635899975895882 + <_> + + <_> + + + + <_>12 8 12 6 -1. + <_>18 8 6 3 2. + <_>12 11 6 3 2. + 0 + -4.9290000461041927e-003 + -0.5915250182151794 + 0.2794359922409058 + <_> + + <_> + + + + <_>6 6 12 12 -1. + <_>6 6 6 6 2. + <_>12 12 6 6 2. + 0 + 0.0311680007725954 + 0.0452239997684956 + -0.8863919973373413 + <_> + + <_> + + + + <_>11 13 6 10 -1. + <_>13 13 2 10 3. + 0 + -0.0336630009114742 + -0.6159020066261292 + 0.1574929952621460 + <_> + + <_> + + + + <_>1 10 20 8 -1. + <_>1 10 10 4 2. + <_>11 14 10 4 2. + 0 + 0.0119669996201992 + -0.3060669898986816 + 0.4229330122470856 + <_> + + <_> + + + + <_>15 13 9 6 -1. + <_>15 15 9 2 3. + 0 + -0.0346800014376640 + -1.3734940290451050 + 0.1590870022773743 + <_> + + <_> + + + + <_>9 0 6 9 -1. + <_>9 3 6 3 3. + 0 + 9.9290004000067711e-003 + -0.5586019754409790 + 0.1211920008063316 + <_> + + <_> + + + + <_>10 1 5 14 -1. + <_>10 8 5 7 2. + 0 + 0.0595749989151955 + 4.9720001406967640e-003 + 0.8205540180206299 + <_> + + <_> + + + + <_>3 4 16 6 -1. + <_>3 6 16 2 3. + 0 + -0.0654280036687851 + 1.5651429891586304 + -0.1681749969720841 + <_> + + <_> + + + + <_>16 3 8 9 -1. + <_>16 6 8 3 3. + 0 + -0.0928959995508194 + -1.5794529914855957 + 0.1466179937124252 + <_> + + <_> + + + + <_>7 13 6 10 -1. + <_>9 13 2 10 3. + 0 + -0.0411840006709099 + -1.5518720149993896 + -0.0299699995666742 + <_> + + <_> + + + + <_>15 13 9 6 -1. + <_>15 15 9 2 3. + 0 + 0.0214479994028807 + 0.1719630062580109 + -0.6934319734573364 + <_> + + <_> + + + + <_>0 13 9 6 -1. + <_>0 15 9 2 3. + 0 + -0.0255699995905161 + -1.3061310052871704 + -0.0243369992822409 + <_> + + <_> + + + + <_>13 16 9 6 -1. + <_>13 18 9 2 3. + 0 + -0.0412009991705418 + -1.3821059465408325 + 0.1480180025100708 + <_> + + <_> + + + + <_>2 16 9 6 -1. + <_>2 18 9 2 3. + 0 + -0.0176689997315407 + -0.7088999748229981 + 0.0365240015089512 + <_> + + <_> + + + + <_>5 16 18 3 -1. + <_>5 17 18 1 3. + 0 + 9.0060001239180565e-003 + -0.0409139990806580 + 0.8037310242652893 + <_> + + <_> + + + + <_>1 16 18 3 -1. + <_>1 17 18 1 3. + 0 + -0.0116529995575547 + 0.5754680037498474 + -0.2499170005321503 + <_> + + <_> + + + + <_>5 0 18 3 -1. + <_>5 1 18 1 3. + 0 + -7.4780001305043697e-003 + -0.4928089976310730 + 0.1981090009212494 + <_> + + <_> + + + + <_>1 1 19 2 -1. + <_>1 2 19 1 2. + 0 + 8.5499999113380909e-004 + -0.4885810017585754 + 0.1356309950351715 + <_> + + <_> + + + + <_>14 2 6 11 -1. + <_>16 2 2 11 3. + 0 + -0.0305380001664162 + -0.6027839779853821 + 0.1852200031280518 + <_> + + <_> + + + + <_>4 15 15 6 -1. + <_>9 15 5 6 3. + 0 + -0.0188469998538494 + 0.2356559932231903 + -0.3513630032539368 + <_> + + <_> + + + + <_>14 2 6 11 -1. + <_>16 2 2 11 3. + 0 + -8.1129996106028557e-003 + -0.0813049972057343 + 0.2106959968805313 + <_> + + <_> + + + + <_>4 2 6 11 -1. + <_>6 2 2 11 3. + 0 + -0.0348300002515316 + -1.2065670490264893 + -0.0142519995570183 + <_> + + <_> + + + + <_>18 2 6 9 -1. + <_>18 5 6 3 3. + 0 + 0.0190210007131100 + 0.2334990054368973 + -0.4566490054130554 + <_> + + <_> + + + + <_>1 2 22 4 -1. + <_>1 2 11 2 2. + <_>12 4 11 2 2. + 0 + -0.0190040003508329 + -0.8107579946517944 + 0.0131400004029274 + <_> + + <_> + + + + <_>2 0 21 12 -1. + <_>9 0 7 12 3. + 0 + -0.0890579968690872 + 0.6154239773750305 + 0.0329830013215542 + <_> + + <_> + + + + <_>0 12 18 3 -1. + <_>0 13 18 1 3. + 0 + 6.8620000965893269e-003 + -0.2958309948444367 + 0.2700369954109192 + <_> + + <_> + + + + <_>12 2 6 9 -1. + <_>14 2 2 9 3. + 0 + -0.0282409992069006 + -0.6110270023345947 + 0.1735749989748001 + <_> + + <_> + + + + <_>3 10 18 3 -1. + <_>3 11 18 1 3. + 0 + -3.2099999953061342e-004 + -0.5332289934158325 + 0.0685390010476112 + <_> + + <_> + + + + <_>16 3 8 9 -1. + <_>16 6 8 3 3. + 0 + -0.1082910001277924 + -1.2879559993743896 + 0.1180170029401779 + <_> + + <_> + + + + <_>3 7 18 3 -1. + <_>3 8 18 1 3. + 0 + 0.0158789996057749 + -0.1707260012626648 + 1.1103910207748413 + <_> + + <_> + + + + <_>9 11 6 9 -1. + <_>11 11 2 9 3. + 0 + 8.6859995499253273e-003 + -0.1099509969353676 + 0.4601050019264221 + <_> + + <_> + + + + <_>9 8 6 9 -1. + <_>11 8 2 9 3. + 0 + -0.0252349991351366 + 1.0220669507980347 + -0.1869429945945740 + <_> + + <_> + + + + <_>15 0 2 18 -1. + <_>15 0 1 18 2. + 0 + -0.0135089997202158 + -0.7831659913063049 + 0.1420260071754456 + <_> + + <_> + + + + <_>7 0 2 18 -1. + <_>8 0 1 18 2. + 0 + -7.7149998396635056e-003 + -0.8806070089340210 + 0.0110600003972650 + <_> + + <_> + + + + <_>17 3 7 9 -1. + <_>17 6 7 3 3. + 0 + 0.0715800002217293 + 0.1136939972639084 + -1.1032789945602417 + <_> + + <_> + + + + <_>3 18 9 6 -1. + <_>3 20 9 2 3. + 0 + -0.0135540002956986 + -0.8109650015830994 + 3.4080001059919596e-003 + <_> + + <_> + + + + <_>3 18 21 3 -1. + <_>3 19 21 1 3. + 0 + 2.9450000729411840e-003 + -0.0728799998760223 + 0.3499810099601746 + <_> + + <_> + + + + <_>0 3 7 9 -1. + <_>0 6 7 3 3. + 0 + -0.0508330017328262 + -1.2868590354919434 + -0.0288420002907515 + <_> + + <_> + + + + <_>2 7 22 3 -1. + <_>2 8 22 1 3. + 0 + -8.7989997118711472e-003 + 0.4761359989643097 + -0.1469040066003799 + <_> + + <_> + + + + <_>0 3 24 16 -1. + <_>0 3 12 8 2. + <_>12 11 12 8 2. + 0 + 0.2142439931631088 + -0.0597020015120506 + -2.4802260398864746 + <_> + + <_> + + + + <_>13 17 9 4 -1. + <_>13 19 9 2 2. + 0 + 0.0139629999175668 + 0.1742029935121536 + -0.4391100108623505 + <_> + + <_> + + + + <_>5 5 12 8 -1. + <_>5 5 6 4 2. + <_>11 9 6 4 2. + 0 + 0.0425020009279251 + -0.1996529996395111 + 0.7065479755401611 + <_> + + <_> + + + + <_>5 6 14 6 -1. + <_>12 6 7 3 2. + <_>5 9 7 3 2. + 0 + 0.0198279991745949 + -0.0691360011696815 + 0.6164339780807495 + <_> + + <_> + + + + <_>5 16 14 6 -1. + <_>5 16 7 3 2. + <_>12 19 7 3 2. + 0 + -0.0335600003600121 + -1.2740780115127563 + -0.0256730001419783 + <_> + + <_> + + + + <_>18 2 6 9 -1. + <_>18 5 6 3 3. + 0 + 0.0635429993271828 + 0.1240350008010864 + -1.0776289701461792 + <_> + + <_> + + + + <_>0 2 6 9 -1. + <_>0 5 6 3 3. + 0 + 0.0219330005347729 + 0.0149520002305508 + -0.7102349996566773 + <_> + + <_> + + + + <_>3 4 20 10 -1. + <_>13 4 10 5 2. + <_>3 9 10 5 2. + 0 + -0.0784249976277351 + 0.6203399896621704 + 0.0336109995841980 + <_> + + <_> + + + + <_>2 13 9 8 -1. + <_>5 13 3 8 3. + 0 + 0.0143900001421571 + -0.3632459938526154 + 0.1730830073356628 + <_> + + <_> + + + + <_>2 1 21 15 -1. + <_>9 1 7 15 3. + 0 + -0.0673099979758263 + 0.5237410068511963 + 0.0127999996766448 + <_> + + <_> + + + + <_>5 12 14 8 -1. + <_>12 12 7 8 2. + 0 + 0.1304749995470047 + -0.1712249964475632 + 1.1235200166702271 + <_> + + <_> + + + + <_>6 7 12 4 -1. + <_>6 7 6 4 2. + 0 + -0.0462459996342659 + -1.1908329725265503 + 0.1742559969425201 + <_> + + <_> + + + + <_>6 5 9 6 -1. + <_>9 5 3 6 3. + 0 + -0.0298420004546642 + 0.8393059968948364 + -0.1806419938802719 + <_> + + <_> + + + + <_>13 11 6 6 -1. + <_>13 11 3 6 2. + 0 + -3.8099999073892832e-004 + 0.3553279936313629 + -0.2384230047464371 + <_> + + <_> + + + + <_>5 11 6 6 -1. + <_>8 11 3 6 2. + 0 + -0.0223789997398853 + -0.8794389963150024 + -7.8399997437372804e-004 + <_> + + <_> + + + + <_>6 4 18 2 -1. + <_>6 5 18 1 2. + 0 + -1.5569999814033508e-003 + -0.1425330042839050 + 0.2587620019912720 + <_> + + <_> + + + + <_>0 2 6 11 -1. + <_>2 2 2 11 3. + 0 + 0.0120130004361272 + -0.2901549935340881 + 0.2605110108852387 + <_> + + <_> + + + + <_>18 0 6 15 -1. + <_>20 0 2 15 3. + 0 + 0.0243849996477365 + -0.0314389988780022 + 0.5869590044021606 + <_> + + <_> + + + + <_>0 0 6 13 -1. + <_>2 0 2 13 3. + 0 + -0.0471809990704060 + 0.6943010091781616 + -0.2181610018014908 + <_> + + <_> + + + + <_>12 0 6 9 -1. + <_>14 0 2 9 3. + 0 + -0.0248939990997314 + -0.6459929943084717 + 0.1561159938573837 + <_> + + <_> + + + + <_>6 0 6 9 -1. + <_>8 0 2 9 3. + 0 + 0.0219449996948242 + -0.0277420002967119 + -1.1346880197525024 + <_> + + <_> + + + + <_>0 2 24 4 -1. + <_>8 2 8 4 3. + 0 + 0.1880989968776703 + -0.0100760003551841 + 1.2429029941558838 + <_> + + <_> + + + + <_>3 13 18 4 -1. + <_>12 13 9 4 2. + 0 + -0.0778720006346703 + 0.8500800132751465 + -0.1901549994945526 + <_> + + <_> + + + + <_>9 7 10 4 -1. + <_>9 7 5 4 2. + 0 + -0.0487690009176731 + -2.0763080120086670 + 0.1217940002679825 + <_> + + <_> + + + + <_>5 8 12 3 -1. + <_>11 8 6 3 2. + 0 + -0.0171150006353855 + -0.8568729758262634 + 7.8760003671050072e-003 + <_> + + <_> + + + + <_>4 14 19 3 -1. + <_>4 15 19 1 3. + 0 + -2.7499999850988388e-003 + 0.3864549994468689 + -0.1139149963855743 + <_> + + <_> + + + + <_>10 0 4 20 -1. + <_>10 10 4 10 2. + 0 + -0.0987939983606339 + -1.7233899831771851 + -0.0560630001127720 + <_> + + <_> + + + + <_>8 15 9 6 -1. + <_>8 17 9 2 3. + 0 + -0.0219369996339083 + 0.5474939942359924 + -0.0424819998443127 + <_> + + <_> + + + + <_>2 9 15 4 -1. + <_>7 9 5 4 3. + 0 + 0.0610969997942448 + -0.0389450006186962 + -1.0807880163192749 + <_> + + <_> + + + + <_>8 4 12 7 -1. + <_>12 4 4 7 3. + 0 + -0.0245639998465776 + 0.5831109881401062 + -9.7599998116493225e-004 + <_> + + <_> + + + + <_>0 10 6 9 -1. + <_>0 13 6 3 3. + 0 + 0.0337520018219948 + -0.0137959998100996 + -0.8473029732704163 + <_> + + <_> + + + + <_>18 5 6 9 -1. + <_>18 8 6 3 3. + 0 + 0.0381990000605583 + 0.1511429995298386 + -0.7947340011596680 + <_> + + <_> + + + + <_>0 18 16 6 -1. + <_>0 18 8 3 2. + <_>8 21 8 3 2. + 0 + -0.0201179999858141 + 0.5157909989356995 + -0.2144539952278137 + <_> + + <_> + + + + <_>9 18 14 6 -1. + <_>16 18 7 3 2. + <_>9 21 7 3 2. + 0 + 0.0247349999845028 + -0.0221050009131432 + 0.4291769862174988 + <_> + + <_> + + + + <_>1 20 20 4 -1. + <_>1 20 10 2 2. + <_>11 22 10 2 2. + 0 + -0.0243570003658533 + -0.8620129823684692 + -3.6760000512003899e-003 + <_> + + <_> + + + + <_>2 8 20 6 -1. + <_>12 8 10 3 2. + <_>2 11 10 3 2. + 0 + -0.0264420006424189 + -0.4539749920368195 + 0.2246280014514923 + <_> + + <_> + + + + <_>7 8 6 9 -1. + <_>9 8 2 9 3. + 0 + -3.4429999068379402e-003 + 0.1307300031185150 + -0.3862270116806030 + <_> + + <_> + + + + <_>8 5 12 8 -1. + <_>12 5 4 8 3. + 0 + 0.1070170029997826 + 0.1315860003232956 + -0.7930690050125122 + <_> + + <_> + + + + <_>4 5 12 8 -1. + <_>8 5 4 8 3. + 0 + 0.0451529994606972 + -0.2529680132865906 + 0.4067240059375763 + <_> + + <_> + + + + <_>10 6 6 9 -1. + <_>12 6 2 9 3. + 0 + 0.0443499982357025 + 0.0226130001246929 + 0.7961810231208801 + <_> + + <_> + + + + <_>2 0 6 16 -1. + <_>4 0 2 16 3. + 0 + 1.0839999886229634e-003 + -0.3915840089321137 + 0.1163910031318665 + <_> + + <_> + + + + <_>15 4 6 12 -1. + <_>15 8 6 4 3. + 0 + 0.0714330002665520 + 0.0824669972062111 + 1.2530590295791626 + <_> + + <_> + + + + <_>3 4 6 12 -1. + <_>3 8 6 4 3. + 0 + 0.0358380004763603 + -0.1820330023765564 + 0.7707870006561279 + <_> + + <_> + + + + <_>15 12 9 6 -1. + <_>15 14 9 2 3. + 0 + -0.0208390001207590 + -0.6174439787864685 + 0.1589139997959137 + <_> + + <_> + + + + <_>4 0 15 22 -1. + <_>4 11 15 11 2. + 0 + 0.4252580106258392 + -0.0489780008792877 + -1.8422030210494995 + <_> + + <_> + + + + <_>15 12 9 6 -1. + <_>15 14 9 2 3. + 0 + 0.0114080002531409 + 0.1791819930076599 + -0.1538349986076355 + <_> + + <_> + + + + <_>0 12 9 6 -1. + <_>0 14 9 2 3. + 0 + -0.0153649998828769 + -0.8401650190353394 + -1.0280000278726220e-003 + <_> + + <_> + + + + <_>15 15 9 6 -1. + <_>15 17 9 2 3. + 0 + -0.0152120003476739 + -0.1899569928646088 + 0.1713099926710129 + <_> + + <_> + + + + <_>0 15 9 6 -1. + <_>0 17 9 2 3. + 0 + -0.0189720001071692 + -0.7954199910163879 + 6.6800001077353954e-003 + <_> + + <_> + + + + <_>10 0 8 10 -1. + <_>14 0 4 5 2. + <_>10 5 4 5 2. + 0 + -3.3330000005662441e-003 + -0.2353080064058304 + 0.2473009973764420 + <_> + + <_> + + + + <_>1 0 4 16 -1. + <_>3 0 2 16 2. + 0 + 0.0932480022311211 + -0.0547580011188984 + -1.8324300050735474 + <_> + + <_> + + + + <_>7 6 10 6 -1. + <_>7 8 10 2 3. + 0 + -0.0125550003722310 + 0.2638520002365112 + -0.3852640092372894 + <_> + + <_> + + + + <_>10 12 4 10 -1. + <_>10 17 4 5 2. + 0 + -0.0270700007677078 + -0.6692979931831360 + 0.0203409995883703 + <_> + + <_> + + + + <_>8 4 10 6 -1. + <_>8 6 10 2 3. + 0 + -0.0236770007759333 + 0.6726530194282532 + -0.0143440002575517 + <_> + + <_> + + + + <_>3 22 18 2 -1. + <_>12 22 9 2 2. + 0 + -0.0142750004306436 + 0.3018639981746674 + -0.2851440012454987 + <_> + + <_> + + + + <_>7 7 11 6 -1. + <_>7 9 11 2 3. + 0 + 0.0280969999730587 + 0.1476600021123886 + -1.4078520536422729 + <_> + + <_> + + + + <_>0 0 12 10 -1. + <_>0 0 6 5 2. + <_>6 5 6 5 2. + 0 + 0.0508400015532970 + -0.1861360073089600 + 0.7995300292968750 + <_> + + <_> + + + + <_>10 1 12 6 -1. + <_>16 1 6 3 2. + <_>10 4 6 3 2. + 0 + 0.0115059996023774 + 0.1911839991807938 + -0.0850350037217140 + <_> + + <_> + + + + <_>7 16 9 4 -1. + <_>7 18 9 2 2. + 0 + -0.0146610001102090 + 0.4523929953575134 + -0.2220519930124283 + <_> + + <_> + + + + <_>5 7 15 16 -1. + <_>10 7 5 16 3. + 0 + 0.2284249961376190 + 0.1348839998245239 + -1.2894610166549683 + <_> + + <_> + + + + <_>5 10 12 13 -1. + <_>11 10 6 13 2. + 0 + 0.1110690012574196 + -0.2075379937887192 + 0.5456159710884094 + <_> + + <_> + + + + <_>6 2 12 6 -1. + <_>12 2 6 3 2. + <_>6 5 6 3 2. + 0 + 3.2450000289827585e-003 + 0.3205370008945465 + -0.1640350073575974 + <_> + + <_> + + + + <_>3 9 12 9 -1. + <_>3 12 12 3 3. + 0 + 0.0853099972009659 + -0.2021050006151199 + 0.5329679846763611 + <_> + + <_> + + + + <_>16 2 8 6 -1. + <_>16 5 8 3 2. + 0 + 0.0220480002462864 + 0.1569859981536865 + -0.1701409965753555 + <_> + + <_> + + + + <_>0 2 8 6 -1. + <_>0 5 8 3 2. + 0 + -0.0156769994646311 + -0.6286349892616272 + 0.0407619997859001 + <_> + + <_> + + + + <_>0 3 24 11 -1. + <_>0 3 12 11 2. + 0 + 0.3311290144920349 + 0.1660930067300797 + -1.0326379537582397 + <_> + + <_> + + + + <_>0 13 8 10 -1. + <_>0 13 4 5 2. + <_>4 18 4 5 2. + 0 + 8.8470000773668289e-003 + -0.2507619857788086 + 0.3166059851646423 + <_> + + <_> + + + + <_>10 14 4 10 -1. + <_>10 19 4 5 2. + 0 + 0.0460800006985664 + 0.1535210013389587 + -1.6333500146865845 + <_> + + <_> + + + + <_>10 2 4 21 -1. + <_>10 9 4 7 3. + 0 + -0.0377030000090599 + 0.5687379837036133 + -0.2010259926319122 + -3.5125269889831543 + 14 + -1 + <_> + + + <_> + + <_> + + + + <_>4 4 15 9 -1. + <_>4 7 15 3 3. + 0 + -0.0818089991807938 + 0.5712479948997498 + -0.6743879914283752 + <_> + + <_> + + + + <_>0 1 24 6 -1. + <_>8 1 8 6 3. + 0 + 0.2176119983196259 + -0.3861019909381867 + 0.9034399986267090 + <_> + + <_> + + + + <_>9 6 5 16 -1. + <_>9 14 5 8 2. + 0 + 0.0148780001327395 + 0.2224159985780716 + -1.2779350280761719 + <_> + + <_> + + + + <_>3 21 18 3 -1. + <_>9 21 6 3 3. + 0 + 0.0524349994957447 + -0.2869040071964264 + 0.7574229836463928 + <_> + + <_> + + + + <_>6 5 3 12 -1. + <_>6 11 3 6 2. + 0 + 9.1429995372891426e-003 + -0.6488040089607239 + 0.2226880043745041 + <_> + + <_> + + + + <_>11 6 4 9 -1. + <_>11 6 2 9 2. + 0 + 7.9169999808073044e-003 + -0.2925359904766083 + 0.3103019893169403 + <_> + + <_> + + + + <_>5 6 9 8 -1. + <_>8 6 3 8 3. + 0 + -0.0260840002447367 + 0.4553270041942596 + -0.3850060105323792 + <_> + + <_> + + + + <_>4 3 20 2 -1. + <_>4 4 20 1 2. + 0 + -2.9400000348687172e-003 + -0.5126439929008484 + 0.2743229866027832 + <_> + + <_> + + + + <_>2 10 18 3 -1. + <_>8 10 6 3 3. + 0 + 0.0571300014853477 + 0.0157880000770092 + -1.2133100032806396 + <_> + + <_> + + + + <_>7 15 10 6 -1. + <_>7 17 10 2 3. + 0 + -6.1309998854994774e-003 + 0.3917460143566132 + -0.3086679875850678 + <_> + + <_> + + + + <_>1 4 4 18 -1. + <_>1 4 2 9 2. + <_>3 13 2 9 2. + 0 + -0.0404050014913082 + 1.1901949644088745 + -0.2034710049629211 + <_> + + <_> + + + + <_>13 0 6 9 -1. + <_>15 0 2 9 3. + 0 + -0.0202970001846552 + -0.6823949813842773 + 0.2045869976282120 + <_> + + <_> + + + + <_>5 0 6 9 -1. + <_>7 0 2 9 3. + 0 + -0.0171889998018742 + -0.8493989706039429 + 0.0384330004453659 + <_> + + <_> + + + + <_>11 0 6 9 -1. + <_>13 0 2 9 3. + 0 + -0.0242159999907017 + -1.1039420366287231 + 0.1597509980201721 + <_> + + <_> + + + + <_>6 7 9 6 -1. + <_>9 7 3 6 3. + 0 + 0.0568690001964569 + -0.1959529966115952 + 1.1806850433349609 + <_> + + <_> + + + + <_>3 0 18 2 -1. + <_>3 1 18 1 2. + 0 + 3.6199999158270657e-004 + -0.4084779918193817 + 0.3293859958648682 + <_> + + <_> + + + + <_>0 10 20 4 -1. + <_>0 10 10 2 2. + <_>10 12 10 2 2. + 0 + 9.9790003150701523e-003 + -0.2967300117015839 + 0.4154790043830872 + <_> + + <_> + + + + <_>10 2 4 12 -1. + <_>10 8 4 6 2. + 0 + -0.0526250004768372 + -1.3069299459457397 + 0.1786260008811951 + <_> + + <_> + + + + <_>6 5 6 12 -1. + <_>6 5 3 6 2. + <_>9 11 3 6 2. + 0 + -0.0137489996850491 + 0.2366580069065094 + -0.4453659951686859 + <_> + + <_> + + + + <_>6 0 18 22 -1. + <_>15 0 9 11 2. + <_>6 11 9 11 2. + 0 + -0.0305170007050037 + 0.2901830077171326 + -0.1121010035276413 + <_> + + <_> + + + + <_>0 0 18 22 -1. + <_>0 0 9 11 2. + <_>9 11 9 11 2. + 0 + -0.3003750145435333 + -2.4237680435180664 + -0.0428309999406338 + <_> + + <_> + + + + <_>18 2 6 11 -1. + <_>20 2 2 11 3. + 0 + -0.0359909981489182 + 0.8820649981498718 + -0.0470129996538162 + <_> + + <_> + + + + <_>0 2 6 11 -1. + <_>2 2 2 11 3. + 0 + -0.0551120005548000 + 0.8011900186538696 + -0.2049099951982498 + <_> + + <_> + + + + <_>11 0 6 9 -1. + <_>13 0 2 9 3. + 0 + 0.0337620005011559 + 0.1461759954690933 + -1.1349489688873291 + <_> + + <_> + + + + <_>0 0 20 3 -1. + <_>0 1 20 1 3. + 0 + -8.2710003480315208e-003 + -0.8160489797592163 + 0.0189880002290010 + <_> + + <_> + + + + <_>2 2 20 2 -1. + <_>2 3 20 1 2. + 0 + -5.4399999789893627e-003 + -0.7098090052604675 + 0.2234369963407517 + <_> + + <_> + + + + <_>1 10 18 2 -1. + <_>1 11 18 1 2. + 0 + 3.1059999018907547e-003 + -0.7280859947204590 + 0.0402249991893768 + <_> + + <_> + + + + <_>18 7 6 9 -1. + <_>18 10 6 3 3. + 0 + 0.0536519996821880 + 0.1717090010643005 + -1.1163710355758667 + <_> + + <_> + + + + <_>0 0 22 9 -1. + <_>0 3 22 3 3. + 0 + -0.1254139989614487 + 2.7680370807647705 + -0.1461150050163269 + <_> + + <_> + + + + <_>17 3 6 9 -1. + <_>17 6 6 3 3. + 0 + 0.0925420001149178 + 0.1160980015993118 + -3.9635529518127441 + <_> + + <_> + + + + <_>0 7 6 9 -1. + <_>0 10 6 3 3. + 0 + 0.0385139994323254 + -7.6399999670684338e-003 + -0.9878090023994446 + <_> + + <_> + + + + <_>0 6 24 6 -1. + <_>0 8 24 2 3. + 0 + -2.0200000144541264e-003 + 0.2305999994277954 + -0.7497029900550842 + <_> + + <_> + + + + <_>0 2 6 10 -1. + <_>2 2 2 10 3. + 0 + 9.7599998116493225e-003 + -0.3113799989223480 + 0.3028779923915863 + <_> + + <_> + + + + <_>10 6 6 9 -1. + <_>12 6 2 9 3. + 0 + 0.0240950006991625 + -0.0495299994945526 + 0.5269010066986084 + <_> + + <_> + + + + <_>7 0 6 9 -1. + <_>9 0 2 9 3. + 0 + -0.0179820004850626 + -1.1610640287399292 + -5.7000000961124897e-003 + <_> + + <_> + + + + <_>15 0 6 9 -1. + <_>17 0 2 9 3. + 0 + -0.0105550000444055 + -0.2718909978866577 + 0.2359769940376282 + <_> + + <_> + + + + <_>3 0 6 9 -1. + <_>5 0 2 9 3. + 0 + -7.2889998555183411e-003 + -0.5421910285949707 + 0.0819140002131462 + <_> + + <_> + + + + <_>15 17 9 6 -1. + <_>15 19 9 2 3. + 0 + 0.0239390004426241 + 0.1797579973936081 + -0.6704949736595154 + <_> + + <_> + + + + <_>0 17 18 3 -1. + <_>0 18 18 1 3. + 0 + -0.0183659996837378 + 0.6266430020332336 + -0.2097010016441345 + <_> + + <_> + + + + <_>15 14 9 6 -1. + <_>15 16 9 2 3. + 0 + 0.0157159995287657 + 0.2419369965791702 + -1.0444309711456299 + <_> + + <_> + + + + <_>0 15 23 6 -1. + <_>0 17 23 2 3. + 0 + -0.0488040000200272 + -0.9406059980392456 + -3.7519999314099550e-003 + <_> + + <_> + + + + <_>5 15 18 3 -1. + <_>5 16 18 1 3. + 0 + 6.7130001261830330e-003 + -0.0754320025444031 + 0.6157529950141907 + <_> + + <_> + + + + <_>0 14 9 6 -1. + <_>0 16 9 2 3. + 0 + 9.7770001739263535e-003 + 0.0392850004136562 + -0.8481029868125916 + <_> + + <_> + + + + <_>9 8 8 10 -1. + <_>13 8 4 5 2. + <_>9 13 4 5 2. + 0 + 0.0147449998185039 + 0.1696899980306625 + -0.5090640187263489 + <_> + + <_> + + + + <_>3 7 15 6 -1. + <_>8 7 5 6 3. + 0 + 0.0970790013670921 + -0.0331030003726482 + -1.2706379890441895 + <_> + + <_> + + + + <_>9 8 8 10 -1. + <_>13 8 4 5 2. + <_>9 13 4 5 2. + 0 + 0.0482859984040260 + 0.0943299978971481 + 2.7203190326690674 + <_> + + <_> + + + + <_>5 0 6 12 -1. + <_>8 0 3 12 2. + 0 + 9.7810002043843269e-003 + -0.3953340053558350 + 0.1536380052566528 + <_> + + <_> + + + + <_>9 8 8 10 -1. + <_>13 8 4 5 2. + <_>9 13 4 5 2. + 0 + -0.0398939996957779 + -0.2276740074157715 + 0.1391399949789047 + <_> + + <_> + + + + <_>8 5 6 9 -1. + <_>10 5 2 9 3. + 0 + 0.0228480007499456 + -0.2739199995994568 + 0.3419950008392334 + <_> + + <_> + + + + <_>10 6 4 18 -1. + <_>12 6 2 9 2. + <_>10 15 2 9 2. + 0 + 6.7179999314248562e-003 + -0.1087429970502853 + 0.4812540113925934 + <_> + + <_> + + + + <_>5 7 12 4 -1. + <_>11 7 6 4 2. + 0 + 0.0595999993383884 + -0.0495220012962818 + -2.0117089748382568 + <_> + + <_> + + + + <_>9 8 8 10 -1. + <_>13 8 4 5 2. + <_>9 13 4 5 2. + 0 + 6.9340001791715622e-003 + 0.1503749936819077 + -0.1127189993858337 + <_> + + <_> + + + + <_>7 8 8 10 -1. + <_>7 8 4 5 2. + <_>11 13 4 5 2. + 0 + 0.0157570000737906 + -0.0208850000053644 + -1.1651979684829712 + <_> + + <_> + + + + <_>11 10 6 14 -1. + <_>14 10 3 7 2. + <_>11 17 3 7 2. + 0 + -0.0496900007128716 + -0.8021349906921387 + 0.1437229961156845 + <_> + + <_> + + + + <_>9 5 6 19 -1. + <_>12 5 3 19 2. + 0 + 0.0523470006883144 + -0.2083670049905777 + 0.6167759895324707 + <_> + + <_> + + + + <_>6 12 12 6 -1. + <_>12 12 6 3 2. + <_>6 15 6 3 2. + 0 + 0.0224309992045164 + 0.2030590027570725 + -0.7532619833946228 + <_> + + <_> + + + + <_>1 9 18 6 -1. + <_>1 9 9 3 2. + <_>10 12 9 3 2. + 0 + 0.0411420017480850 + -0.1811819970607758 + 1.0033359527587891 + <_> + + <_> + + + + <_>16 14 8 10 -1. + <_>20 14 4 5 2. + <_>16 19 4 5 2. + 0 + -0.0216320008039474 + 0.4999899864196777 + -0.0346629992127419 + <_> + + <_> + + + + <_>0 9 22 8 -1. + <_>0 9 11 4 2. + <_>11 13 11 4 2. + 0 + -0.0828080028295517 + 1.1711900234222412 + -0.1843360066413879 + <_> + + <_> + + + + <_>8 18 12 6 -1. + <_>14 18 6 3 2. + <_>8 21 6 3 2. + 0 + 8.5060000419616699e-003 + -0.0632250010967255 + 0.2902489900588989 + <_> + + <_> + + + + <_>0 6 20 18 -1. + <_>0 6 10 9 2. + <_>10 15 10 9 2. + 0 + 0.0789050012826920 + -0.2327450066804886 + 0.5969579815864563 + <_> + + <_> + + + + <_>3 6 20 12 -1. + <_>13 6 10 6 2. + <_>3 12 10 6 2. + 0 + -0.0902070030570030 + -0.8221189975738525 + 0.1777220070362091 + <_> + + <_> + + + + <_>0 16 10 8 -1. + <_>0 16 5 4 2. + <_>5 20 5 4 2. + 0 + -0.0292690005153418 + 0.6086069941520691 + -0.2146890014410019 + <_> + + <_> + + + + <_>6 16 18 3 -1. + <_>6 17 18 1 3. + 0 + 6.9499998353421688e-003 + -0.0426659993827343 + 0.6051210165023804 + <_> + + <_> + + + + <_>0 11 19 3 -1. + <_>0 12 19 1 3. + 0 + -8.0629996955394745e-003 + -1.1508270502090454 + -0.0272860005497932 + <_> + + <_> + + + + <_>14 6 6 9 -1. + <_>14 9 6 3 3. + 0 + 0.0195959992706776 + -9.1880001127719879e-003 + 0.5685780048370361 + <_> + + <_> + + + + <_>1 7 22 4 -1. + <_>1 7 11 2 2. + <_>12 9 11 2 2. + 0 + -0.0148849999532104 + 0.3765879869461060 + -0.2714950144290924 + <_> + + <_> + + + + <_>13 6 7 12 -1. + <_>13 10 7 4 3. + 0 + 0.0252170003950596 + -0.0999910011887550 + 0.2466470003128052 + <_> + + <_> + + + + <_>4 7 11 9 -1. + <_>4 10 11 3 3. + 0 + -0.0158559996634722 + 0.6682670116424561 + -0.2061470001935959 + <_> + + <_> + + + + <_>12 10 10 8 -1. + <_>17 10 5 4 2. + <_>12 14 5 4 2. + 0 + 0.0294410008937120 + 0.1583220064640045 + -0.7606089711189270 + <_> + + <_> + + + + <_>2 12 9 7 -1. + <_>5 12 3 7 3. + 0 + -8.5279997438192368e-003 + 0.3821229934692383 + -0.2540780007839203 + <_> + + <_> + + + + <_>16 14 6 9 -1. + <_>16 17 6 3 3. + 0 + 0.0244219992309809 + 0.1510509997606278 + -0.2875289916992188 + <_> + + <_> + + + + <_>3 12 6 12 -1. + <_>3 16 6 4 3. + 0 + -0.0338869988918304 + -0.6800280213356018 + 0.0343270003795624 + <_> + + <_> + + + + <_>14 13 6 6 -1. + <_>14 16 6 3 2. + 0 + -2.0810000132769346e-003 + 0.2541390061378479 + -0.2685909867286682 + <_> + + <_> + + + + <_>8 0 6 9 -1. + <_>10 0 2 9 3. + 0 + 0.0303589999675751 + -0.0308420006185770 + -1.1476809978485107 + <_> + + <_> + + + + <_>9 1 6 23 -1. + <_>11 1 2 23 3. + 0 + 4.0210001170635223e-003 + -0.3525379896163940 + 0.2986809909343720 + <_> + + <_> + + + + <_>0 16 9 6 -1. + <_>0 18 9 2 3. + 0 + 0.0276810005307198 + -0.0381489992141724 + -1.3262039422988892 + <_> + + <_> + + + + <_>4 17 18 3 -1. + <_>4 18 18 1 3. + 0 + 7.9039996489882469e-003 + -0.0237370003014803 + 0.7050300240516663 + <_> + + <_> + + + + <_>5 2 13 14 -1. + <_>5 9 13 7 2. + 0 + 0.0440310016274452 + 0.1067489981651306 + -0.4526120126247406 + <_> + + <_> + + + + <_>15 0 8 12 -1. + <_>19 0 4 6 2. + <_>15 6 4 6 2. + 0 + -0.0323709994554520 + 0.4667490124702454 + -0.0615469999611378 + <_> + + <_> + + + + <_>0 0 8 12 -1. + <_>0 0 4 6 2. + <_>4 6 4 6 2. + 0 + 0.0209330003708601 + -0.2844789922237396 + 0.4384559988975525 + <_> + + <_> + + + + <_>8 2 8 7 -1. + <_>8 2 4 7 2. + 0 + 0.0252279993146658 + -0.0225370004773140 + 0.7038909792900085 + <_> + + <_> + + + + <_>1 1 6 9 -1. + <_>3 1 2 9 3. + 0 + 6.5520000644028187e-003 + -0.3255490064620972 + 0.2402369976043701 + <_> + + <_> + + + + <_>14 8 6 12 -1. + <_>17 8 3 6 2. + <_>14 14 3 6 2. + 0 + -0.0585579983890057 + -1.2227720022201538 + 0.1166879981756210 + <_> + + <_> + + + + <_>4 8 6 12 -1. + <_>4 8 3 6 2. + <_>7 14 3 6 2. + 0 + 0.0318999998271465 + -0.0193050000816584 + -1.0973169803619385 + <_> + + <_> + + + + <_>16 5 5 15 -1. + <_>16 10 5 5 3. + 0 + -0.0304450001567602 + 0.6558250188827515 + 0.0750909969210625 + <_> + + <_> + + + + <_>3 5 5 15 -1. + <_>3 10 5 5 3. + 0 + 0.0149330003187060 + -0.5215579867362976 + 0.1152309998869896 + <_> + + <_> + + + + <_>18 4 6 9 -1. + <_>18 7 6 3 3. + 0 + -0.0490080006420612 + -0.7830399870872498 + 0.1665720045566559 + <_> + + <_> + + + + <_>1 7 6 15 -1. + <_>1 12 6 5 3. + 0 + 0.0831589996814728 + -2.6879999786615372e-003 + -0.8528230190277100 + <_> + + <_> + + + + <_>11 15 12 8 -1. + <_>17 15 6 4 2. + <_>11 19 6 4 2. + 0 + 0.0239029992371798 + -0.0510109998285770 + 0.4199909865856171 + <_> + + <_> + + + + <_>0 2 24 4 -1. + <_>0 2 12 2 2. + <_>12 4 12 2 2. + 0 + 0.0164289996027946 + 0.0192329995334148 + -0.6504909992218018 + <_> + + <_> + + + + <_>15 1 2 19 -1. + <_>15 1 1 19 2. + 0 + -0.0118380002677441 + -0.6240980029106140 + 0.1541119962930679 + <_> + + <_> + + + + <_>7 1 2 19 -1. + <_>8 1 1 19 2. + 0 + -1.6799999866634607e-004 + 0.1758919954299927 + -0.3433870077133179 + <_> + + <_> + + + + <_>22 1 2 20 -1. + <_>22 1 1 20 2. + 0 + 0.0191939994692802 + 0.0434189997613430 + 0.7906919717788696 + <_> + + <_> + + + + <_>0 1 2 20 -1. + <_>1 1 1 20 2. + 0 + -0.0100320000201464 + 0.4564889967441559 + -0.2249480038881302 + <_> + + <_> + + + + <_>18 11 6 12 -1. + <_>20 11 2 12 3. + 0 + -0.0140040004625916 + 0.3357099890708923 + -4.8799999058246613e-003 + <_> + + <_> + + + + <_>0 11 6 12 -1. + <_>2 11 2 12 3. + 0 + -0.1031989976763725 + -2.3378000259399414 + -0.0589330010116100 + <_> + + <_> + + + + <_>3 6 18 14 -1. + <_>3 13 18 7 2. + 0 + -0.0956970006227493 + -0.6615390181541443 + 0.2009859979152679 + <_> + + <_> + + + + <_>6 10 7 8 -1. + <_>6 14 7 4 2. + 0 + -0.0414809994399548 + 0.4593920111656189 + -0.2231409996747971 + <_> + + <_> + + + + <_>7 9 12 12 -1. + <_>7 13 12 4 3. + 0 + 2.4099999573081732e-003 + -0.2689859867095947 + 0.2492299973964691 + <_> + + <_> + + + + <_>2 18 18 5 -1. + <_>11 18 9 5 2. + 0 + 0.1072499975562096 + -0.1864019930362701 + 0.7276980280876160 + <_> + + <_> + + + + <_>4 21 20 3 -1. + <_>4 22 20 1 3. + 0 + 3.1870000530034304e-003 + -0.0246089994907379 + 0.2864390015602112 + <_> + + <_> + + + + <_>9 12 6 12 -1. + <_>9 12 3 6 2. + <_>12 18 3 6 2. + 0 + 0.0291670002043247 + -0.0346830002963543 + -1.1162580251693726 + <_> + + <_> + + + + <_>4 6 18 3 -1. + <_>4 7 18 1 3. + 0 + 0.0112870000302792 + 6.3760001212358475e-003 + 0.6663209795951843 + <_> + + <_> + + + + <_>3 6 18 3 -1. + <_>3 7 18 1 3. + 0 + -0.0120010003447533 + 0.4242010116577148 + -0.2627980113029480 + <_> + + <_> + + + + <_>18 4 6 9 -1. + <_>18 7 6 3 3. + 0 + -0.0126959998160601 + -0.0219570007175207 + 0.1893679946660996 + <_> + + <_> + + + + <_>2 12 9 6 -1. + <_>2 14 9 2 3. + 0 + 0.0245970003306866 + -0.0349639989435673 + -1.0989320278167725 + <_> + + <_> + + + + <_>4 14 18 4 -1. + <_>13 14 9 2 2. + <_>4 16 9 2 2. + 0 + 0.0459530018270016 + 0.1110979989171028 + -2.9306049346923828 + <_> + + <_> + + + + <_>7 7 6 14 -1. + <_>7 7 3 7 2. + <_>10 14 3 7 2. + 0 + -0.0272410009056330 + 0.2910169959068298 + -0.2740789949893951 + <_> + + <_> + + + + <_>7 13 12 6 -1. + <_>13 13 6 3 2. + <_>7 16 6 3 2. + 0 + 0.0400639995932579 + 0.1187790036201477 + -0.6280180215835571 + <_> + + <_> + + + + <_>6 7 12 9 -1. + <_>10 7 4 9 3. + 0 + 0.0230550002306700 + 0.1481380015611649 + -0.3700749874114990 + <_> + + <_> + + + + <_>12 12 6 6 -1. + <_>12 12 3 6 2. + 0 + -0.0237370003014803 + -0.5372480154037476 + 0.1935819983482361 + <_> + + <_> + + + + <_>0 2 4 10 -1. + <_>0 7 4 5 2. + 0 + 0.0775220021605492 + -0.0601940006017685 + -1.9489669799804688 + <_> + + <_> + + + + <_>8 0 9 6 -1. + <_>11 0 3 6 3. + 0 + -0.0133450003340840 + -0.4522959887981415 + 0.1874150037765503 + <_> + + <_> + + + + <_>2 9 12 6 -1. + <_>2 12 12 3 2. + 0 + -0.0217199996113777 + 1.2144249677658081 + -0.1536580026149750 + <_> + + <_> + + + + <_>13 10 6 9 -1. + <_>13 13 6 3 3. + 0 + -0.0714749991893768 + -2.3047130107879639 + 0.1099990010261536 + <_> + + <_> + + + + <_>5 10 6 9 -1. + <_>5 13 6 3 3. + 0 + -5.4999999701976776e-003 + -0.7185519933700562 + 0.0201009996235371 + <_> + + <_> + + + + <_>9 15 9 6 -1. + <_>9 17 9 2 3. + 0 + 0.0267409998923540 + 0.0735450014472008 + 0.9878600239753723 + <_> + + <_> + + + + <_>5 16 12 6 -1. + <_>5 19 12 3 2. + 0 + -0.0394079983234406 + -1.2227380275726318 + -0.0435069985687733 + <_> + + <_> + + + + <_>3 2 20 3 -1. + <_>3 3 20 1 3. + 0 + 0.0258889999240637 + 0.1340930014848709 + -1.1770780086517334 + <_> + + <_> + + + + <_>2 5 12 6 -1. + <_>6 5 4 6 3. + 0 + 0.0489250011742115 + -0.0308100003749132 + -0.9347950220108032 + <_> + + <_> + + + + <_>11 0 3 24 -1. + <_>12 0 1 24 3. + 0 + 0.0368929989635944 + 0.1333370059728622 + -1.4998290538787842 + <_> + + <_> + + + + <_>3 16 15 4 -1. + <_>8 16 5 4 3. + 0 + 0.0789299979805946 + -0.1453880071640015 + 1.5631790161132813 + <_> + + <_> + + + + <_>9 12 6 12 -1. + <_>9 18 6 6 2. + 0 + 0.0290060006082058 + 0.1938370019197464 + -0.6764280200004578 + <_> + + <_> + + + + <_>1 15 12 8 -1. + <_>1 15 6 4 2. + <_>7 19 6 4 2. + 0 + 6.3089998438954353e-003 + -0.3746539950370789 + 0.1085750013589859 + <_> + + <_> + + + + <_>15 10 8 14 -1. + <_>19 10 4 7 2. + <_>15 17 4 7 2. + 0 + -0.0658309981226921 + 0.8105940222740173 + 0.0302019994705915 + <_> + + <_> + + + + <_>1 9 8 14 -1. + <_>1 9 4 7 2. + <_>5 16 4 7 2. + 0 + -0.0689650028944016 + 0.8377259969711304 + -0.1714099943637848 + <_> + + <_> + + + + <_>9 11 9 10 -1. + <_>9 16 9 5 2. + 0 + -0.1166910007596016 + -0.9464719891548157 + 0.1312319934368134 + <_> + + <_> + + + + <_>6 7 12 6 -1. + <_>6 9 12 2 3. + 0 + -1.3060000492259860e-003 + 0.0460079982876778 + -0.5201159715652466 + <_> + + <_> + + + + <_>10 15 6 9 -1. + <_>12 15 2 9 3. + 0 + -0.0445589981973171 + -1.9423669576644897 + 0.1320070028305054 + <_> + + <_> + + + + <_>7 8 9 7 -1. + <_>10 8 3 7 3. + 0 + 0.0510330013930798 + -0.2148099988698959 + 0.4867390096187592 + <_> + + <_> + + + + <_>10 4 8 10 -1. + <_>14 4 4 5 2. + <_>10 9 4 5 2. + 0 + -0.0315780006349087 + 0.5998979806900024 + 7.9159997403621674e-003 + <_> + + <_> + + + + <_>4 6 6 9 -1. + <_>4 9 6 3 3. + 0 + 0.0210200008004904 + -0.2206950038671494 + 0.5404620170593262 + <_> + + <_> + + + + <_>0 6 24 12 -1. + <_>8 6 8 12 3. + 0 + -0.1382420063018799 + 0.6295750141143799 + -0.0217129997909069 + <_> + + <_> + + + + <_>3 7 6 14 -1. + <_>6 7 3 14 2. + 0 + 0.0522289983928204 + -0.2336090058088303 + 0.4976080060005188 + <_> + + <_> + + + + <_>19 8 5 8 -1. + <_>19 12 5 4 2. + 0 + 0.0258840005844831 + 0.1804199963808060 + -0.2203920036554337 + <_> + + <_> + + + + <_>0 8 5 8 -1. + <_>0 12 5 4 2. + 0 + -0.0121389999985695 + -0.6973189711570740 + 0.0157120004296303 + <_> + + <_> + + + + <_>17 3 6 6 -1. + <_>17 6 6 3 2. + 0 + -0.0242379996925592 + 0.3459329903125763 + 0.0714699998497963 + <_> + + <_> + + + + <_>1 3 6 6 -1. + <_>1 6 6 3 2. + 0 + -0.0252720005810261 + -0.8758329749107361 + -9.8240002989768982e-003 + <_> + + <_> + + + + <_>18 2 6 9 -1. + <_>18 5 6 3 3. + 0 + 0.0125970002263784 + 0.2364999949932098 + -0.2873120009899139 + <_> + + <_> + + + + <_>0 2 6 9 -1. + <_>0 5 6 3 3. + 0 + 0.0573309995234013 + -0.0615309998393059 + -2.2326040267944336 + <_> + + <_> + + + + <_>3 3 18 6 -1. + <_>3 5 18 2 3. + 0 + 0.0166710000485182 + -0.1985010057687759 + 0.4081070125102997 + <_> + + <_> + + + + <_>2 3 9 6 -1. + <_>2 5 9 2 3. + 0 + -0.0228189993649721 + 0.9648759961128235 + -0.2024569958448410 + <_> + + <_> + + + + <_>9 3 10 8 -1. + <_>14 3 5 4 2. + <_>9 7 5 4 2. + 0 + 3.7000001611886546e-005 + -0.0589089989662170 + 0.2705540060997009 + <_> + + <_> + + + + <_>5 3 10 8 -1. + <_>5 3 5 4 2. + <_>10 7 5 4 2. + 0 + -7.6700001955032349e-003 + -0.4531710147857666 + 0.0896280035376549 + <_> + + <_> + + + + <_>10 11 6 12 -1. + <_>10 11 3 12 2. + 0 + 0.0940859988331795 + 0.1160459965467453 + -1.0951169729232788 + <_> + + <_> + + + + <_>8 11 6 11 -1. + <_>11 11 3 11 2. + 0 + -0.0622670017182827 + 1.8096530437469482 + -0.1477320045232773 + <_> + + <_> + + + + <_>7 8 10 4 -1. + <_>7 8 5 4 2. + 0 + 0.0174160003662109 + 0.2306820005178452 + -0.4241760075092316 + <_> + + <_> + + + + <_>9 6 6 7 -1. + <_>12 6 3 7 2. + 0 + -0.0220660008490086 + 0.4927029907703400 + -0.2063090056180954 + <_> + + <_> + + + + <_>5 18 18 3 -1. + <_>5 19 18 1 3. + 0 + -0.0104040000587702 + 0.6092429757118225 + 0.0281300004571676 + <_> + + <_> + + + + <_>8 4 6 9 -1. + <_>10 4 2 9 3. + 0 + -9.3670003116130829e-003 + 0.4017120003700256 + -0.2168170064687729 + <_> + + <_> + + + + <_>8 1 9 7 -1. + <_>11 1 3 7 3. + 0 + -0.0290399994701147 + -0.8487650156021118 + 0.1424680054187775 + <_> + + <_> + + + + <_>6 11 6 6 -1. + <_>9 11 3 6 2. + 0 + -0.0210619997233152 + -0.7919830083847046 + -0.0125959999859333 + <_> + + <_> + + + + <_>14 12 4 11 -1. + <_>14 12 2 11 2. + 0 + -0.0370009988546371 + -0.6748890280723572 + 0.1283040046691895 + <_> + + <_> + + + + <_>6 12 4 11 -1. + <_>8 12 2 11 2. + 0 + 0.0107359997928143 + 0.0367799997329712 + -0.6339300274848938 + <_> + + <_> + + + + <_>8 0 12 18 -1. + <_>12 0 4 18 3. + 0 + 0.1636759936809540 + 0.1380389928817749 + -0.4718900024890900 + <_> + + <_> + + + + <_>2 12 10 5 -1. + <_>7 12 5 5 2. + 0 + 0.0949179977178574 + -0.1385570019483566 + 1.9492419958114624 + <_> + + <_> + + + + <_>2 20 22 3 -1. + <_>2 21 22 1 3. + 0 + 0.0352619998157024 + 0.1372189968824387 + -2.1186530590057373 + <_> + + <_> + + + + <_>0 4 2 20 -1. + <_>1 4 1 20 2. + 0 + 0.0128110004588962 + -0.2000810056924820 + 0.4950779974460602 + -3.5939640998840332 + 15 + -1 + <_> + + + <_> + + <_> + + + + <_>0 2 24 4 -1. + <_>8 2 8 4 3. + 0 + 0.1390440016984940 + -0.4658119976520538 + 0.7643160223960877 + <_> + + <_> + + + + <_>7 8 10 4 -1. + <_>7 10 10 2 2. + 0 + 0.0119169997051358 + -0.9439899921417236 + 0.3972629904747009 + <_> + + <_> + + + + <_>6 7 8 10 -1. + <_>6 7 4 5 2. + <_>10 12 4 5 2. + 0 + -0.0100069995969534 + 0.3271879851818085 + -0.6336740255355835 + <_> + + <_> + + + + <_>14 0 6 14 -1. + <_>17 0 3 7 2. + <_>14 7 3 7 2. + 0 + -6.0479999519884586e-003 + 0.2742789983749390 + -0.5744699835777283 + <_> + + <_> + + + + <_>4 11 5 8 -1. + <_>4 15 5 4 2. + 0 + -1.2489999644458294e-003 + 0.2362930029630661 + -0.6859350204467773 + <_> + + <_> + + + + <_>2 0 20 9 -1. + <_>2 3 20 3 3. + 0 + 0.0323820002377033 + -0.5763019919395447 + 0.2749269902706146 + <_> + + <_> + + + + <_>6 7 12 8 -1. + <_>6 7 6 4 2. + <_>12 11 6 4 2. + 0 + -0.0139579996466637 + -0.6106150150299072 + 0.2454160004854202 + <_> + + <_> + + + + <_>9 17 6 6 -1. + <_>9 20 6 3 2. + 0 + 1.1159999994561076e-003 + -0.5653910040855408 + 0.2717930078506470 + <_> + + <_> + + + + <_>7 10 10 4 -1. + <_>7 12 10 2 2. + 0 + 2.7000000045518391e-005 + -0.8023599982261658 + 0.1150910034775734 + <_> + + <_> + + + + <_>6 5 12 9 -1. + <_>10 5 4 9 3. + 0 + -2.5700000696815550e-004 + -0.8120589852333069 + 0.2384469956159592 + <_> + + <_> + + + + <_>5 11 6 8 -1. + <_>8 11 3 8 2. + 0 + 4.0460000745952129e-003 + 0.1390960067510605 + -0.6616320013999939 + <_> + + <_> + + + + <_>18 4 4 17 -1. + <_>18 4 2 17 2. + 0 + 0.0143560003489256 + -0.1648519933223724 + 0.4190169870853424 + <_> + + <_> + + + + <_>0 0 6 6 -1. + <_>3 0 3 6 2. + 0 + -0.0553749985992908 + 1.4425870180130005 + -0.1882019937038422 + <_> + + <_> + + + + <_>18 4 4 17 -1. + <_>18 4 2 17 2. + 0 + 0.0935949981212616 + 0.1354829967021942 + -0.9163609743118286 + <_> + + <_> + + + + <_>2 4 4 17 -1. + <_>4 4 2 17 2. + 0 + 0.0266249999403954 + -0.3374829888343811 + 0.3923360109329224 + <_> + + <_> + + + + <_>5 18 19 3 -1. + <_>5 19 19 1 3. + 0 + 3.7469998933374882e-003 + -0.1161540001630783 + 0.4439930021762848 + <_> + + <_> + + + + <_>11 0 2 18 -1. + <_>11 9 2 9 2. + 0 + -0.0318860001862049 + -0.9949830174446106 + 1.6120000509545207e-003 + <_> + + <_> + + + + <_>15 4 2 18 -1. + <_>15 13 2 9 2. + 0 + -0.0226000007241964 + -0.4806739985942841 + 0.1700730025768280 + <_> + + <_> + + + + <_>7 4 2 18 -1. + <_>7 13 2 9 2. + 0 + 0.0252020005136728 + 0.0355800017714500 + -0.8021540045738220 + <_> + + <_> + + + + <_>7 11 10 8 -1. + <_>12 11 5 4 2. + <_>7 15 5 4 2. + 0 + -0.0310369990766048 + -1.0895340442657471 + 0.1808190047740936 + <_> + + <_> + + + + <_>10 6 4 9 -1. + <_>12 6 2 9 2. + 0 + -0.0264759995043278 + 0.9567120075225830 + -0.2104939967393875 + <_> + + <_> + + + + <_>10 0 6 9 -1. + <_>12 0 2 9 3. + 0 + -0.0138539997860789 + -1.0370320081710815 + 0.2216670066118240 + <_> + + <_> + + + + <_>2 9 16 8 -1. + <_>2 9 8 4 2. + <_>10 13 8 4 2. + 0 + -0.0629250034689903 + 0.9019939899444580 + -0.1908529996871948 + <_> + + <_> + + + + <_>14 15 6 9 -1. + <_>14 18 6 3 3. + 0 + -0.0447509996592999 + -1.0119110345840454 + 0.1469119936227799 + <_> + + <_> + + + + <_>8 7 6 9 -1. + <_>10 7 2 9 3. + 0 + -0.0204280000180006 + 0.6162449717521668 + -0.2355269938707352 + <_> + + <_> + + + + <_>14 15 6 9 -1. + <_>14 18 6 3 3. + 0 + -8.0329999327659607e-003 + -0.0832799971103668 + 0.2172870039939880 + <_> + + <_> + + + + <_>3 12 12 6 -1. + <_>3 14 12 2 3. + 0 + 8.7280003353953362e-003 + 0.0654589980840683 + -0.6031870245933533 + <_> + + <_> + + + + <_>14 12 9 6 -1. + <_>14 14 9 2 3. + 0 + -0.0272020008414984 + -0.9344739913940430 + 0.1527000069618225 + <_> + + <_> + + + + <_>1 12 9 6 -1. + <_>1 14 9 2 3. + 0 + -0.0164710003882647 + -0.8417710065841675 + 0.0133320000022650 + <_> + + <_> + + + + <_>3 7 18 3 -1. + <_>3 8 18 1 3. + 0 + -0.0137440003454685 + 0.6056720018386841 + -0.0920210033655167 + <_> + + <_> + + + + <_>1 7 22 6 -1. + <_>1 9 22 2 3. + 0 + 0.0291649997234344 + -0.0281140003353357 + -1.4014569520950317 + <_> + + <_> + + + + <_>18 4 6 6 -1. + <_>18 7 6 3 2. + 0 + 0.0374570004642010 + 0.1308059990406036 + -0.4938249886035919 + <_> + + <_> + + + + <_>0 4 6 6 -1. + <_>0 7 6 3 2. + 0 + -0.0250700004398823 + -1.1289390325546265 + -0.0146000003442168 + <_> + + <_> + + + + <_>5 11 16 6 -1. + <_>5 14 16 3 2. + 0 + -0.0638120025396347 + 0.7587159872055054 + -1.8200000049546361e-003 + <_> + + <_> + + + + <_>6 16 9 4 -1. + <_>6 18 9 2 2. + 0 + -9.3900002539157867e-003 + 0.2993640005588532 + -0.2948780059814453 + <_> + + <_> + + + + <_>14 15 6 9 -1. + <_>14 18 6 3 3. + 0 + -7.6000002445653081e-004 + 0.0197250004857779 + 0.1999389976263046 + <_> + + <_> + + + + <_>4 15 6 9 -1. + <_>4 18 6 3 3. + 0 + -0.0217409990727901 + -0.8524789810180664 + 0.0491699986159801 + <_> + + <_> + + + + <_>15 1 6 23 -1. + <_>17 1 2 23 3. + 0 + -0.0178699996322393 + -0.0599859990179539 + 0.1522250026464462 + <_> + + <_> + + + + <_>0 21 24 3 -1. + <_>8 21 8 3 3. + 0 + -0.0248310007154942 + 0.3560340106487274 + -0.2625989913940430 + <_> + + <_> + + + + <_>0 20 24 4 -1. + <_>8 20 8 4 3. + 0 + 0.1571550071239471 + 1.5599999460391700e-004 + 1.0428730249404907 + <_> + + <_> + + + + <_>3 1 6 23 -1. + <_>5 1 2 23 3. + 0 + 0.0690269991755486 + -0.0330069996416569 + -1.1796669960021973 + <_> + + <_> + + + + <_>3 17 18 3 -1. + <_>3 18 18 1 3. + 0 + -0.0110219996422529 + 0.5898770093917847 + -0.0576479993760586 + <_> + + <_> + + + + <_>0 16 18 3 -1. + <_>0 17 18 1 3. + 0 + -0.0138349998742342 + 0.5950279831886292 + -0.2441859990358353 + <_> + + <_> + + + + <_>1 16 22 4 -1. + <_>12 16 11 2 2. + <_>1 18 11 2 2. + 0 + -0.0309410002082586 + -1.1723799705505371 + 0.1690700054168701 + <_> + + <_> + + + + <_>0 16 9 6 -1. + <_>0 18 9 2 3. + 0 + 0.0212580002844334 + -0.0189009997993708 + -1.0684759616851807 + <_> + + <_> + + + + <_>2 10 21 3 -1. + <_>9 10 7 3 3. + 0 + 0.0930799990892410 + 0.1630560010671616 + -1.3375270366668701 + <_> + + <_> + + + + <_>2 18 12 6 -1. + <_>2 18 6 3 2. + <_>8 21 6 3 2. + 0 + 0.0296359993517399 + -0.2252479940652847 + 0.4540010094642639 + <_> + + <_> + + + + <_>0 5 24 4 -1. + <_>0 7 24 2 2. + 0 + -1.2199999764561653e-004 + 0.2740910053253174 + -0.3737139999866486 + <_> + + <_> + + + + <_>10 2 4 15 -1. + <_>10 7 4 5 3. + 0 + -0.0420980006456375 + -0.7582880258560181 + 0.0171370003372431 + <_> + + <_> + + + + <_>10 7 6 12 -1. + <_>10 13 6 6 2. + 0 + -0.0225050002336502 + -0.2275930047035217 + 0.2369869947433472 + <_> + + <_> + + + + <_>6 6 6 9 -1. + <_>8 6 2 9 3. + 0 + -0.0128629999235272 + 0.1925240010023117 + -0.3212710022926331 + <_> + + <_> + + + + <_>11 0 6 9 -1. + <_>13 0 2 9 3. + 0 + 0.0278600007295609 + 0.1672369986772537 + -1.0209059715270996 + <_> + + <_> + + + + <_>9 7 6 9 -1. + <_>11 7 2 9 3. + 0 + -0.0278079994022846 + 1.2824759483337402 + -0.1722529977560043 + <_> + + <_> + + + + <_>2 1 20 3 -1. + <_>2 2 20 1 3. + 0 + -6.1630001291632652e-003 + -0.5407289862632752 + 0.2388570010662079 + <_> + + <_> + + + + <_>1 18 12 6 -1. + <_>1 18 6 3 2. + <_>7 21 6 3 2. + 0 + -0.0204360000789166 + 0.6335539817810059 + -0.2109059989452362 + <_> + + <_> + + + + <_>13 2 4 13 -1. + <_>13 2 2 13 2. + 0 + -0.0123079996556044 + -0.4977819919586182 + 0.1740259975194931 + <_> + + <_> + + + + <_>6 7 12 4 -1. + <_>12 7 6 4 2. + 0 + -0.0404939986765385 + -1.1848740577697754 + -0.0338909998536110 + <_> + + <_> + + + + <_>10 1 4 13 -1. + <_>10 1 2 13 2. + 0 + 0.0296570006757975 + 0.0217409990727901 + 1.0069919824600220 + <_> + + <_> + + + + <_>6 0 3 18 -1. + <_>7 0 1 18 3. + 0 + 6.8379999138414860e-003 + 0.0292179994285107 + -0.5990629792213440 + <_> + + <_> + + + + <_>14 3 10 5 -1. + <_>14 3 5 5 2. + 0 + 0.0161649994552135 + -0.2100079953670502 + 0.3763729929924011 + <_> + + <_> + + + + <_>6 15 12 8 -1. + <_>10 15 4 8 3. + 0 + 0.0501930005848408 + 2.5319999549537897e-003 + -0.7166820168495178 + <_> + + <_> + + + + <_>9 10 6 9 -1. + <_>11 10 2 9 3. + 0 + 1.9680000841617584e-003 + -0.2192140072584152 + 0.3229869902133942 + <_> + + <_> + + + + <_>8 3 4 9 -1. + <_>10 3 2 9 2. + 0 + 0.0249799992889166 + -9.6840001642704010e-003 + -0.7757290005683899 + <_> + + <_> + + + + <_>17 0 6 14 -1. + <_>20 0 3 7 2. + <_>17 7 3 7 2. + 0 + -0.0158099997788668 + 0.4463750123977661 + -0.0617600008845329 + <_> + + <_> + + + + <_>1 0 6 14 -1. + <_>1 0 3 7 2. + <_>4 7 3 7 2. + 0 + 0.0372069999575615 + -0.2049539983272553 + 0.5772219896316528 + <_> + + <_> + + + + <_>14 0 6 16 -1. + <_>17 0 3 8 2. + <_>14 8 3 8 2. + 0 + -0.0792649984359741 + -0.7674540281295776 + 0.1255040019750595 + <_> + + <_> + + + + <_>7 4 4 10 -1. + <_>9 4 2 10 2. + 0 + -0.0171520002186298 + -1.4121830463409424 + -0.0517040006816387 + <_> + + <_> + + + + <_>3 17 18 6 -1. + <_>12 17 9 3 2. + <_>3 20 9 3 2. + 0 + 0.0327400006353855 + 0.1933400034904480 + -0.6363369822502136 + <_> + + <_> + + + + <_>1 20 22 4 -1. + <_>12 20 11 4 2. + 0 + -0.1175699979066849 + 0.8432540297508240 + -0.1801860034465790 + <_> + + <_> + + + + <_>14 3 10 5 -1. + <_>14 3 5 5 2. + 0 + 0.1205720007419586 + 0.1253000050783157 + -2.1213600635528564 + <_> + + <_> + + + + <_>0 3 10 5 -1. + <_>5 3 5 5 2. + 0 + 4.2779999785125256e-003 + -0.4660440087318420 + 0.0896439999341965 + <_> + + <_> + + + + <_>12 6 12 16 -1. + <_>16 6 4 16 3. + 0 + -0.0725449994206429 + 0.5182650089263916 + 0.0168239995837212 + <_> + + <_> + + + + <_>0 6 12 16 -1. + <_>4 6 4 16 3. + 0 + 0.1771059930324554 + -0.0309100002050400 + -1.1046639680862427 + <_> + + <_> + + + + <_>10 9 5 15 -1. + <_>10 14 5 5 3. + 0 + 8.4229996427893639e-003 + 0.2444580048322678 + -0.3861309885978699 + <_> + + <_> + + + + <_>1 18 21 2 -1. + <_>1 19 21 1 2. + 0 + -0.0130350003018975 + 0.9800440073013306 + -0.1701650023460388 + <_> + + <_> + + + + <_>15 0 9 6 -1. + <_>15 2 9 2 3. + 0 + 0.0189120005816221 + 0.2024849951267242 + -0.3854590058326721 + <_> + + <_> + + + + <_>6 1 12 4 -1. + <_>12 1 6 4 2. + 0 + 0.0214479994028807 + -0.2571719884872437 + 0.3518120050430298 + <_> + + <_> + + + + <_>6 0 12 12 -1. + <_>12 0 6 6 2. + <_>6 6 6 6 2. + 0 + 0.0633570030331612 + 0.1699479967355728 + -0.9138380289077759 + <_> + + <_> + + + + <_>8 10 8 12 -1. + <_>8 10 4 6 2. + <_>12 16 4 6 2. + 0 + -0.0324359983205795 + -0.8568159937858582 + -0.0216809995472431 + <_> + + <_> + + + + <_>14 16 10 8 -1. + <_>19 16 5 4 2. + <_>14 20 5 4 2. + 0 + -0.0235649999231100 + 0.5611559748649597 + -2.2400000307243317e-004 + <_> + + <_> + + + + <_>0 16 10 8 -1. + <_>0 16 5 4 2. + <_>5 20 5 4 2. + 0 + 0.0187890008091927 + -0.2545979917049408 + 0.3451290130615234 + <_> + + <_> + + + + <_>10 12 12 5 -1. + <_>14 12 4 5 3. + 0 + 0.0310420002788305 + 7.5719999149441719e-003 + 0.3480019867420197 + <_> + + <_> + + + + <_>6 16 10 8 -1. + <_>6 16 5 4 2. + <_>11 20 5 4 2. + 0 + -0.0112269995734096 + -0.6021980047225952 + 0.0428149998188019 + <_> + + <_> + + + + <_>7 6 12 6 -1. + <_>13 6 6 3 2. + <_>7 9 6 3 2. + 0 + -0.0128459995612502 + 0.4202040135860443 + -0.0538010001182556 + <_> + + <_> + + + + <_>9 6 4 18 -1. + <_>9 6 2 9 2. + <_>11 15 2 9 2. + 0 + -0.0127919996157289 + 0.2272450029850006 + -0.3239800035953522 + <_> + + <_> + + + + <_>10 9 6 14 -1. + <_>13 9 3 7 2. + <_>10 16 3 7 2. + 0 + 0.0686519965529442 + 0.0935320034623146 + 10. + <_> + + <_> + + + + <_>8 9 6 14 -1. + <_>8 9 3 7 2. + <_>11 16 3 7 2. + 0 + 5.2789999172091484e-003 + -0.2692629992961884 + 0.3330320119857788 + <_> + + <_> + + + + <_>7 4 11 12 -1. + <_>7 10 11 6 2. + 0 + -0.0387790016829968 + -0.7236530184745789 + 0.1780650019645691 + <_> + + <_> + + + + <_>4 8 6 16 -1. + <_>4 8 3 8 2. + <_>7 16 3 8 2. + 0 + 6.1820000410079956e-003 + -0.3511939942836762 + 0.1658630073070526 + <_> + + <_> + + + + <_>17 3 4 21 -1. + <_>17 10 4 7 3. + 0 + 0.1751520037651062 + 0.1162310019135475 + -1.5419290065765381 + <_> + + <_> + + + + <_>3 3 4 21 -1. + <_>3 10 4 7 3. + 0 + 0.1162799969315529 + -9.1479998081922531e-003 + -0.9984260201454163 + <_> + + <_> + + + + <_>10 1 8 18 -1. + <_>14 1 4 9 2. + <_>10 10 4 9 2. + 0 + -0.0229640007019043 + 0.2056539952754974 + 0.0154320001602173 + <_> + + <_> + + + + <_>2 5 16 8 -1. + <_>2 5 8 4 2. + <_>10 9 8 4 2. + 0 + -0.0514100007712841 + 0.5807240009307861 + -0.2011840045452118 + <_> + + <_> + + + + <_>3 6 18 12 -1. + <_>3 10 18 4 3. + 0 + 0.2247419953346252 + 0.0187289994210005 + 1.0829299688339233 + <_> + + <_> + + + + <_>4 10 16 12 -1. + <_>4 14 16 4 3. + 0 + 9.4860000535845757e-003 + -0.3317129909992218 + 0.1990299969911575 + <_> + + <_> + + + + <_>15 4 8 20 -1. + <_>19 4 4 10 2. + <_>15 14 4 10 2. + 0 + -0.1184630021452904 + 1.3711010217666626 + 0.0689269974827766 + <_> + + <_> + + + + <_>7 2 9 6 -1. + <_>10 2 3 6 3. + 0 + 0.0378109999001026 + -9.3600002583116293e-004 + -0.8399699926376343 + <_> + + <_> + + + + <_>15 4 8 20 -1. + <_>19 4 4 10 2. + <_>15 14 4 10 2. + 0 + 0.0222020000219345 + -0.0119639998301864 + 0.3667399883270264 + <_> + + <_> + + + + <_>1 4 8 20 -1. + <_>1 4 4 10 2. + <_>5 14 4 10 2. + 0 + -0.0363660007715225 + 0.3786650002002716 + -0.2771480083465576 + <_> + + <_> + + + + <_>11 8 8 14 -1. + <_>15 8 4 7 2. + <_>11 15 4 7 2. + 0 + -0.1318469941616058 + -2.7481179237365723 + 0.1066690012812614 + <_> + + <_> + + + + <_>5 8 8 14 -1. + <_>5 8 4 7 2. + <_>9 15 4 7 2. + 0 + -0.0416559986770153 + 0.4752430021762848 + -0.2324980050325394 + <_> + + <_> + + + + <_>10 13 5 8 -1. + <_>10 17 5 4 2. + 0 + -0.0331519991159439 + -0.5792940258979797 + 0.1743440032005310 + <_> + + <_> + + + + <_>4 13 7 9 -1. + <_>4 16 7 3 3. + 0 + 0.0157699994742870 + -0.0112840002402663 + -0.8370140194892883 + <_> + + <_> + + + + <_>0 13 24 10 -1. + <_>0 18 24 5 2. + 0 + -0.0393630005419254 + 0.3482159972190857 + -0.1745540052652359 + <_> + + <_> + + + + <_>4 2 8 11 -1. + <_>8 2 4 11 2. + 0 + -0.0678490027785301 + 1.4225699901580811 + -0.1476559937000275 + <_> + + <_> + + + + <_>10 2 8 16 -1. + <_>14 2 4 8 2. + <_>10 10 4 8 2. + 0 + -0.0267750006169081 + 0.2394700050354004 + 0.0132719995453954 + <_> + + <_> + + + + <_>0 2 24 6 -1. + <_>0 2 12 3 2. + <_>12 5 12 3 2. + 0 + 0.0399190001189709 + -8.9999996125698090e-003 + -0.7593889832496643 + <_> + + <_> + + + + <_>6 0 12 9 -1. + <_>6 3 12 3 3. + 0 + 0.1006560027599335 + -0.0186850000172853 + 0.7624530196189880 + <_> + + <_> + + + + <_>1 2 12 12 -1. + <_>1 2 6 6 2. + <_>7 8 6 6 2. + 0 + -0.0810220018029213 + -0.9043909907341003 + -8.5880002006888390e-003 + <_> + + <_> + + + + <_>18 5 6 9 -1. + <_>18 8 6 3 3. + 0 + -0.0212580002844334 + -0.2131959944963455 + 0.2191970050334930 + <_> + + <_> + + + + <_>4 3 8 10 -1. + <_>4 3 4 5 2. + <_>8 8 4 5 2. + 0 + -0.0106309996917844 + 0.1959809958934784 + -0.3576810061931610 + <_> + + <_> + + + + <_>6 21 18 3 -1. + <_>6 22 18 1 3. + 0 + 8.1300002057105303e-004 + -0.0927949994802475 + 0.2614589929580689 + <_> + + <_> + + + + <_>1 10 18 2 -1. + <_>1 11 18 1 2. + 0 + 3.4650000743567944e-003 + -0.5533609986305237 + 0.0273860003799200 + <_> + + <_> + + + + <_>1 10 22 3 -1. + <_>1 11 22 1 3. + 0 + 0.0188359990715981 + 0.1844609975814819 + -0.6693429946899414 + <_> + + <_> + + + + <_>2 8 12 9 -1. + <_>2 11 12 3 3. + 0 + -0.0256319995969534 + 1.9382879734039307 + -0.1470890045166016 + <_> + + <_> + + + + <_>12 8 12 6 -1. + <_>18 8 6 3 2. + <_>12 11 6 3 2. + 0 + -4.0939999744296074e-003 + -0.2645159959793091 + 0.2073320001363754 + <_> + + <_> + + + + <_>0 8 12 6 -1. + <_>0 8 6 3 2. + <_>6 11 6 3 2. + 0 + -8.9199998183175921e-004 + -0.5503159761428833 + 0.0503749996423721 + <_> + + <_> + + + + <_>10 15 6 9 -1. + <_>12 15 2 9 3. + 0 + -0.0495180003345013 + -2.5615389347076416 + 0.1314170062541962 + <_> + + <_> + + + + <_>7 13 9 6 -1. + <_>7 15 9 2 3. + 0 + 0.0116809997707605 + -0.2481980025768280 + 0.3998270034790039 + <_> + + <_> + + + + <_>9 8 7 12 -1. + <_>9 14 7 6 2. + 0 + 0.0345639996230602 + 0.1617880016565323 + -0.7141889929771423 + <_> + + <_> + + + + <_>4 13 9 6 -1. + <_>7 13 3 6 3. + 0 + -8.2909995689988136e-003 + 0.2218009978532791 + -0.2918170094490051 + <_> + + <_> + + + + <_>6 15 18 4 -1. + <_>12 15 6 4 3. + 0 + -0.0223580002784729 + 0.3104409873485565 + -2.7280000504106283e-003 + <_> + + <_> + + + + <_>5 4 4 16 -1. + <_>7 4 2 16 2. + 0 + -0.0308010000735521 + -0.9567270278930664 + -8.3400001749396324e-003 + <_> + + <_> + + + + <_>10 15 6 9 -1. + <_>12 15 2 9 3. + 0 + 0.0437790006399155 + 0.1255690008401871 + -1.1759619712829590 + <_> + + <_> + + + + <_>8 15 6 9 -1. + <_>10 15 2 9 3. + 0 + 0.0430460013449192 + -0.0588769987225533 + -1.8568470478057861 + <_> + + <_> + + + + <_>9 11 12 10 -1. + <_>15 11 6 5 2. + <_>9 16 6 5 2. + 0 + 0.0271889995783567 + 0.0428580008447170 + 0.3903670012950897 + <_> + + <_> + + + + <_>3 6 14 6 -1. + <_>3 8 14 2 3. + 0 + 9.4149997457861900e-003 + -0.0435670018196106 + -1.1094470024108887 + <_> + + <_> + + + + <_>4 2 17 8 -1. + <_>4 6 17 4 2. + 0 + 0.0943119972944260 + 0.0402569994330406 + 0.9844229817390442 + <_> + + <_> + + + + <_>6 2 12 21 -1. + <_>6 9 12 7 3. + 0 + 0.1702509969472885 + 0.0295100007206202 + -0.6950929760932922 + <_> + + <_> + + + + <_>8 1 9 9 -1. + <_>8 4 9 3 3. + 0 + -0.0471480004489422 + 1.0338569879531860 + 0.0676020011305809 + <_> + + <_> + + + + <_>0 7 24 3 -1. + <_>12 7 12 3 2. + 0 + 0.1118630021810532 + -0.0686829984188080 + -2.4985830783843994 + <_> + + <_> + + + + <_>11 6 9 10 -1. + <_>11 11 9 5 2. + 0 + -0.0143539998680353 + -0.5948190093040466 + 0.1500169932842255 + <_> + + <_> + + + + <_>2 11 18 3 -1. + <_>2 12 18 1 3. + 0 + 0.0340240001678467 + -0.0648230016231537 + -2.1382639408111572 + <_> + + <_> + + + + <_>8 16 9 4 -1. + <_>8 18 9 2 2. + 0 + 0.0216019991785288 + 0.0553099997341633 + 0.7829290032386780 + <_> + + <_> + + + + <_>0 0 9 6 -1. + <_>0 2 9 2 3. + 0 + 0.0217719990760088 + -7.1279997937381268e-003 + -0.7214810252189636 + <_> + + <_> + + + + <_>0 11 24 6 -1. + <_>0 13 24 2 3. + 0 + 0.0824169963598251 + 0.1460949927568436 + -1.3636670112609863 + <_> + + <_> + + + + <_>2 9 20 6 -1. + <_>2 12 20 3 2. + 0 + 0.0846719965338707 + -0.1778469979763031 + 0.7285770177841187 + <_> + + <_> + + + + <_>4 5 16 12 -1. + <_>12 5 8 6 2. + <_>4 11 8 6 2. + 0 + -0.0551280006766319 + -0.5940240025520325 + 0.1935780048370361 + <_> + + <_> + + + + <_>10 2 4 15 -1. + <_>10 7 4 5 3. + 0 + -0.0648230016231537 + -1.0783840417861938 + -0.0407340005040169 + <_> + + <_> + + + + <_>7 3 10 4 -1. + <_>7 5 10 2 2. + 0 + -0.0227690003812313 + 0.7790020108222961 + 3.4960000775754452e-003 + <_> + + <_> + + + + <_>9 15 6 8 -1. + <_>9 19 6 4 2. + 0 + 0.0547560006380081 + -0.0656839981675148 + -1.8188409805297852 + <_> + + <_> + + + + <_>17 0 7 10 -1. + <_>17 5 7 5 2. + 0 + -8.9000001025851816e-005 + -0.0178919993340969 + 0.2076829969882965 + <_> + + <_> + + + + <_>0 0 7 10 -1. + <_>0 5 7 5 2. + 0 + 0.0983619987964630 + -0.0559469982981682 + -1.4153920412063599 + <_> + + <_> + + + + <_>16 1 6 12 -1. + <_>19 1 3 6 2. + <_>16 7 3 6 2. + 0 + -7.0930002257227898e-003 + 0.3413529992103577 + -0.1208989992737770 + <_> + + <_> + + + + <_>1 0 19 8 -1. + <_>1 4 19 4 2. + 0 + 0.0502780005335808 + -0.2628670036792755 + 0.2579729855060577 + <_> + + <_> + + + + <_>12 2 9 4 -1. + <_>12 4 9 2 2. + 0 + -5.7870000600814819e-003 + -0.1317860037088394 + 0.1735019981861115 + <_> + + <_> + + + + <_>3 2 9 4 -1. + <_>3 4 9 2 2. + 0 + 0.0139739997684956 + 0.0285180006176233 + -0.6115220189094544 + <_> + + <_> + + + + <_>12 2 10 6 -1. + <_>12 4 10 2 3. + 0 + 0.0214499998837709 + 0.0261819995939732 + 0.3030659854412079 + <_> + + <_> + + + + <_>3 4 18 2 -1. + <_>12 4 9 2 2. + 0 + -0.0292140003293753 + 0.4494059979915619 + -0.2280309945344925 + <_> + + <_> + + + + <_>12 1 4 9 -1. + <_>12 1 2 9 2. + 0 + 4.8099999548867345e-004 + -0.1987999975681305 + 0.2074449956417084 + <_> + + <_> + + + + <_>8 1 4 9 -1. + <_>10 1 2 9 2. + 0 + 1.7109999898821115e-003 + -0.5403720140457153 + 0.0678659975528717 + <_> + + <_> + + + + <_>10 5 8 10 -1. + <_>14 5 4 5 2. + <_>10 10 4 5 2. + 0 + 8.6660003289580345e-003 + -0.0131280003115535 + 0.5229790210723877 + <_> + + <_> + + + + <_>6 4 12 13 -1. + <_>10 4 4 13 3. + 0 + 0.0636579990386963 + 0.0682990029454231 + -0.4923509955406189 + <_> + + <_> + + + + <_>13 5 6 6 -1. + <_>13 5 3 6 2. + 0 + -0.0279680006206036 + 0.6818389892578125 + 0.0787810012698174 + <_> + + <_> + + + + <_>1 5 12 3 -1. + <_>7 5 6 3 2. + 0 + 0.0489539988338947 + -0.2062239944934845 + 0.5038809776306152 + -3.3933560848236084 + 16 + -1 + <_> + + + <_> + + <_> + + + + <_>7 5 10 6 -1. + <_>7 7 10 2 3. + 0 + -0.0293129999190569 + 0.7128469944000244 + -0.5823069810867310 + <_> + + <_> + + + + <_>2 0 21 5 -1. + <_>9 0 7 5 3. + 0 + 0.1241509988903999 + -0.3686349987983704 + 0.6006720066070557 + <_> + + <_> + + + + <_>0 8 9 9 -1. + <_>0 11 9 3 3. + 0 + 7.9349996522068977e-003 + -0.8600829839706421 + 0.2172469943761826 + <_> + + <_> + + + + <_>9 6 6 9 -1. + <_>11 6 2 9 3. + 0 + 0.0303659997880459 + -0.2718699872493744 + 0.6124789714813232 + <_> + + <_> + + + + <_>0 3 6 7 -1. + <_>3 3 3 7 2. + 0 + 0.0252180006355047 + -0.3474830090999603 + 0.5042769908905029 + <_> + + <_> + + + + <_>9 18 12 6 -1. + <_>15 18 6 3 2. + <_>9 21 6 3 2. + 0 + 0.0100140003487468 + -0.3189899921417236 + 0.4137679934501648 + <_> + + <_> + + + + <_>2 8 20 6 -1. + <_>2 8 10 3 2. + <_>12 11 10 3 2. + 0 + -0.0167750008404255 + -0.6904810070991516 + 0.0948309972882271 + <_> + + <_> + + + + <_>13 2 10 4 -1. + <_>13 4 10 2 2. + 0 + -2.6950000319629908e-003 + -0.2082979977130890 + 0.2373719960451126 + <_> + + <_> + + + + <_>4 5 5 18 -1. + <_>4 11 5 6 3. + 0 + 0.0422579981386662 + -0.4936670064926148 + 0.1817059963941574 + <_> + + <_> + + + + <_>20 4 4 9 -1. + <_>20 4 2 9 2. + 0 + -0.0485050007700920 + 1.3429640531539917 + 0.0397690013051033 + <_> + + <_> + + + + <_>8 6 8 14 -1. + <_>8 13 8 7 2. + 0 + 0.0289929993450642 + 0.0464960001409054 + -0.8164349794387817 + <_> + + <_> + + + + <_>0 1 24 6 -1. + <_>12 1 12 3 2. + <_>0 4 12 3 2. + 0 + -0.0400890000164509 + -0.7119780182838440 + 0.2255389988422394 + <_> + + <_> + + + + <_>0 4 4 9 -1. + <_>2 4 2 9 2. + 0 + -0.0410219989717007 + 1.0057929754257202 + -0.1969020068645477 + <_> + + <_> + + + + <_>3 6 18 3 -1. + <_>3 7 18 1 3. + 0 + 0.0118380002677441 + -0.0126000000163913 + 0.8076710104942322 + <_> + + <_> + + + + <_>3 17 16 6 -1. + <_>3 19 16 2 3. + 0 + -0.0213280003517866 + -0.8202390074729919 + 0.0205249991267920 + <_> + + <_> + + + + <_>13 6 6 9 -1. + <_>13 9 6 3 3. + 0 + -0.0239049997180700 + 0.5421050190925598 + -0.0747670009732246 + <_> + + <_> + + + + <_>5 6 14 6 -1. + <_>5 6 7 3 2. + <_>12 9 7 3 2. + 0 + 0.0180089995265007 + -0.3382770121097565 + 0.4235860109329224 + <_> + + <_> + + + + <_>13 5 8 10 -1. + <_>17 5 4 5 2. + <_>13 10 4 5 2. + 0 + -0.0436140000820160 + -1.1983489990234375 + 0.1556620001792908 + <_> + + <_> + + + + <_>2 2 20 3 -1. + <_>2 3 20 1 3. + 0 + -9.2449998483061790e-003 + -0.8902999758720398 + 0.0110039999708533 + <_> + + <_> + + + + <_>9 2 9 6 -1. + <_>12 2 3 6 3. + 0 + 0.0474850013852119 + 0.1666409969329834 + -0.9076449871063232 + <_> + + <_> + + + + <_>8 6 6 9 -1. + <_>10 6 2 9 3. + 0 + -0.0142339998856187 + 0.6269519925117493 + -0.2579120099544525 + <_> + + <_> + + + + <_>12 3 4 11 -1. + <_>12 3 2 11 2. + 0 + 3.8010000716894865e-003 + -0.2822999954223633 + 0.2662459909915924 + <_> + + <_> + + + + <_>8 3 4 11 -1. + <_>10 3 2 11 2. + 0 + 3.4330000635236502e-003 + -0.6377199888229370 + 0.0984229966998100 + <_> + + <_> + + + + <_>8 3 8 10 -1. + <_>12 3 4 5 2. + <_>8 8 4 5 2. + 0 + -0.0292210001498461 + -0.7676990032196045 + 0.2263450026512146 + <_> + + <_> + + + + <_>11 1 2 18 -1. + <_>12 1 1 18 2. + 0 + -6.4949998632073402e-003 + 0.4560010135173798 + -0.2652890086174011 + <_> + + <_> + + + + <_>9 2 9 6 -1. + <_>12 2 3 6 3. + 0 + -0.0300340000540018 + -0.7655109763145447 + 0.1400929987430573 + <_> + + <_> + + + + <_>0 2 19 3 -1. + <_>0 3 19 1 3. + 0 + 7.8360000625252724e-003 + 0.0467559993267059 + -0.7235620021820068 + <_> + + <_> + + + + <_>9 14 9 6 -1. + <_>9 16 9 2 3. + 0 + 8.8550001382827759e-003 + -0.0491419993340969 + 0.5147269964218140 + <_> + + <_> + + + + <_>1 8 18 5 -1. + <_>7 8 6 5 3. + 0 + 0.0959739983081818 + -0.0200689993798733 + -1.0850950479507446 + <_> + + <_> + + + + <_>12 0 6 9 -1. + <_>14 0 2 9 3. + 0 + -0.0328769981861115 + -0.9587529897689819 + 0.1454360038042069 + <_> + + <_> + + + + <_>6 0 6 9 -1. + <_>8 0 2 9 3. + 0 + -0.0133840003982186 + -0.7001360058784485 + 0.0291579999029636 + <_> + + <_> + + + + <_>13 6 4 15 -1. + <_>13 11 4 5 3. + 0 + 0.0152359995990992 + -0.2823570072650909 + 0.2536799907684326 + <_> + + <_> + + + + <_>1 5 18 3 -1. + <_>1 6 18 1 3. + 0 + 0.0120540000498295 + -0.2530339956283569 + 0.4652670025825501 + <_> + + <_> + + + + <_>9 7 14 6 -1. + <_>9 9 14 2 3. + 0 + -0.0762950032949448 + -0.6991580128669739 + 0.1321720033884049 + <_> + + <_> + + + + <_>2 16 18 3 -1. + <_>2 17 18 1 3. + 0 + -0.0120400004088879 + 0.4589459896087647 + -0.2385649979114533 + <_> + + <_> + + + + <_>15 17 9 6 -1. + <_>15 19 9 2 3. + 0 + 0.0219160001724958 + 0.1826860010623932 + -0.6162970066070557 + <_> + + <_> + + + + <_>0 8 12 6 -1. + <_>0 8 6 3 2. + <_>6 11 6 3 2. + 0 + -2.7330000884830952e-003 + -0.6325790286064148 + 0.0342190004885197 + <_> + + <_> + + + + <_>9 13 7 8 -1. + <_>9 17 7 4 2. + 0 + -0.0486520007252693 + -1.0297729969024658 + 0.1738650053739548 + <_> + + <_> + + + + <_>2 17 20 3 -1. + <_>2 18 20 1 3. + 0 + -0.0104639995843172 + 0.3475730121135712 + -0.2746410071849823 + <_> + + <_> + + + + <_>15 17 9 6 -1. + <_>15 19 9 2 3. + 0 + -6.6550001502037048e-003 + -0.2898029983043671 + 0.2403790056705475 + <_> + + <_> + + + + <_>4 0 15 4 -1. + <_>4 2 15 2 2. + 0 + 8.5469996556639671e-003 + -0.4434050023555756 + 0.1426739990711212 + <_> + + <_> + + + + <_>17 2 6 6 -1. + <_>17 5 6 3 2. + 0 + 0.0199139993637800 + 0.1774040013551712 + -0.2409629970788956 + <_> + + <_> + + + + <_>0 3 6 9 -1. + <_>0 6 6 3 3. + 0 + 0.0220129992812872 + -0.0108120003715158 + -0.9469079971313477 + <_> + + <_> + + + + <_>15 17 9 6 -1. + <_>15 19 9 2 3. + 0 + -0.0521790012717247 + 1.6547499895095825 + 0.0964870005846024 + <_> + + <_> + + + + <_>0 17 9 6 -1. + <_>0 19 9 2 3. + 0 + 0.0196989998221397 + -6.7560002207756042e-003 + -0.8631150126457214 + <_> + + <_> + + + + <_>9 18 12 6 -1. + <_>15 18 6 3 2. + <_>9 21 6 3 2. + 0 + 0.0230400003492832 + -2.3519999813288450e-003 + 0.3853130042552948 + <_> + + <_> + + + + <_>3 15 6 9 -1. + <_>3 18 6 3 3. + 0 + -0.0150380004197359 + -0.6190569996833801 + 0.0310779996216297 + <_> + + <_> + + + + <_>16 13 8 10 -1. + <_>20 13 4 5 2. + <_>16 18 4 5 2. + 0 + -0.0499560013413429 + 0.7065749764442444 + 0.0478809997439384 + <_> + + <_> + + + + <_>0 14 24 4 -1. + <_>8 14 8 4 3. + 0 + -0.0692699998617172 + 0.3921290040016174 + -0.2384800016880035 + <_> + + <_> + + + + <_>13 18 6 6 -1. + <_>13 18 3 6 2. + 0 + 4.7399997711181641e-003 + -0.0243090000003576 + 0.2538630068302155 + <_> + + <_> + + + + <_>0 13 8 10 -1. + <_>0 13 4 5 2. + <_>4 18 4 5 2. + 0 + -0.0339239984750748 + 0.4693039953708649 + -0.2332189977169037 + <_> + + <_> + + + + <_>0 14 24 6 -1. + <_>0 17 24 3 2. + 0 + -0.0162310004234314 + 0.3231920003890991 + -0.2054560035467148 + <_> + + <_> + + + + <_>5 2 12 8 -1. + <_>5 2 6 4 2. + <_>11 6 6 4 2. + 0 + -0.0501930005848408 + -1.2277870178222656 + -0.0407980009913445 + <_> + + <_> + + + + <_>8 9 9 6 -1. + <_>11 9 3 6 3. + 0 + 0.0569440014660358 + 0.0451840013265610 + 0.6019750237464905 + <_> + + <_> + + + + <_>4 3 16 4 -1. + <_>4 5 16 2 2. + 0 + 0.0409369990229607 + -0.1677280068397522 + 0.8981930017471314 + <_> + + <_> + + + + <_>10 2 4 10 -1. + <_>10 7 4 5 2. + 0 + -3.0839999672025442e-003 + 0.3371619880199432 + -0.2724080085754395 + <_> + + <_> + + + + <_>8 4 5 8 -1. + <_>8 8 5 4 2. + 0 + -0.0326000005006790 + -0.8544650077819824 + 0.0196649990975857 + <_> + + <_> + + + + <_>11 5 9 12 -1. + <_>11 9 9 4 3. + 0 + 0.0984809994697571 + 0.0547420009970665 + 0.6382730007171631 + <_> + + <_> + + + + <_>4 5 9 12 -1. + <_>4 9 9 4 3. + 0 + -0.0381850004196167 + 0.5227469801902771 + -0.2338480055332184 + <_> + + <_> + + + + <_>14 6 6 9 -1. + <_>14 9 6 3 3. + 0 + -0.0459170006215572 + 0.6282920241355896 + 0.0328590013086796 + <_> + + <_> + + + + <_>2 4 20 12 -1. + <_>2 8 20 4 3. + 0 + -0.1195549964904785 + -0.6157270073890686 + 0.0346800014376640 + <_> + + <_> + + + + <_>4 4 17 16 -1. + <_>4 12 17 8 2. + 0 + -0.1204439997673035 + -0.8438000082969666 + 0.1653070002794266 + <_> + + <_> + + + + <_>8 7 7 6 -1. + <_>8 10 7 3 2. + 0 + 0.0706190019845963 + -0.0632610023021698 + -1.9863929748535156 + <_> + + <_> + + + + <_>1 9 23 2 -1. + <_>1 10 23 1 2. + 0 + 8.4889996796846390e-003 + -0.1766339987516403 + 0.3801119923591614 + <_> + + <_> + + + + <_>7 0 6 9 -1. + <_>9 0 2 9 3. + 0 + 0.0227109994739294 + -0.0276059992611408 + -0.9192140102386475 + <_> + + <_> + + + + <_>13 3 4 9 -1. + <_>13 3 2 9 2. + 0 + 4.9700000090524554e-004 + -0.2429320067167282 + 0.2287890017032623 + <_> + + <_> + + + + <_>8 1 6 13 -1. + <_>10 1 2 13 3. + 0 + 0.0346519984304905 + -0.2370599955320358 + 0.5401099920272827 + <_> + + <_> + + + + <_>4 22 18 2 -1. + <_>4 23 18 1 2. + 0 + -4.4700000435113907e-003 + 0.3907899856567383 + -0.1269380003213882 + <_> + + <_> + + + + <_>3 10 9 6 -1. + <_>6 10 3 6 3. + 0 + 0.0236430000513792 + -0.2666369974613190 + 0.3231259882450104 + <_> + + <_> + + + + <_>14 0 2 24 -1. + <_>14 0 1 24 2. + 0 + 0.0128130000084639 + 0.1754080057144165 + -0.6078799962997437 + <_> + + <_> + + + + <_>8 0 2 24 -1. + <_>9 0 1 24 2. + 0 + -0.0112509997561574 + -1.0852589607238770 + -0.0280460007488728 + <_> + + <_> + + + + <_>3 2 18 10 -1. + <_>9 2 6 10 3. + 0 + -0.0415350012481213 + 0.7188739776611328 + 0.0279820002615452 + <_> + + <_> + + + + <_>4 13 15 6 -1. + <_>9 13 5 6 3. + 0 + -0.0934709981083870 + -1.1906319856643677 + -0.0448109991848469 + <_> + + <_> + + + + <_>3 21 18 3 -1. + <_>9 21 6 3 3. + 0 + -0.0272499993443489 + 0.6294249892234802 + 9.5039997249841690e-003 + <_> + + <_> + + + + <_>9 1 4 11 -1. + <_>11 1 2 11 2. + 0 + -0.0217599999159575 + 1.3233649730682373 + -0.1502700001001358 + <_> + + <_> + + + + <_>9 7 10 4 -1. + <_>9 7 5 4 2. + 0 + -9.6890004351735115e-003 + -0.3394710123538971 + 0.1708579957485199 + <_> + + <_> + + + + <_>7 0 10 18 -1. + <_>12 0 5 18 2. + 0 + 0.0693959966301918 + -0.2565779983997345 + 0.4765209853649139 + <_> + + <_> + + + + <_>12 1 6 16 -1. + <_>14 1 2 16 3. + 0 + 0.0312089994549751 + 0.1415400058031082 + -0.3494200110435486 + <_> + + <_> + + + + <_>6 1 6 16 -1. + <_>8 1 2 16 3. + 0 + -0.0497270002961159 + -1.1675560474395752 + -0.0407579988241196 + <_> + + <_> + + + + <_>18 2 6 6 -1. + <_>18 5 6 3 2. + 0 + -0.0203019995242357 + -0.3948639929294586 + 0.1581490039825440 + <_> + + <_> + + + + <_>3 5 18 2 -1. + <_>3 6 18 1 2. + 0 + -0.0153670003637671 + 0.4930000007152557 + -0.2009209990501404 + <_> + + <_> + + + + <_>18 2 6 6 -1. + <_>18 5 6 3 2. + 0 + -0.0507350005209446 + 1.8736059665679932 + 0.0867300033569336 + <_> + + <_> + + + + <_>0 2 6 6 -1. + <_>0 5 6 3 2. + 0 + -0.0207260008901358 + -0.8893839716911316 + -7.3199998587369919e-003 + <_> + + <_> + + + + <_>13 11 11 6 -1. + <_>13 13 11 2 3. + 0 + -0.0309939999133348 + -1.1664899587631226 + 0.1427460014820099 + <_> + + <_> + + + + <_>5 7 10 4 -1. + <_>10 7 5 4 2. + 0 + -4.4269999489188194e-003 + -0.6681510210037231 + 4.4120000675320625e-003 + <_> + + <_> + + + + <_>11 9 10 7 -1. + <_>11 9 5 7 2. + 0 + -0.0457439981400967 + -0.4795520007610321 + 0.1512199938297272 + <_> + + <_> + + + + <_>3 9 10 7 -1. + <_>8 9 5 7 2. + 0 + 0.0166989993304014 + 0.1204859986901283 + -0.4523589909076691 + <_> + + <_> + + + + <_>16 4 6 6 -1. + <_>16 4 3 6 2. + 0 + 3.2210000790655613e-003 + -0.0776150003075600 + 0.2784659862518311 + <_> + + <_> + + + + <_>5 6 10 8 -1. + <_>5 6 5 4 2. + <_>10 10 5 4 2. + 0 + 0.0244340002536774 + -0.1998710036277771 + 0.6725370287895203 + <_> + + <_> + + + + <_>7 21 16 3 -1. + <_>7 21 8 3 2. + 0 + -0.0796779990196228 + 0.9222239851951599 + 0.0925579965114594 + <_> + + <_> + + + + <_>1 21 16 3 -1. + <_>9 21 8 3 2. + 0 + 0.0445300005376339 + -0.2669050097465515 + 0.3332050144672394 + <_> + + <_> + + + + <_>2 5 22 14 -1. + <_>13 5 11 7 2. + <_>2 12 11 7 2. + 0 + -0.1252830028533936 + -0.5425310134887695 + 0.1397629976272583 + <_> + + <_> + + + + <_>3 10 8 10 -1. + <_>3 10 4 5 2. + <_>7 15 4 5 2. + 0 + 0.0179719999432564 + 0.0182199999690056 + -0.6804850101470947 + <_> + + <_> + + + + <_>17 0 6 12 -1. + <_>20 0 3 6 2. + <_>17 6 3 6 2. + 0 + 0.0191840007901192 + -0.0125839998945594 + 0.5412669777870178 + <_> + + <_> + + + + <_>5 2 6 18 -1. + <_>7 2 2 18 3. + 0 + 0.0400240011513233 + -0.1763879954814911 + 0.7881039977073669 + <_> + + <_> + + + + <_>13 0 6 9 -1. + <_>15 0 2 9 3. + 0 + 0.0135589996352792 + 0.2073760032653809 + -0.4774430096149445 + <_> + + <_> + + + + <_>0 12 7 9 -1. + <_>0 15 7 3 3. + 0 + 0.0162209998816252 + 0.0230769999325275 + -0.6118209958076477 + <_> + + <_> + + + + <_>15 13 8 10 -1. + <_>19 13 4 5 2. + <_>15 18 4 5 2. + 0 + 0.0112290000542998 + -0.0177280008792877 + 0.4176419973373413 + <_> + + <_> + + + + <_>1 0 6 12 -1. + <_>1 0 3 6 2. + <_>4 6 3 6 2. + 0 + 0.0391930006444454 + -0.1894849985837936 + 0.7401930093765259 + <_> + + <_> + + + + <_>12 1 3 12 -1. + <_>12 7 3 6 2. + 0 + -9.5539996400475502e-003 + 0.4094710052013397 + -0.1350889950990677 + <_> + + <_> + + + + <_>1 13 8 10 -1. + <_>1 13 4 5 2. + <_>5 18 4 5 2. + 0 + 0.0278789997100830 + -0.2035070061683655 + 0.6162539720535278 + <_> + + <_> + + + + <_>3 21 19 2 -1. + <_>3 22 19 1 2. + 0 + -0.0236009992659092 + -1.6967060565948486 + 0.1463319957256317 + <_> + + <_> + + + + <_>6 3 4 13 -1. + <_>8 3 2 13 2. + 0 + 0.0269300006330013 + -0.0304019991308451 + -1.0909470319747925 + <_> + + <_> + + + + <_>5 10 18 3 -1. + <_>5 11 18 1 3. + 0 + 2.8999999631196260e-004 + -0.2007600069046021 + 0.2231409996747971 + <_> + + <_> + + + + <_>9 3 5 12 -1. + <_>9 7 5 4 3. + 0 + -0.0411249995231628 + -0.4524219930171967 + 0.0573920011520386 + <_> + + <_> + + + + <_>11 2 4 15 -1. + <_>11 7 4 5 3. + 0 + 6.6789998672902584e-003 + 0.2382490038871765 + -0.2126210033893585 + <_> + + <_> + + + + <_>4 1 16 4 -1. + <_>4 3 16 2 2. + 0 + 0.0478649996221066 + -0.1819480061531067 + 0.6191840171813965 + <_> + + <_> + + + + <_>6 0 18 3 -1. + <_>6 1 18 1 3. + 0 + -3.1679999083280563e-003 + -0.2739320099353790 + 0.2501730024814606 + <_> + + <_> + + + + <_>5 1 10 8 -1. + <_>5 1 5 4 2. + <_>10 5 5 4 2. + 0 + -8.6230002343654633e-003 + -0.4628030061721802 + 0.0423979982733727 + <_> + + <_> + + + + <_>11 18 12 6 -1. + <_>17 18 6 3 2. + <_>11 21 6 3 2. + 0 + -7.4350000359117985e-003 + 0.4179680049419403 + -1.7079999670386314e-003 + <_> + + <_> + + + + <_>5 15 12 3 -1. + <_>11 15 6 3 2. + 0 + -1.8769999733194709e-003 + 0.1460230052471161 + -0.3372110128402710 + <_> + + <_> + + + + <_>1 10 22 4 -1. + <_>1 10 11 4 2. + 0 + -0.0862260013818741 + 0.7514340281486511 + 0.0107119996100664 + <_> + + <_> + + + + <_>7 9 9 6 -1. + <_>10 9 3 6 3. + 0 + 0.0468339994549751 + -0.1911959946155548 + 0.4841490089893341 + <_> + + <_> + + + + <_>6 11 12 5 -1. + <_>10 11 4 5 3. + 0 + -9.2000002041459084e-005 + 0.3522039949893951 + -0.1733330041170120 + <_> + + <_> + + + + <_>6 7 10 7 -1. + <_>11 7 5 7 2. + 0 + -0.0163439996540546 + -0.6439769864082336 + 9.0680001303553581e-003 + <_> + + <_> + + + + <_>11 2 8 10 -1. + <_>11 2 4 10 2. + 0 + 0.0457039996981621 + 0.0182160008698702 + 0.3197079896926880 + <_> + + <_> + + + + <_>5 2 8 10 -1. + <_>9 2 4 10 2. + 0 + -0.0273829996585846 + 1.0564049482345581 + -0.1727640032768250 + <_> + + <_> + + + + <_>6 4 18 6 -1. + <_>15 4 9 3 2. + <_>6 7 9 3 2. + 0 + -0.0276020001620054 + 0.2971549928188324 + -9.4600003212690353e-003 + <_> + + <_> + + + + <_>0 5 10 9 -1. + <_>0 8 10 3 3. + 0 + 7.6939999125897884e-003 + -0.2166029959917069 + 0.4738520085811615 + <_> + + <_> + + + + <_>2 7 21 6 -1. + <_>2 9 21 2 3. + 0 + -7.0500001311302185e-004 + 0.2404879927635193 + -0.2677600085735321 + <_> + + <_> + + + + <_>0 4 22 16 -1. + <_>0 4 11 8 2. + <_>11 12 11 8 2. + 0 + 0.1105419993400574 + -0.0335390008985996 + -1.0233880281448364 + <_> + + <_> + + + + <_>9 0 6 22 -1. + <_>9 11 6 11 2. + 0 + 0.0687659978866577 + -4.3239998631179333e-003 + 0.5715339779853821 + <_> + + <_> + + + + <_>9 1 3 12 -1. + <_>9 7 3 6 2. + 0 + 1.7999999690800905e-003 + 0.0775749981403351 + -0.4209269881248474 + <_> + + <_> + + + + <_>12 0 12 18 -1. + <_>18 0 6 9 2. + <_>12 9 6 9 2. + 0 + 0.1923200041055679 + 0.0820219963788986 + 2.8810169696807861 + <_> + + <_> + + + + <_>0 0 12 18 -1. + <_>0 0 6 9 2. + <_>6 9 6 9 2. + 0 + 0.1574209928512573 + -0.1370819956064224 + 2.0890059471130371 + <_> + + <_> + + + + <_>1 1 22 4 -1. + <_>12 1 11 2 2. + <_>1 3 11 2 2. + 0 + -0.0493870005011559 + -1.8610910177230835 + 0.1433209925889969 + <_> + + <_> + + + + <_>3 0 18 4 -1. + <_>3 2 18 2 2. + 0 + 0.0519290007650852 + -0.1873700022697449 + 0.5423160195350647 + <_> + + <_> + + + + <_>2 5 22 6 -1. + <_>2 7 22 2 3. + 0 + 0.0499650016427040 + 0.1417530030012131 + -1.5625779628753662 + <_> + + <_> + + + + <_>5 0 6 9 -1. + <_>5 3 6 3 3. + 0 + -0.0426330007612705 + 1.6059479713439941 + -0.1471289992332459 + <_> + + <_> + + + + <_>10 14 6 9 -1. + <_>12 14 2 9 3. + 0 + -0.0375539995729923 + -0.8097490072250366 + 0.1325699985027313 + <_> + + <_> + + + + <_>8 14 6 9 -1. + <_>10 14 2 9 3. + 0 + -0.0371749997138977 + -1.3945020437240601 + -0.0570550002157688 + <_> + + <_> + + + + <_>5 18 18 3 -1. + <_>5 19 18 1 3. + 0 + 0.0139459995552897 + 0.0334270000457764 + 0.5747479796409607 + <_> + + <_> + + + + <_>6 0 6 13 -1. + <_>9 0 3 13 2. + 0 + -4.4800000614486635e-004 + -0.5532749891281128 + 0.0219529997557402 + <_> + + <_> + + + + <_>7 4 12 4 -1. + <_>7 4 6 4 2. + 0 + 0.0319930016994476 + 0.0203409995883703 + 0.3745920062065125 + <_> + + <_> + + + + <_>5 2 12 6 -1. + <_>9 2 4 6 3. + 0 + -4.2799999937415123e-003 + 0.4442870020866394 + -0.2299969941377640 + <_> + + <_> + + + + <_>4 1 18 3 -1. + <_>4 2 18 1 3. + 0 + 9.8550003021955490e-003 + 0.1831579953432083 + -0.4096499979496002 + <_> + + <_> + + + + <_>0 8 6 12 -1. + <_>0 12 6 4 3. + 0 + 0.0933569967746735 + -0.0636610016226768 + -1.6929290294647217 + <_> + + <_> + + + + <_>9 15 6 9 -1. + <_>11 15 2 9 3. + 0 + 0.0172099992632866 + 0.2015389949083328 + -0.4606109857559204 + <_> + + <_> + + + + <_>9 10 6 13 -1. + <_>11 10 2 13 3. + 0 + 8.4319999441504478e-003 + -0.3200399875640869 + 0.1531219929456711 + <_> + + <_> + + + + <_>6 17 18 2 -1. + <_>6 18 18 1 2. + 0 + -0.0140549996867776 + 0.8688240051269531 + 0.0325750000774860 + <_> + + <_> + + + + <_>9 4 6 9 -1. + <_>11 4 2 9 3. + 0 + -7.7180000953376293e-003 + 0.6368669867515564 + -0.1842550039291382 + <_> + + <_> + + + + <_>10 0 6 9 -1. + <_>12 0 2 9 3. + 0 + 0.0280050002038479 + 0.1735749989748001 + -0.4788359999656677 + <_> + + <_> + + + + <_>5 6 10 8 -1. + <_>5 6 5 4 2. + <_>10 10 5 4 2. + 0 + -0.0188849996775389 + 0.2410160005092621 + -0.2654759883880615 + <_> + + <_> + + + + <_>14 9 5 8 -1. + <_>14 13 5 4 2. + 0 + -0.0185850001871586 + 0.5423250198364258 + 0.0536330007016659 + <_> + + <_> + + + + <_>5 9 5 8 -1. + <_>5 13 5 4 2. + 0 + -0.0364370010793209 + 2.3908898830413818 + -0.1363469958305359 + <_> + + <_> + + + + <_>14 11 9 6 -1. + <_>14 13 9 2 3. + 0 + 0.0324550010263920 + 0.1591069996356964 + -0.6758149862289429 + <_> + + <_> + + + + <_>0 2 23 15 -1. + <_>0 7 23 5 3. + 0 + 0.0597819983959198 + -2.3479999508708715e-003 + -0.7305369973182678 + <_> + + <_> + + + + <_>16 0 8 12 -1. + <_>16 6 8 6 2. + 0 + 9.8209995776414871e-003 + -0.1144409999251366 + 0.3057030141353607 + <_> + + <_> + + + + <_>4 15 6 9 -1. + <_>4 18 6 3 3. + 0 + -0.0351639986038208 + -1.0511469841003418 + -0.0331030003726482 + <_> + + <_> + + + + <_>8 18 9 4 -1. + <_>8 20 9 2 2. + 0 + 2.7429999317973852e-003 + -0.2013539969921112 + 0.3275409936904907 + <_> + + <_> + + + + <_>0 17 18 3 -1. + <_>0 18 18 1 3. + 0 + 8.1059997901320457e-003 + -0.2138350009918213 + 0.4336209893226624 + <_> + + <_> + + + + <_>13 11 11 6 -1. + <_>13 13 11 2 3. + 0 + 0.0889429971575737 + 0.1094089969992638 + -4.7609338760375977 + <_> + + <_> + + + + <_>0 11 11 6 -1. + <_>0 13 11 2 3. + 0 + -0.0300549995154142 + -1.7169300317764282 + -0.0609190016984940 + <_> + + <_> + + + + <_>0 9 24 6 -1. + <_>12 9 12 3 2. + <_>0 12 12 3 2. + 0 + -0.0217349994927645 + 0.6477890014648438 + -0.0328309983015060 + <_> + + <_> + + + + <_>6 16 8 8 -1. + <_>6 20 8 4 2. + 0 + 0.0376489982008934 + -0.0100600002333522 + -0.7656909823417664 + <_> + + <_> + + + + <_>10 16 14 6 -1. + <_>10 18 14 2 3. + 0 + 2.7189999818801880e-003 + 0.1988890022039414 + -0.0824790000915527 + <_> + + <_> + + + + <_>1 1 21 3 -1. + <_>1 2 21 1 3. + 0 + -0.0105480002239347 + -0.8661360144615173 + -0.0259860008955002 + <_> + + <_> + + + + <_>0 2 24 3 -1. + <_>0 2 12 3 2. + 0 + 0.1296630054712296 + 0.1391199976205826 + -2.2271950244903564 + <_> + + <_> + + + + <_>2 15 8 5 -1. + <_>6 15 4 5 2. + 0 + -0.0176769997924566 + 0.3396770060062408 + -0.2398959994316101 + <_> + + <_> + + + + <_>2 11 21 3 -1. + <_>9 11 7 3 3. + 0 + -0.0770519971847534 + -2.5017969608306885 + 0.1284199953079224 + <_> + + <_> + + + + <_>1 18 12 6 -1. + <_>1 18 6 3 2. + <_>7 21 6 3 2. + 0 + -0.0192300006747246 + 0.5064120292663574 + -0.1975159943103790 + <_> + + <_> + + + + <_>10 14 4 10 -1. + <_>10 19 4 5 2. + 0 + -0.0512229986488819 + -2.9333369731903076 + 0.1385850012302399 + <_> + + <_> + + + + <_>7 7 4 10 -1. + <_>7 12 4 5 2. + 0 + 2.0830000285059214e-003 + -0.6004359722137451 + 0.0297180004417896 + <_> + + <_> + + + + <_>9 8 6 12 -1. + <_>9 12 6 4 3. + 0 + 0.0254180002957582 + 0.3391579985618591 + -0.1439200043678284 + <_> + + <_> + + + + <_>7 1 9 6 -1. + <_>10 1 3 6 3. + 0 + -0.0239059999585152 + -1.1082680225372314 + -0.0473770014941692 + <_> + + <_> + + + + <_>3 14 19 2 -1. + <_>3 15 19 1 2. + 0 + -6.3740001060068607e-003 + 0.4453369975090027 + -0.0670529976487160 + <_> + + <_> + + + + <_>7 7 10 10 -1. + <_>7 7 5 5 2. + <_>12 12 5 5 2. + 0 + -0.0376989990472794 + -1.0406579971313477 + -0.0417900010943413 + <_> + + <_> + + + + <_>3 12 18 12 -1. + <_>3 12 9 12 2. + 0 + 0.2165510058403015 + 0.0338630005717278 + 0.8201730251312256 + <_> + + <_> + + + + <_>8 0 6 12 -1. + <_>10 0 2 12 3. + 0 + -0.0134009998291731 + 0.5290349721908569 + -0.1913300007581711 + -3.2396929264068604 + 17 + -1 + <_> + + + <_> + + <_> + + + + <_>3 0 17 9 -1. + <_>3 3 17 3 3. + 0 + 0.0712689980864525 + -0.5363119840621948 + 0.6071529984474182 + <_> + + <_> + + + + <_>6 0 12 11 -1. + <_>10 0 4 11 3. + 0 + 0.0561110004782677 + -0.5014160275459290 + 0.4397610127925873 + <_> + + <_> + + + + <_>1 0 6 13 -1. + <_>4 0 3 13 2. + 0 + 0.0404639989137650 + -0.3292219936847687 + 0.5483469963073731 + <_> + + <_> + + + + <_>5 8 16 6 -1. + <_>5 11 16 3 2. + 0 + 0.0631550028920174 + -0.3170169889926910 + 0.4615299999713898 + <_> + + <_> + + + + <_>8 8 5 12 -1. + <_>8 14 5 6 2. + 0 + 0.0103209996595979 + 0.1069499999284744 + -0.9824389815330505 + <_> + + <_> + + + + <_>3 21 18 3 -1. + <_>9 21 6 3 3. + 0 + 0.0626069977879524 + -0.1432970017194748 + 0.7109500169754028 + <_> + + <_> + + + + <_>0 0 6 6 -1. + <_>3 0 3 6 2. + 0 + -0.0394160002470016 + 0.9438019990921021 + -0.2157209962606430 + <_> + + <_> + + + + <_>2 0 20 3 -1. + <_>2 1 20 1 3. + 0 + -5.3960001096129417e-003 + -0.5461199879646301 + 0.2530379891395569 + <_> + + <_> + + + + <_>4 6 15 10 -1. + <_>9 6 5 10 3. + 0 + 0.1077319979667664 + 0.0124960001558065 + -1.0809199810028076 + <_> + + <_> + + + + <_>9 6 6 9 -1. + <_>11 6 2 9 3. + 0 + 0.0169820003211498 + -0.3153640031814575 + 0.5123999714851379 + <_> + + <_> + + + + <_>9 0 6 9 -1. + <_>11 0 2 9 3. + 0 + 0.0312169995158911 + -4.5199999585747719e-003 + -1.2443480491638184 + <_> + + <_> + + + + <_>14 0 6 9 -1. + <_>16 0 2 9 3. + 0 + -0.0231069996953011 + -0.7649289965629578 + 0.2064059972763062 + <_> + + <_> + + + + <_>7 16 9 6 -1. + <_>7 18 9 2 3. + 0 + -0.0112039996311069 + 0.2409269958734512 + -0.3514209985733032 + <_> + + <_> + + + + <_>14 0 6 9 -1. + <_>16 0 2 9 3. + 0 + -4.7479998320341110e-003 + -0.0970079973340034 + 0.2063809931278229 + <_> + + <_> + + + + <_>4 0 6 9 -1. + <_>6 0 2 9 3. + 0 + -0.0173589996993542 + -0.7902029752731323 + 0.0218529999256134 + <_> + + <_> + + + + <_>17 1 6 16 -1. + <_>19 1 2 16 3. + 0 + 0.0188519991934299 + -0.1039460003376007 + 0.5484420061111450 + <_> + + <_> + + + + <_>1 1 6 16 -1. + <_>3 1 2 16 3. + 0 + 7.2249998338520527e-003 + -0.4040940105915070 + 0.2676379978656769 + <_> + + <_> + + + + <_>14 13 6 9 -1. + <_>14 16 6 3 3. + 0 + 0.0189159996807575 + 0.2050800025463104 + -1.0206340551376343 + <_> + + <_> + + + + <_>0 0 6 9 -1. + <_>0 3 6 3 3. + 0 + 0.0311569999903440 + 1.2400000123307109e-003 + -0.8729349970817566 + <_> + + <_> + + + + <_>9 5 6 6 -1. + <_>9 5 3 6 2. + 0 + 0.0209519993513823 + -5.5559999309480190e-003 + 0.8035619854927063 + <_> + + <_> + + + + <_>3 10 9 6 -1. + <_>6 10 3 6 3. + 0 + 0.0112910000607371 + -0.3647840023040772 + 0.2276789993047714 + <_> + + <_> + + + + <_>14 7 3 16 -1. + <_>14 15 3 8 2. + 0 + -0.0570110008120537 + -1.4295619726181030 + 0.1432200074195862 + <_> + + <_> + + + + <_>4 10 14 12 -1. + <_>4 10 7 6 2. + <_>11 16 7 6 2. + 0 + 0.0721940025687218 + -0.0418500006198883 + -1.9111829996109009 + <_> + + <_> + + + + <_>7 6 12 6 -1. + <_>7 8 12 2 3. + 0 + -0.0198740009218454 + 0.2642549872398377 + -0.3261770009994507 + <_> + + <_> + + + + <_>7 2 4 20 -1. + <_>9 2 2 20 2. + 0 + -0.0166929997503757 + -0.8390780091285706 + 4.0799999260343611e-004 + <_> + + <_> + + + + <_>14 13 6 9 -1. + <_>14 16 6 3 3. + 0 + -0.0398349985480309 + -0.4885849952697754 + 0.1643610000610352 + <_> + + <_> + + + + <_>10 6 4 9 -1. + <_>12 6 2 9 2. + 0 + 0.0270099993795156 + -0.1886249929666519 + 0.8341940045356751 + <_> + + <_> + + + + <_>14 13 6 9 -1. + <_>14 16 6 3 3. + 0 + -3.9420002140104771e-003 + 0.2323150038719177 + -0.0723600015044212 + <_> + + <_> + + + + <_>5 20 14 4 -1. + <_>5 22 14 2 2. + 0 + 0.0228330008685589 + -0.0358840003609657 + -1.1549400091171265 + <_> + + <_> + + + + <_>4 4 16 12 -1. + <_>4 10 16 6 2. + 0 + -0.0688880011439323 + -1.7837309837341309 + 0.1515900045633316 + <_> + + <_> + + + + <_>9 6 6 9 -1. + <_>11 6 2 9 3. + 0 + 0.0430970005691051 + -0.2160809934139252 + 0.5062410235404968 + <_> + + <_> + + + + <_>3 0 21 4 -1. + <_>3 2 21 2 2. + 0 + 8.6239995434880257e-003 + -0.1779559999704361 + 0.2895790040493012 + <_> + + <_> + + + + <_>4 13 6 9 -1. + <_>4 16 6 3 3. + 0 + 0.0145610002800822 + -0.0114080002531409 + -0.8940200209617615 + <_> + + <_> + + + + <_>16 16 5 8 -1. + <_>16 20 5 4 2. + 0 + -0.0115010002627969 + 0.3017199933528900 + -0.0436590015888214 + <_> + + <_> + + + + <_>4 0 16 16 -1. + <_>4 0 8 8 2. + <_>12 8 8 8 2. + 0 + -0.1097149997949600 + -0.9514709711074829 + -0.0199730005115271 + <_> + + <_> + + + + <_>6 6 14 6 -1. + <_>13 6 7 3 2. + <_>6 9 7 3 2. + 0 + 0.0452280007302761 + 0.0331109985709190 + 0.9661980271339417 + <_> + + <_> + + + + <_>10 5 4 15 -1. + <_>10 10 4 5 3. + 0 + -0.0270479992032051 + 0.9796360135078430 + -0.1726190000772476 + <_> + + <_> + + + + <_>9 15 12 8 -1. + <_>15 15 6 4 2. + <_>9 19 6 4 2. + 0 + 0.0180309992283583 + -0.0208010002970696 + 0.2738589942455292 + <_> + + <_> + + + + <_>6 7 12 4 -1. + <_>12 7 6 4 2. + 0 + 0.0505249984562397 + -0.0568029992282391 + -1.7775089740753174 + <_> + + <_> + + + + <_>5 6 14 6 -1. + <_>12 6 7 3 2. + <_>5 9 7 3 2. + 0 + -0.0299239996820688 + 0.6532920002937317 + -0.0235370006412268 + <_> + + <_> + + + + <_>3 6 18 10 -1. + <_>3 6 9 5 2. + <_>12 11 9 5 2. + 0 + 0.0380580015480518 + 0.0263170003890991 + -0.7066569924354553 + <_> + + <_> + + + + <_>6 0 18 21 -1. + <_>12 0 6 21 3. + 0 + 0.1856389939785004 + -5.6039998307824135e-003 + 0.3287369906902313 + <_> + + <_> + + + + <_>0 0 24 21 -1. + <_>8 0 8 21 3. + 0 + -4.0670000016689301e-003 + 0.3420479893684387 + -0.3017159998416901 + <_> + + <_> + + + + <_>6 18 18 3 -1. + <_>6 19 18 1 3. + 0 + 0.0101089999079704 + -7.3600001633167267e-003 + 0.5798159837722778 + <_> + + <_> + + + + <_>0 15 9 6 -1. + <_>0 17 9 2 3. + 0 + -0.0115670002996922 + -0.5272219777107239 + 0.0464479997754097 + <_> + + <_> + + + + <_>4 3 19 2 -1. + <_>4 4 19 1 2. + 0 + -6.5649999305605888e-003 + -0.5852910280227661 + 0.1910189986228943 + <_> + + <_> + + + + <_>0 3 24 2 -1. + <_>0 4 24 1 2. + 0 + 0.0105820000171661 + 0.0210730005055666 + -0.6889259815216065 + <_> + + <_> + + + + <_>15 14 9 4 -1. + <_>15 16 9 2 2. + 0 + -0.0203040000051260 + -0.3640069961547852 + 0.1533879935741425 + <_> + + <_> + + + + <_>0 14 9 4 -1. + <_>0 16 9 2 2. + 0 + 2.3529999889433384e-003 + 0.0361640006303787 + -0.5982509851455689 + <_> + + <_> + + + + <_>6 15 18 2 -1. + <_>6 16 18 1 2. + 0 + -1.4690000098198652e-003 + -0.1470769941806793 + 0.3750799894332886 + <_> + + <_> + + + + <_>3 17 18 3 -1. + <_>3 18 18 1 3. + 0 + 8.6449999362230301e-003 + -0.2170850038528442 + 0.5193679928779602 + <_> + + <_> + + + + <_>12 0 3 23 -1. + <_>13 0 1 23 3. + 0 + -0.0243260003626347 + -1.0846769809722900 + 0.1408479958772659 + <_> + + <_> + + + + <_>6 0 8 6 -1. + <_>6 3 8 3 2. + 0 + 0.0744189992547035 + -0.1551380008459091 + 1.1822769641876221 + <_> + + <_> + + + + <_>6 16 18 3 -1. + <_>6 17 18 1 3. + 0 + 0.0170779991894960 + 0.0442310012876987 + 0.9156110286712647 + <_> + + <_> + + + + <_>9 0 3 23 -1. + <_>10 0 1 23 3. + 0 + -0.0245779994875193 + -1.5504100322723389 + -0.0547459982335567 + <_> + + <_> + + + + <_>10 7 4 10 -1. + <_>10 12 4 5 2. + 0 + 0.0302050001919270 + 0.1666280031204224 + -1.0001239776611328 + <_> + + <_> + + + + <_>7 8 10 12 -1. + <_>7 12 10 4 3. + 0 + 0.0121360002085567 + -0.7707909941673279 + -4.8639997839927673e-003 + <_> + + <_> + + + + <_>14 9 6 14 -1. + <_>17 9 3 7 2. + <_>14 16 3 7 2. + 0 + 0.0867170020937920 + 0.1106169968843460 + -1.6857999563217163 + <_> + + <_> + + + + <_>2 0 10 9 -1. + <_>2 3 10 3 3. + 0 + -0.0423090010881424 + 1.1075930595397949 + -0.1543859988451004 + <_> + + <_> + + + + <_>11 1 5 12 -1. + <_>11 7 5 6 2. + 0 + -2.6420000940561295e-003 + 0.2745189964771271 + -0.1845619976520538 + <_> + + <_> + + + + <_>1 4 12 10 -1. + <_>1 4 6 5 2. + <_>7 9 6 5 2. + 0 + -0.0566620007157326 + -0.8062559962272644 + -0.0169280003756285 + <_> + + <_> + + + + <_>15 1 9 4 -1. + <_>15 3 9 2 2. + 0 + 0.0234750006347895 + 0.1418769955635071 + -0.2550089955329895 + <_> + + <_> + + + + <_>1 2 8 10 -1. + <_>1 2 4 5 2. + <_>5 7 4 5 2. + 0 + -0.0208030007779598 + 0.1982630044221878 + -0.3117119967937470 + <_> + + <_> + + + + <_>10 1 5 12 -1. + <_>10 5 5 4 3. + 0 + 7.2599998675286770e-003 + -0.0505909994244576 + 0.4192380011081696 + <_> + + <_> + + + + <_>4 0 14 24 -1. + <_>11 0 7 24 2. + 0 + 0.3416000008583069 + -0.1667490005493164 + 0.9274860024452210 + <_> + + <_> + + + + <_>7 17 10 4 -1. + <_>7 19 10 2 2. + 0 + 6.2029999680817127e-003 + -0.1262589991092682 + 0.4044530093669891 + <_> + + <_> + + + + <_>10 14 4 10 -1. + <_>10 19 4 5 2. + 0 + 0.0326920002698898 + -0.0326349996030331 + -0.9893980026245117 + <_> + + <_> + + + + <_>13 15 6 9 -1. + <_>15 15 2 9 3. + 0 + 2.1100000594742596e-004 + -0.0645340010523796 + 0.2547369897365570 + <_> + + <_> + + + + <_>3 21 18 3 -1. + <_>3 22 18 1 3. + 0 + 7.2100001852959394e-004 + -0.3661859929561615 + 0.1197310015559197 + <_> + + <_> + + + + <_>13 15 6 9 -1. + <_>15 15 2 9 3. + 0 + 0.0544909983873367 + 0.1207349970936775 + -1.0291390419006348 + <_> + + <_> + + + + <_>5 15 6 9 -1. + <_>7 15 2 9 3. + 0 + -0.0101410001516342 + -0.5217720270156860 + 0.0337349995970726 + <_> + + <_> + + + + <_>10 6 4 18 -1. + <_>12 6 2 9 2. + <_>10 15 2 9 2. + 0 + -0.0188159998506308 + 0.6518179774284363 + 1.3399999588727951e-003 + <_> + + <_> + + + + <_>7 3 6 11 -1. + <_>9 3 2 11 3. + 0 + -5.3480002097785473e-003 + 0.1737069934606552 + -0.3413200080394745 + <_> + + <_> + + + + <_>15 1 9 4 -1. + <_>15 3 9 2 2. + 0 + -0.0108470004051924 + -0.1969989985227585 + 0.1504549980163574 + <_> + + <_> + + + + <_>5 4 14 8 -1. + <_>5 8 14 4 2. + 0 + -0.0499260015785694 + -0.5088850259780884 + 0.0307620000094175 + <_> + + <_> + + + + <_>8 1 15 9 -1. + <_>8 4 15 3 3. + 0 + 0.0121600003913045 + -0.0692519992589951 + 0.1874549984931946 + <_> + + <_> + + + + <_>7 2 8 10 -1. + <_>7 2 4 5 2. + <_>11 7 4 5 2. + 0 + -2.2189998999238014e-003 + -0.4084909856319428 + 0.0799549967050552 + <_> + + <_> + + + + <_>12 2 6 12 -1. + <_>12 2 3 12 2. + 0 + 3.1580000650137663e-003 + -0.2112459987401962 + 0.2236640006303787 + <_> + + <_> + + + + <_>6 2 6 12 -1. + <_>9 2 3 12 2. + 0 + 4.1439998894929886e-003 + -0.4990029931068420 + 0.0629170015454292 + <_> + + <_> + + + + <_>7 7 12 4 -1. + <_>7 7 6 4 2. + 0 + -7.3730000294744968e-003 + -0.2055329978466034 + 0.2209669947624207 + <_> + + <_> + + + + <_>6 3 12 10 -1. + <_>10 3 4 10 3. + 0 + 0.0518120005726814 + 0.1809680014848709 + -0.4349580109119415 + <_> + + <_> + + + + <_>5 6 16 6 -1. + <_>13 6 8 3 2. + <_>5 9 8 3 2. + 0 + 0.0183400008827448 + 0.0152000002563000 + 0.3799169957637787 + <_> + + <_> + + + + <_>3 1 18 9 -1. + <_>9 1 6 9 3. + 0 + 0.1749079972505570 + -0.2092079967260361 + 0.4001300036907196 + <_> + + <_> + + + + <_>3 8 18 5 -1. + <_>9 8 6 5 3. + 0 + 0.0539939999580383 + 0.2475160062313080 + -0.2671290040016174 + <_> + + <_> + + + + <_>0 0 24 22 -1. + <_>0 0 12 11 2. + <_>12 11 12 11 2. + 0 + -0.3203319907188416 + -1.9094380140304565 + -0.0669609978795052 + <_> + + <_> + + + + <_>14 16 9 6 -1. + <_>14 18 9 2 3. + 0 + -0.0270600002259016 + -0.7137129902839661 + 0.1590459942817688 + <_> + + <_> + + + + <_>0 16 24 8 -1. + <_>0 20 24 4 2. + 0 + 0.0774639993906021 + -0.1697019934654236 + 0.7755299806594849 + <_> + + <_> + + + + <_>1 19 22 4 -1. + <_>12 19 11 2 2. + <_>1 21 11 2 2. + 0 + 0.0237719994038343 + 0.1902189999818802 + -0.6016209721565247 + <_> + + <_> + + + + <_>1 16 9 6 -1. + <_>1 18 9 2 3. + 0 + 0.0115010002627969 + 7.7039999887347221e-003 + -0.6173030138015747 + <_> + + <_> + + + + <_>7 8 10 4 -1. + <_>7 8 5 4 2. + 0 + 0.0326160006225109 + 0.1715919971466065 + -0.7097820043563843 + <_> + + <_> + + + + <_>9 15 6 9 -1. + <_>11 15 2 9 3. + 0 + -0.0443830005824566 + -2.2606229782104492 + -0.0732769966125488 + <_> + + <_> + + + + <_>10 18 12 6 -1. + <_>16 18 6 3 2. + <_>10 21 6 3 2. + 0 + -0.0584760010242462 + 2.4087750911712646 + 0.0830919966101646 + <_> + + <_> + + + + <_>2 18 12 6 -1. + <_>2 18 6 3 2. + <_>8 21 6 3 2. + 0 + 0.0193039998412132 + -0.2708230018615723 + 0.2736999988555908 + <_> + + <_> + + + + <_>8 3 16 9 -1. + <_>8 6 16 3 3. + 0 + -0.0447059981524944 + 0.3135559856891632 + -0.0624920018017292 + <_> + + <_> + + + + <_>0 5 10 6 -1. + <_>0 7 10 2 3. + 0 + -0.0603349991142750 + -1.4515119791030884 + -0.0587610006332397 + <_> + + <_> + + + + <_>5 5 18 3 -1. + <_>5 6 18 1 3. + 0 + 0.0116670001298189 + -0.0180849991738796 + 0.5047969818115234 + <_> + + <_> + + + + <_>2 6 9 6 -1. + <_>2 9 9 3 2. + 0 + 0.0280099995434284 + -0.2330289930105209 + 0.3070870041847229 + <_> + + <_> + + + + <_>14 2 10 9 -1. + <_>14 5 10 3 3. + 0 + 0.0653970018029213 + 0.1413590013980866 + -0.5001090168952942 + <_> + + <_> + + + + <_>3 6 18 3 -1. + <_>3 7 18 1 3. + 0 + 9.6239997074007988e-003 + -0.2205460071563721 + 0.3919120132923126 + <_> + + <_> + + + + <_>9 2 15 6 -1. + <_>9 4 15 2 3. + 0 + 2.5510000996291637e-003 + -0.1138150021433830 + 0.2003230005502701 + <_> + + <_> + + + + <_>4 8 15 6 -1. + <_>4 10 15 2 3. + 0 + 0.0318470001220703 + 0.0254769995808601 + -0.5332639813423157 + <_> + + <_> + + + + <_>0 5 24 4 -1. + <_>12 5 12 2 2. + <_>0 7 12 2 2. + 0 + 0.0330550000071526 + 0.1780769973993301 + -0.6279389858245850 + <_> + + <_> + + + + <_>7 8 6 12 -1. + <_>9 8 2 12 3. + 0 + 0.0476009994745255 + -0.1474789977073669 + 1.4204180240631104 + <_> + + <_> + + + + <_>11 0 6 9 -1. + <_>13 0 2 9 3. + 0 + -0.0195719990879297 + -0.5269349813461304 + 0.1583860069513321 + <_> + + <_> + + + + <_>0 12 6 12 -1. + <_>0 12 3 6 2. + <_>3 18 3 6 2. + 0 + -0.0547300018370152 + 0.8823159933090210 + -0.1662780046463013 + <_> + + <_> + + + + <_>14 12 10 6 -1. + <_>14 14 10 2 3. + 0 + -0.0226860009133816 + -0.4838689863681793 + 0.1500010043382645 + <_> + + <_> + + + + <_>2 7 18 9 -1. + <_>2 10 18 3 3. + 0 + 0.1071320027112961 + -0.2133619934320450 + 0.4233390092849731 + <_> + + <_> + + + + <_>11 14 10 9 -1. + <_>11 17 10 3 3. + 0 + -0.0363800004124641 + -0.0741980001330376 + 0.1458940058946610 + <_> + + <_> + + + + <_>7 6 10 8 -1. + <_>7 6 5 4 2. + <_>12 10 5 4 2. + 0 + 0.0139359999448061 + -0.2491160035133362 + 0.2677119970321655 + <_> + + <_> + + + + <_>6 6 14 6 -1. + <_>13 6 7 3 2. + <_>6 9 7 3 2. + 0 + 0.0209919996559620 + 8.7959999218583107e-003 + 0.4306499958038330 + <_> + + <_> + + + + <_>4 13 9 7 -1. + <_>7 13 3 7 3. + 0 + 0.0491189993917942 + -0.1759199947118759 + 0.6928290128707886 + <_> + + <_> + + + + <_>14 10 6 12 -1. + <_>17 10 3 6 2. + <_>14 16 3 6 2. + 0 + 0.0363159999251366 + 0.1314529925584793 + -0.3359729945659638 + <_> + + <_> + + + + <_>4 10 6 12 -1. + <_>4 10 3 6 2. + <_>7 16 3 6 2. + 0 + 0.0412280000746250 + -0.0456920005381107 + -1.3515930175781250 + <_> + + <_> + + + + <_>13 9 8 6 -1. + <_>13 9 4 6 2. + 0 + 0.0156720001250505 + 0.1754409968852997 + -0.0605500005185604 + <_> + + <_> + + + + <_>8 3 4 14 -1. + <_>10 3 2 14 2. + 0 + -0.0162860006093979 + -1.1308189630508423 + -0.0395330004394054 + <_> + + <_> + + + + <_>17 0 3 18 -1. + <_>18 0 1 18 3. + 0 + -3.0229999683797359e-003 + -0.2245430052280426 + 0.2362809926271439 + <_> + + <_> + + + + <_>4 12 16 12 -1. + <_>12 12 8 12 2. + 0 + -0.1378629952669144 + 0.4537689983844757 + -0.2109870016574860 + <_> + + <_> + + + + <_>15 0 6 14 -1. + <_>17 0 2 14 3. + 0 + -9.6760001033544540e-003 + -0.1510509997606278 + 0.2078170031309128 + <_> + + <_> + + + + <_>3 0 6 14 -1. + <_>5 0 2 14 3. + 0 + -0.0248399991542101 + -0.6835029721260071 + -8.0040004104375839e-003 + <_> + + <_> + + + + <_>12 2 12 20 -1. + <_>16 2 4 20 3. + 0 + -0.1396439969539642 + 0.6501129865646362 + 0.0465440005064011 + <_> + + <_> + + + + <_>0 2 12 20 -1. + <_>4 2 4 20 3. + 0 + -0.0821539983153343 + 0.4488719999790192 + -0.2359199970960617 + <_> + + <_> + + + + <_>16 0 6 17 -1. + <_>18 0 2 17 3. + 0 + 3.8449999410659075e-003 + -0.0881730020046234 + 0.2734679877758026 + <_> + + <_> + + + + <_>2 0 6 17 -1. + <_>4 0 2 17 3. + 0 + -6.6579999402165413e-003 + -0.4686659872531891 + 0.0770019963383675 + <_> + + <_> + + + + <_>15 6 9 6 -1. + <_>15 8 9 2 3. + 0 + -0.0158980004489422 + 0.2926839888095856 + -0.0219410005956888 + <_> + + <_> + + + + <_>0 6 9 6 -1. + <_>0 8 9 2 3. + 0 + -0.0509460009634495 + -1.2093789577484131 + -0.0421099998056889 + <_> + + <_> + + + + <_>18 1 6 13 -1. + <_>20 1 2 13 3. + 0 + 0.0168379992246628 + -0.0455959998071194 + 0.5018069744110107 + <_> + + <_> + + + + <_>0 1 6 13 -1. + <_>2 1 2 13 3. + 0 + 0.0159189999103546 + -0.2690429985523224 + 0.2651630043983460 + <_> + + <_> + + + + <_>16 0 4 9 -1. + <_>16 0 2 9 2. + 0 + 3.6309999413788319e-003 + -0.1304610073566437 + 0.3180710077285767 + <_> + + <_> + + + + <_>5 10 12 7 -1. + <_>9 10 4 7 3. + 0 + -0.0861449986696243 + 1.9443659782409668 + -0.1397829949855804 + <_> + + <_> + + + + <_>12 9 12 6 -1. + <_>12 11 12 2 3. + 0 + 0.0331409983336926 + 0.1526679992675781 + -0.0308660008013248 + <_> + + <_> + + + + <_>0 9 12 6 -1. + <_>0 11 12 2 3. + 0 + -3.9679999463260174e-003 + -0.7120230197906494 + -0.0138440001755953 + <_> + + <_> + + + + <_>5 7 14 9 -1. + <_>5 10 14 3 3. + 0 + -0.0240080002695322 + 0.9200779795646668 + 0.0467239990830421 + <_> + + <_> + + + + <_>0 15 20 3 -1. + <_>0 16 20 1 3. + 0 + 8.7320003658533096e-003 + -0.2256730049848557 + 0.3193179965019226 + <_> + + <_> + + + + <_>8 10 8 10 -1. + <_>12 10 4 5 2. + <_>8 15 4 5 2. + 0 + -0.0277869999408722 + -0.7233710289001465 + 0.1701859980821610 + <_> + + <_> + + + + <_>5 4 13 9 -1. + <_>5 7 13 3 3. + 0 + -0.1945530027151108 + 1.2461860179901123 + -0.1473619937896729 + <_> + + <_> + + + + <_>10 2 6 18 -1. + <_>10 8 6 6 3. + 0 + -0.1086969971656799 + -1.4465179443359375 + 0.1214530020952225 + <_> + + <_> + + + + <_>6 0 6 9 -1. + <_>8 0 2 9 3. + 0 + -0.0194949992001057 + -0.7815309762954712 + -0.0237329993396997 + <_> + + <_> + + + + <_>6 9 12 4 -1. + <_>6 11 12 2 2. + 0 + 3.0650000553578138e-003 + -0.8547139763832092 + 0.1668699979782105 + <_> + + <_> + + + + <_>3 2 15 12 -1. + <_>3 6 15 4 3. + 0 + 0.0591939985752106 + -0.1485369950532913 + 1.1273469924926758 + <_> + + <_> + + + + <_>12 0 12 5 -1. + <_>16 0 4 5 3. + 0 + -0.0542079992592335 + 0.5472699999809265 + 0.0355239994823933 + <_> + + <_> + + + + <_>0 15 18 3 -1. + <_>6 15 6 3 3. + 0 + -0.0393249988555908 + 0.3664259910583496 + -0.2054399996995926 + <_> + + <_> + + + + <_>0 14 24 5 -1. + <_>8 14 8 5 3. + 0 + 0.0822789967060089 + -0.0350079983472824 + 0.5399420261383057 + <_> + + <_> + + + + <_>5 1 3 18 -1. + <_>6 1 1 18 3. + 0 + -7.4479999020695686e-003 + -0.6153749823570252 + -3.5319998860359192e-003 + <_> + + <_> + + + + <_>10 0 4 14 -1. + <_>10 0 2 14 2. + 0 + 7.3770000599324703e-003 + -0.0655910000205040 + 0.4196139872074127 + <_> + + <_> + + + + <_>9 3 4 9 -1. + <_>11 3 2 9 2. + 0 + 7.0779998786747456e-003 + -0.3412950038909912 + 0.1253679990768433 + <_> + + <_> + + + + <_>8 2 12 6 -1. + <_>14 2 6 3 2. + <_>8 5 6 3 2. + 0 + -0.0155819999054074 + -0.3024039864540100 + 0.2151100039482117 + <_> + + <_> + + + + <_>0 4 17 4 -1. + <_>0 6 17 2 2. + 0 + -2.7399999089539051e-003 + 0.0765530019998550 + -0.4106050133705139 + <_> + + <_> + + + + <_>16 16 5 8 -1. + <_>16 20 5 4 2. + 0 + -0.0706000030040741 + -0.9735620021820068 + 0.1124180033802986 + <_> + + <_> + + + + <_>3 16 5 8 -1. + <_>3 20 5 4 2. + 0 + -0.0117060001939535 + 0.1856070011854172 + -0.2975519895553589 + <_> + + <_> + + + + <_>6 18 18 2 -1. + <_>6 19 18 1 2. + 0 + 7.1499997284263372e-004 + -0.0596500001847744 + 0.2482469975948334 + <_> + + <_> + + + + <_>0 0 12 5 -1. + <_>4 0 4 5 3. + 0 + -0.0368660017848015 + 0.3275170028209686 + -0.2305960059165955 + <_> + + <_> + + + + <_>14 3 6 12 -1. + <_>17 3 3 6 2. + <_>14 9 3 6 2. + 0 + -0.0325269997119904 + -0.2932029962539673 + 0.1542769968509674 + <_> + + <_> + + + + <_>0 12 6 12 -1. + <_>2 12 2 12 3. + 0 + -0.0748139992356300 + -1.2143570184707642 + -0.0522440001368523 + <_> + + <_> + + + + <_>2 3 21 3 -1. + <_>2 4 21 1 3. + 0 + 0.0414699986577034 + 0.1306249946355820 + -2.3274369239807129 + <_> + + <_> + + + + <_>4 3 6 12 -1. + <_>4 3 3 6 2. + <_>7 9 3 6 2. + 0 + -0.0288800001144409 + -0.6607459783554077 + -9.0960003435611725e-003 + <_> + + <_> + + + + <_>12 8 12 6 -1. + <_>18 8 6 3 2. + <_>12 11 6 3 2. + 0 + 0.0463819988071918 + 0.1663019955158234 + -0.6694949865341187 + <_> + + <_> + + + + <_>0 15 16 9 -1. + <_>8 15 8 9 2. + 0 + 0.2542499899864197 + -0.0546419993042946 + -1.2676080465316772 + <_> + + <_> + + + + <_>6 13 18 5 -1. + <_>6 13 9 5 2. + 0 + 2.4000001139938831e-003 + 0.2027679979801178 + 0.0146679999306798 + <_> + + <_> + + + + <_>1 6 15 6 -1. + <_>6 6 5 6 3. + 0 + -0.0828059986233711 + -0.7871360182762146 + -0.0244689993560314 + <_> + + <_> + + + + <_>11 9 9 6 -1. + <_>14 9 3 6 3. + 0 + -0.0114380000159144 + 0.2862339913845062 + -0.0308940000832081 + <_> + + <_> + + + + <_>3 0 15 11 -1. + <_>8 0 5 11 3. + 0 + -0.1291339993476868 + 1.7292929887771606 + -0.1429390013217926 + <_> + + <_> + + + + <_>15 3 3 18 -1. + <_>15 9 3 6 3. + 0 + 0.0385529994964600 + 0.0192329995334148 + 0.3773260116577148 + <_> + + <_> + + + + <_>6 3 3 18 -1. + <_>6 9 3 6 3. + 0 + 0.1019140034914017 + -0.0745339989662170 + -3.3868899345397949 + <_> + + <_> + + + + <_>9 5 10 8 -1. + <_>14 5 5 4 2. + <_>9 9 5 4 2. + 0 + -0.0190680008381605 + 0.3181410133838654 + 0.0192610006779432 + <_> + + <_> + + + + <_>4 4 16 8 -1. + <_>4 4 8 4 2. + <_>12 8 8 4 2. + 0 + -0.0607750006020069 + 0.7693629860877991 + -0.1764400005340576 + <_> + + <_> + + + + <_>7 7 12 3 -1. + <_>7 7 6 3 2. + 0 + 0.0246799997985363 + 0.1839649975299835 + -0.3086880147457123 + <_> + + <_> + + + + <_>5 0 9 13 -1. + <_>8 0 3 13 3. + 0 + 0.0267590004950762 + -0.2345490008592606 + 0.3305659890174866 + <_> + + <_> + + + + <_>11 0 6 9 -1. + <_>13 0 2 9 3. + 0 + 0.0149699999019504 + 0.1721359938383102 + -0.1824889928102493 + <_> + + <_> + + + + <_>7 0 6 9 -1. + <_>9 0 2 9 3. + 0 + 0.0261429995298386 + -0.0464639998972416 + -1.1318379640579224 + <_> + + <_> + + + + <_>8 1 10 9 -1. + <_>8 4 10 3 3. + 0 + -0.0375120006501675 + 0.8040400147438049 + 0.0696600005030632 + <_> + + <_> + + + + <_>0 2 18 2 -1. + <_>0 3 18 1 2. + 0 + -5.3229997865855694e-003 + -0.8188440203666687 + -0.0182249993085861 + <_> + + <_> + + + + <_>10 13 14 6 -1. + <_>17 13 7 3 2. + <_>10 16 7 3 2. + 0 + 0.0178130008280277 + 0.1495780050754547 + -0.1866720020771027 + <_> + + <_> + + + + <_>0 13 14 6 -1. + <_>0 13 7 3 2. + <_>7 16 7 3 2. + 0 + -0.0340100005269051 + -0.7285230159759522 + -0.0166159998625517 + <_> + + <_> + + + + <_>20 2 3 21 -1. + <_>21 2 1 21 3. + 0 + -0.0159530006349087 + 0.5694400072097778 + 0.0138320000842214 + <_> + + <_> + + + + <_>0 9 5 12 -1. + <_>0 13 5 4 3. + 0 + 0.0197439994663000 + 0.0405250005424023 + -0.4177339971065521 + <_> + + <_> + + + + <_>12 6 12 6 -1. + <_>12 8 12 2 3. + 0 + -0.1037480011582375 + -1.9825149774551392 + 0.1196020022034645 + <_> + + <_> + + + + <_>1 8 20 3 -1. + <_>1 9 20 1 3. + 0 + -0.0192850008606911 + 0.5023059844970703 + -0.1974589973688126 + <_> + + <_> + + + + <_>5 7 19 3 -1. + <_>5 8 19 1 3. + 0 + -0.0127800004556775 + 0.4019500017166138 + -0.0269579999148846 + <_> + + <_> + + + + <_>1 12 9 6 -1. + <_>1 14 9 2 3. + 0 + -0.0163529999554157 + -0.7660880088806152 + -0.0242090001702309 + <_> + + <_> + + + + <_>6 10 14 12 -1. + <_>6 14 14 4 3. + 0 + -0.1276369988918304 + 0.8657850027084351 + 0.0642059966921806 + <_> + + <_> + + + + <_>5 6 14 18 -1. + <_>5 12 14 6 3. + 0 + 0.0190689992159605 + -0.5592979788780212 + -1.6880000475794077e-003 + <_> + + <_> + + + + <_>11 12 9 7 -1. + <_>14 12 3 7 3. + 0 + 0.0324809998273849 + 0.0407220013439655 + 0.4892509877681732 + <_> + + <_> + + + + <_>1 15 18 4 -1. + <_>1 17 18 2 2. + 0 + 9.4849998131394386e-003 + -0.1923190057277679 + 0.5113970041275024 + <_> + + <_> + + + + <_>11 14 6 9 -1. + <_>11 17 6 3 3. + 0 + 5.0470000132918358e-003 + 0.1870680004358292 + -0.1611360013484955 + <_> + + <_> + + + + <_>0 8 18 4 -1. + <_>0 8 9 2 2. + <_>9 10 9 2 2. + 0 + 0.0412679985165596 + -0.0488179996609688 + -1.1326299905776978 + <_> + + <_> + + + + <_>3 10 20 6 -1. + <_>13 10 10 3 2. + <_>3 13 10 3 2. + 0 + -0.0763589963316917 + 1.4169390201568604 + 0.0873199999332428 + <_> + + <_> + + + + <_>1 10 20 6 -1. + <_>1 10 10 3 2. + <_>11 13 10 3 2. + 0 + -0.0728349983692169 + 1.3189860582351685 + -0.1481910049915314 + <_> + + <_> + + + + <_>0 9 24 2 -1. + <_>0 9 12 2 2. + 0 + 0.0595769993960857 + 0.0483769997954369 + 0.8561180233955383 + <_> + + <_> + + + + <_>1 12 20 8 -1. + <_>1 12 10 4 2. + <_>11 16 10 4 2. + 0 + 0.0202639997005463 + -0.2104409933090210 + 0.3385899960994721 + <_> + + <_> + + + + <_>11 12 9 7 -1. + <_>14 12 3 7 3. + 0 + -0.0803010016679764 + -1.2464400529861450 + 0.1185709983110428 + <_> + + <_> + + + + <_>4 12 9 7 -1. + <_>7 12 3 7 3. + 0 + -0.0178350005298853 + 0.2578229904174805 + -0.2456479966640472 + <_> + + <_> + + + + <_>12 12 8 5 -1. + <_>12 12 4 5 2. + 0 + 0.0114310001954436 + 0.2294979989528656 + -0.2949759960174561 + <_> + + <_> + + + + <_>4 12 8 5 -1. + <_>8 12 4 5 2. + 0 + -0.0255410000681877 + -0.8625299930572510 + -7.0400000549852848e-004 + <_> + + <_> + + + + <_>13 10 4 10 -1. + <_>13 10 2 10 2. + 0 + -7.6899997657164931e-004 + 0.3151139914989471 + -0.1434900015592575 + <_> + + <_> + + + + <_>1 15 20 2 -1. + <_>11 15 10 2 2. + 0 + -0.0144539996981621 + 0.2514849901199341 + -0.2823289930820465 + <_> + + <_> + + + + <_>9 10 6 6 -1. + <_>9 10 3 6 2. + 0 + 8.6730001494288445e-003 + 0.2660140097141266 + -0.2819080054759979 + -3.2103500366210937 + 18 + -1 + <_> + + + <_> + + <_> + + + + <_>0 1 21 3 -1. + <_>7 1 7 3 3. + 0 + 0.0547089986503124 + -0.5414429903030396 + 0.6104300022125244 + <_> + + <_> + + + + <_>6 4 13 9 -1. + <_>6 7 13 3 3. + 0 + -0.1083879992365837 + 0.7173990011215210 + -0.4119609892368317 + <_> + + <_> + + + + <_>6 5 12 5 -1. + <_>10 5 4 5 3. + 0 + 0.0229969993233681 + -0.5826979875564575 + 0.2964560091495514 + <_> + + <_> + + + + <_>10 10 10 6 -1. + <_>10 12 10 2 3. + 0 + 2.7540000155568123e-003 + -0.7424389719963074 + 0.1418330073356628 + <_> + + <_> + + + + <_>6 12 5 8 -1. + <_>6 16 5 4 2. + 0 + -2.1520000882446766e-003 + 0.1787990033626556 + -0.6854860186576843 + <_> + + <_> + + + + <_>13 0 6 9 -1. + <_>15 0 2 9 3. + 0 + -0.0225590001791716 + -1.0775549411773682 + 0.1238899976015091 + <_> + + <_> + + + + <_>2 10 18 6 -1. + <_>8 10 6 6 3. + 0 + 0.0830250009894371 + 0.0245009995996952 + -1.0251879692077637 + <_> + + <_> + + + + <_>11 2 9 4 -1. + <_>11 4 9 2 2. + 0 + -6.6740000620484352e-003 + -0.4528310000896454 + 0.2123019993305206 + <_> + + <_> + + + + <_>1 20 21 3 -1. + <_>8 20 7 3 3. + 0 + 0.0764850005507469 + -0.2697269916534424 + 0.4858019948005676 + <_> + + <_> + + + + <_>1 10 22 2 -1. + <_>1 11 22 1 2. + 0 + 5.4910001344978809e-003 + -0.4887120127677918 + 0.3161639869213104 + <_> + + <_> + + + + <_>0 17 18 3 -1. + <_>0 18 18 1 3. + 0 + -0.0104149999096990 + 0.4151290059089661 + -0.3004480004310608 + <_> + + <_> + + + + <_>13 0 6 9 -1. + <_>15 0 2 9 3. + 0 + 0.0276079997420311 + 0.1620379984378815 + -0.9986850023269653 + <_> + + <_> + + + + <_>5 0 6 9 -1. + <_>7 0 2 9 3. + 0 + -0.0232720002532005 + -1.1024399995803833 + 0.0211249999701977 + <_> + + <_> + + + + <_>18 2 6 20 -1. + <_>20 2 2 20 3. + 0 + -0.0556199997663498 + 0.6503310203552246 + -0.0279380008578300 + <_> + + <_> + + + + <_>0 2 6 20 -1. + <_>2 2 2 20 3. + 0 + -0.0406319983303547 + 0.4211730062961578 + -0.2676379978656769 + <_> + + <_> + + + + <_>11 7 6 14 -1. + <_>14 7 3 7 2. + <_>11 14 3 7 2. + 0 + -7.3560001328587532e-003 + 0.3527779877185822 + -0.3785400092601776 + <_> + + <_> + + + + <_>0 1 4 9 -1. + <_>2 1 2 9 2. + 0 + 0.0170070007443428 + -0.2918950021266937 + 0.4105379879474640 + <_> + + <_> + + + + <_>12 14 9 4 -1. + <_>12 16 9 2 2. + 0 + -0.0370340012013912 + -1.3216309547424316 + 0.1296650022268295 + <_> + + <_> + + + + <_>1 13 9 4 -1. + <_>1 15 9 2 2. + 0 + -0.0196330007165670 + -0.8770229816436768 + 1.0799999581649899e-003 + <_> + + <_> + + + + <_>7 6 15 6 -1. + <_>7 8 15 2 3. + 0 + -0.0235469993203878 + 0.2610610127449036 + -0.2148140072822571 + <_> + + <_> + + + + <_>8 2 3 18 -1. + <_>8 8 3 6 3. + 0 + -0.0433529987931252 + -0.9908969998359680 + -9.9560003727674484e-003 + <_> + + <_> + + + + <_>6 6 12 6 -1. + <_>12 6 6 3 2. + <_>6 9 6 3 2. + 0 + -0.0221839994192123 + 0.6345440149307251 + -0.0565470010042191 + <_> + + <_> + + + + <_>2 19 20 4 -1. + <_>2 19 10 2 2. + <_>12 21 10 2 2. + 0 + 0.0165309999138117 + 0.0246649999171495 + -0.7332680225372315 + <_> + + <_> + + + + <_>14 15 6 9 -1. + <_>14 18 6 3 3. + 0 + -0.0327440015971661 + -0.5629720091819763 + 0.1664029955863953 + <_> + + <_> + + + + <_>3 5 18 14 -1. + <_>3 5 9 7 2. + <_>12 12 9 7 2. + 0 + 0.0714159980416298 + -3.0000001424923539e-004 + -0.9328640103340149 + <_> + + <_> + + + + <_>15 6 4 18 -1. + <_>17 6 2 9 2. + <_>15 15 2 9 2. + 0 + 8.0999999772757292e-004 + -0.0953800007700920 + 0.2518469989299774 + <_> + + <_> + + + + <_>5 6 4 18 -1. + <_>5 6 2 9 2. + <_>7 15 2 9 2. + 0 + -8.4090000018477440e-003 + -0.6549680233001709 + 0.0673009976744652 + <_> + + <_> + + + + <_>11 0 6 9 -1. + <_>13 0 2 9 3. + 0 + -0.0172540005296469 + -0.4649299979209900 + 0.1607089936733246 + <_> + + <_> + + + + <_>7 0 6 9 -1. + <_>9 0 2 9 3. + 0 + -0.0186410006135702 + -1.0594010353088379 + -0.0196170005947351 + <_> + + <_> + + + + <_>11 5 6 9 -1. + <_>13 5 2 9 3. + 0 + -9.1979997232556343e-003 + 0.5071619749069214 + -0.1533920019865036 + <_> + + <_> + + + + <_>9 5 6 6 -1. + <_>12 5 3 6 2. + 0 + 0.0185380000621080 + -0.3049820065498352 + 0.7350620031356812 + <_> + + <_> + + + + <_>4 1 16 6 -1. + <_>12 1 8 3 2. + <_>4 4 8 3 2. + 0 + -0.0503350012004375 + -1.1140480041503906 + 0.1800010055303574 + <_> + + <_> + + + + <_>9 13 6 11 -1. + <_>11 13 2 11 3. + 0 + -0.0235290005803108 + -0.8690789937973023 + -0.0124599998816848 + <_> + + <_> + + + + <_>17 1 6 12 -1. + <_>20 1 3 6 2. + <_>17 7 3 6 2. + 0 + -0.0271000005304813 + 0.6594290137290955 + -0.0353239998221397 + <_> + + <_> + + + + <_>1 17 18 3 -1. + <_>1 18 18 1 3. + 0 + 6.5879998728632927e-003 + -0.2295340001583099 + 0.4242509901523590 + <_> + + <_> + + + + <_>7 13 10 8 -1. + <_>7 17 10 4 2. + 0 + 0.0233600009232759 + 0.1835619956254959 + -0.9858729839324951 + <_> + + <_> + + + + <_>6 18 10 6 -1. + <_>6 20 10 2 3. + 0 + 0.0129469996318221 + -0.3314740061759949 + 0.2132319957017899 + <_> + + <_> + + + + <_>9 14 9 4 -1. + <_>9 16 9 2 2. + 0 + -6.6559999249875546e-003 + -0.1195140033960342 + 0.2975279986858368 + <_> + + <_> + + + + <_>1 1 6 12 -1. + <_>1 1 3 6 2. + <_>4 7 3 6 2. + 0 + -0.0225709993392229 + 0.3849940001964569 + -0.2443449944257736 + <_> + + <_> + + + + <_>19 4 5 12 -1. + <_>19 8 5 4 3. + 0 + -0.0638139992952347 + -0.8938350081443787 + 0.1421750038862228 + <_> + + <_> + + + + <_>0 0 8 8 -1. + <_>4 0 4 8 2. + 0 + -0.0499450005590916 + 0.5386440157890320 + -0.2048529982566834 + <_> + + <_> + + + + <_>3 5 19 3 -1. + <_>3 6 19 1 3. + 0 + 6.8319998681545258e-003 + -0.0566789992153645 + 0.3997099995613098 + <_> + + <_> + + + + <_>1 5 12 6 -1. + <_>1 5 6 3 2. + <_>7 8 6 3 2. + 0 + -0.0558359995484352 + -1.5239470005035400 + -0.0511830002069473 + <_> + + <_> + + + + <_>2 1 21 8 -1. + <_>9 1 7 8 3. + 0 + 0.3195700049400330 + 0.0745740011334419 + 1.2447799444198608 + <_> + + <_> + + + + <_>4 1 16 8 -1. + <_>4 5 16 4 2. + 0 + 0.0809559971094131 + -0.1966550052165985 + 0.5988969802856445 + <_> + + <_> + + + + <_>6 0 18 3 -1. + <_>6 1 18 1 3. + 0 + -0.0149119999259710 + -0.6402059793472290 + 0.1580760031938553 + <_> + + <_> + + + + <_>4 4 10 14 -1. + <_>4 11 10 7 2. + 0 + 0.0467090010643005 + 0.0852390006184578 + -0.4548720121383667 + <_> + + <_> + + + + <_>15 6 4 10 -1. + <_>15 11 4 5 2. + 0 + 6.0539999976754189e-003 + -0.4318400025367737 + 0.2245260030031204 + <_> + + <_> + + + + <_>3 18 18 3 -1. + <_>9 18 6 3 3. + 0 + -0.0343759991228580 + 0.4020250141620636 + -0.2390359938144684 + <_> + + <_> + + + + <_>8 18 12 6 -1. + <_>12 18 4 6 3. + 0 + -0.0349240005016327 + 0.5287010073661804 + 0.0397090017795563 + <_> + + <_> + + + + <_>3 15 6 9 -1. + <_>6 15 3 9 2. + 0 + 3.0030000489205122e-003 + -0.3875429928302765 + 0.1419260054826737 + <_> + + <_> + + + + <_>15 7 6 8 -1. + <_>15 11 6 4 2. + 0 + -0.0141329998150468 + 0.8752840161323547 + 0.0855079963803291 + <_> + + <_> + + + + <_>3 7 6 8 -1. + <_>3 11 6 4 2. + 0 + -6.7940000444650650e-003 + -1.1649219989776611 + -0.0339430011808872 + <_> + + <_> + + + + <_>5 9 18 6 -1. + <_>14 9 9 3 2. + <_>5 12 9 3 2. + 0 + -0.0528860017657280 + 1.0930680036544800 + 0.0511870011687279 + <_> + + <_> + + + + <_>1 13 12 6 -1. + <_>1 15 12 2 3. + 0 + -2.1079999860376120e-003 + 0.1369619965553284 + -0.3384999930858612 + <_> + + <_> + + + + <_>14 15 10 6 -1. + <_>14 17 10 2 3. + 0 + 0.0183530002832413 + 0.1366160064935684 + -0.4077779948711395 + <_> + + <_> + + + + <_>0 15 10 6 -1. + <_>0 17 10 2 3. + 0 + 0.0126719996333122 + -0.0149360001087189 + -0.8170750141143799 + <_> + + <_> + + + + <_>15 13 6 9 -1. + <_>15 16 6 3 3. + 0 + 0.0129249999299645 + 0.1762509942054749 + -0.3249169886112213 + <_> + + <_> + + + + <_>3 13 6 9 -1. + <_>3 16 6 3 3. + 0 + -0.0179210007190704 + -0.5274540185928345 + 0.0444430001080036 + <_> + + <_> + + + + <_>9 5 8 8 -1. + <_>9 5 4 8 2. + 0 + 1.9160000374540687e-003 + -0.1097859963774681 + 0.2206750065088272 + <_> + + <_> + + + + <_>1 18 12 6 -1. + <_>1 18 6 3 2. + <_>7 21 6 3 2. + 0 + -0.0146979996934533 + 0.3906779885292053 + -0.2222499996423721 + <_> + + <_> + + + + <_>13 19 10 4 -1. + <_>13 21 10 2 2. + 0 + -0.0149729996919632 + -0.2545090019702911 + 0.1779000014066696 + <_> + + <_> + + + + <_>1 19 10 4 -1. + <_>1 21 10 2 2. + 0 + 0.0146369999274611 + -0.0251250006258488 + -0.8712130188941956 + <_> + + <_> + + + + <_>6 19 18 3 -1. + <_>6 20 18 1 3. + 0 + -0.0109740002080798 + 0.7908279895782471 + 0.0201210007071495 + <_> + + <_> + + + + <_>8 14 4 10 -1. + <_>8 19 4 5 2. + 0 + -9.1599998995661736e-003 + -0.4790689945220947 + 0.0522320009768009 + <_> + + <_> + + + + <_>0 0 24 6 -1. + <_>0 2 24 2 3. + 0 + 4.6179997734725475e-003 + -0.1724459975957871 + 0.3452779948711395 + <_> + + <_> + + + + <_>0 1 6 9 -1. + <_>0 4 6 3 3. + 0 + 0.0234769992530346 + 3.7760001141577959e-003 + -0.6533370018005371 + <_> + + <_> + + + + <_>4 9 20 6 -1. + <_>14 9 10 3 2. + <_>4 12 10 3 2. + 0 + 0.0317669995129108 + 0.0163640007376671 + 0.5872370004653931 + <_> + + <_> + + + + <_>1 15 19 8 -1. + <_>1 19 19 4 2. + 0 + -0.0184199996292591 + 0.1999389976263046 + -0.3205649852752686 + <_> + + <_> + + + + <_>14 0 10 6 -1. + <_>14 2 10 2 3. + 0 + 0.0195439998060465 + 0.1845020055770874 + -0.2379360049962997 + <_> + + <_> + + + + <_>1 10 21 14 -1. + <_>8 10 7 14 3. + 0 + 0.4115949869155884 + -0.0603820011019707 + -1.6072119474411011 + <_> + + <_> + + + + <_>10 10 8 8 -1. + <_>10 10 4 8 2. + 0 + -0.0415959991514683 + -0.3275620043277741 + 0.1505800038576126 + <_> + + <_> + + + + <_>6 8 10 4 -1. + <_>11 8 5 4 2. + 0 + -0.0103359995409846 + -0.6239439845085144 + 0.0131120001897216 + <_> + + <_> + + + + <_>10 5 4 9 -1. + <_>10 5 2 9 2. + 0 + 0.0123929996043444 + -0.0331149995326996 + 0.5557990074157715 + <_> + + <_> + + + + <_>7 5 6 10 -1. + <_>9 5 2 10 3. + 0 + -8.7270000949501991e-003 + 0.1988320052623749 + -0.3763560056686401 + <_> + + <_> + + + + <_>14 4 4 13 -1. + <_>14 4 2 13 2. + 0 + 0.0162950009107590 + 0.2037300020456314 + -0.4280079901218414 + <_> + + <_> + + + + <_>6 4 4 13 -1. + <_>8 4 2 13 2. + 0 + -0.0104839997366071 + -0.5684700012207031 + 0.0441990010440350 + <_> + + <_> + + + + <_>8 7 9 6 -1. + <_>11 7 3 6 3. + 0 + -0.0124319996684790 + 0.7464190125465393 + 0.0436789989471436 + <_> + + <_> + + + + <_>3 6 16 6 -1. + <_>3 6 8 3 2. + <_>11 9 8 3 2. + 0 + -0.0503749996423721 + 0.8509010076522827 + -0.1777379959821701 + <_> + + <_> + + + + <_>5 4 16 14 -1. + <_>13 4 8 7 2. + <_>5 11 8 7 2. + 0 + 0.0495480000972748 + 0.1678490042686462 + -0.2987749874591827 + <_> + + <_> + + + + <_>0 0 24 4 -1. + <_>0 0 12 2 2. + <_>12 2 12 2 2. + 0 + -0.0410850010812283 + -1.3302919864654541 + -0.0491820015013218 + <_> + + <_> + + + + <_>9 1 9 6 -1. + <_>12 1 3 6 3. + 0 + 1.0069999843835831e-003 + -0.0605389997363091 + 0.1848320066928864 + <_> + + <_> + + + + <_>4 1 14 4 -1. + <_>11 1 7 4 2. + 0 + -0.0501429997384548 + 0.7644770145416260 + -0.1835699975490570 + <_> + + <_> + + + + <_>10 14 7 9 -1. + <_>10 17 7 3 3. + 0 + -8.7879998609423637e-003 + 0.2265599966049194 + -0.0631569996476173 + <_> + + <_> + + + + <_>8 3 8 10 -1. + <_>8 3 4 5 2. + <_>12 8 4 5 2. + 0 + -0.0501709990203381 + -1.5899070501327515 + -0.0612550005316734 + <_> + + <_> + + + + <_>7 3 12 5 -1. + <_>11 3 4 5 3. + 0 + 0.1021609976887703 + 0.1207180023193359 + -1.4120110273361206 + <_> + + <_> + + + + <_>8 2 4 13 -1. + <_>10 2 2 13 2. + 0 + -0.0143729997798800 + -1.3116970062255859 + -0.0519360005855560 + <_> + + <_> + + + + <_>11 2 3 19 -1. + <_>12 2 1 19 3. + 0 + 0.0102819995954633 + -2.1639999467879534e-003 + 0.4424720108509064 + <_> + + <_> + + + + <_>7 7 9 6 -1. + <_>10 7 3 6 3. + 0 + -0.0118140000849962 + 0.6537809967994690 + -0.1872369945049286 + <_> + + <_> + + + + <_>4 22 20 2 -1. + <_>4 22 10 2 2. + 0 + 0.0721149966120720 + 0.0718469992280006 + 0.8149629831314087 + <_> + + <_> + + + + <_>0 16 24 4 -1. + <_>0 16 12 2 2. + <_>12 18 12 2 2. + 0 + -0.0190019998699427 + -0.6742720007896423 + -4.3200000072829425e-004 + <_> + + <_> + + + + <_>7 3 12 5 -1. + <_>11 3 4 5 3. + 0 + -4.6990001574158669e-003 + 0.3331150114536285 + 0.0557940006256104 + <_> + + <_> + + + + <_>1 10 8 14 -1. + <_>1 10 4 7 2. + <_>5 17 4 7 2. + 0 + -0.0581570006906986 + 0.4557229876518250 + -0.2030510008335114 + <_> + + <_> + + + + <_>11 16 6 6 -1. + <_>11 19 6 3 2. + 0 + 1.1360000353306532e-003 + -0.0446869991719723 + 0.2268189936876297 + <_> + + <_> + + + + <_>6 0 10 24 -1. + <_>6 0 5 12 2. + <_>11 12 5 12 2. + 0 + -0.0494149997830391 + 0.2669459879398346 + -0.2611699998378754 + <_> + + <_> + + + + <_>7 5 14 14 -1. + <_>14 5 7 7 2. + <_>7 12 7 7 2. + 0 + -0.1191380023956299 + -0.8301799893379211 + 0.1324850022792816 + <_> + + <_> + + + + <_>7 8 10 8 -1. + <_>7 8 5 4 2. + <_>12 12 5 4 2. + 0 + -0.0183039996773005 + -0.6749920248985291 + 0.0170920006930828 + <_> + + <_> + + + + <_>9 1 9 6 -1. + <_>12 1 3 6 3. + 0 + -7.9199997708201408e-003 + -0.0722870007157326 + 0.1442580074071884 + <_> + + <_> + + + + <_>0 6 24 3 -1. + <_>12 6 12 3 2. + 0 + 0.0519259981811047 + 0.0309219993650913 + -0.5586060285568237 + <_> + + <_> + + + + <_>7 3 12 5 -1. + <_>11 3 4 5 3. + 0 + 0.0667240023612976 + 0.1366640031337738 + -0.2941100001335144 + <_> + + <_> + + + + <_>1 13 22 4 -1. + <_>1 13 11 2 2. + <_>12 15 11 2 2. + 0 + -0.0137780001387000 + -0.5944390296936035 + 0.0153000000864267 + <_> + + <_> + + + + <_>9 12 12 6 -1. + <_>9 14 12 2 3. + 0 + -0.0177609995007515 + 0.4049650132656097 + -3.3559999428689480e-003 + <_> + + <_> + + + + <_>0 5 9 6 -1. + <_>0 7 9 2 3. + 0 + -0.0422349981963634 + -1.0897940397262573 + -0.0402249991893768 + <_> + + <_> + + + + <_>1 5 23 6 -1. + <_>1 7 23 2 3. + 0 + -0.0135249998420477 + 0.2892189919948578 + -0.2519479990005493 + <_> + + <_> + + + + <_>1 6 19 12 -1. + <_>1 10 19 4 3. + 0 + -0.0111060002818704 + 0.6531280279159546 + -0.1805370002985001 + <_> + + <_> + + + + <_>9 1 6 21 -1. + <_>9 8 6 7 3. + 0 + -0.1228459998965263 + -1.9570649862289429 + 0.1481540054082871 + <_> + + <_> + + + + <_>3 19 18 3 -1. + <_>9 19 6 3 3. + 0 + 0.0477159991860390 + -0.2287559956312180 + 0.3423370122909546 + <_> + + <_> + + + + <_>9 14 6 9 -1. + <_>11 14 2 9 3. + 0 + 0.0318170003592968 + 0.1597629934549332 + -1.0091969966888428 + <_> + + <_> + + + + <_>9 6 4 12 -1. + <_>11 6 2 12 2. + 0 + 4.2570000514388084e-003 + -0.3888129889965057 + 0.0842100009322166 + <_> + + <_> + + + + <_>16 0 6 9 -1. + <_>18 0 2 9 3. + 0 + -0.0613729991018772 + 1.7152810096740723 + 0.0593249984085560 + <_> + + <_> + + + + <_>2 0 6 9 -1. + <_>4 0 2 9 3. + 0 + -2.7030000928789377e-003 + -0.3816170096397400 + 0.0851270034909248 + <_> + + <_> + + + + <_>13 1 4 22 -1. + <_>15 1 2 11 2. + <_>13 12 2 11 2. + 0 + -0.0685440003871918 + -3.0925889015197754 + 0.1178800016641617 + <_> + + <_> + + + + <_>1 8 8 12 -1. + <_>1 14 8 6 2. + 0 + 0.1037250012159348 + -0.1376930028200150 + 1.9009410142898560 + <_> + + <_> + + + + <_>14 7 7 9 -1. + <_>14 10 7 3 3. + 0 + 0.0157990008592606 + -0.0626600012183189 + 0.2591769993305206 + <_> + + <_> + + + + <_>3 12 18 4 -1. + <_>3 12 9 2 2. + <_>12 14 9 2 2. + 0 + -9.8040001466870308e-003 + -0.5629159808158875 + 0.0439230017364025 + <_> + + <_> + + + + <_>13 1 4 22 -1. + <_>15 1 2 11 2. + <_>13 12 2 11 2. + 0 + -9.0229995548725128e-003 + 0.2528710067272186 + -0.0412259995937347 + <_> + + <_> + + + + <_>7 1 4 22 -1. + <_>7 1 2 11 2. + <_>9 12 2 11 2. + 0 + -0.0637549981474876 + -2.6178569793701172 + -0.0740059986710548 + <_> + + <_> + + + + <_>4 7 20 4 -1. + <_>14 7 10 2 2. + <_>4 9 10 2 2. + 0 + 0.0389549992978573 + 0.0590329989790916 + 0.8594560027122498 + <_> + + <_> + + + + <_>9 10 6 7 -1. + <_>12 10 3 7 2. + 0 + -0.0398029983043671 + 0.9360049962997437 + -0.1563940048217773 + <_> + + <_> + + + + <_>7 7 10 4 -1. + <_>7 7 5 4 2. + 0 + 0.0503019988536835 + 0.1372590065002441 + -2.5549728870391846 + <_> + + <_> + + + + <_>0 3 4 15 -1. + <_>0 8 4 5 3. + 0 + 0.0462500005960464 + -0.0139640001580119 + -0.7102620005607605 + <_> + + <_> + + + + <_>15 0 8 12 -1. + <_>19 0 4 6 2. + <_>15 6 4 6 2. + 0 + 0.0621960014104843 + 0.0595260001718998 + 1.6509100198745728 + <_> + + <_> + + + + <_>1 0 8 12 -1. + <_>1 0 4 6 2. + <_>5 6 4 6 2. + 0 + -0.0647760033607483 + 0.7136899828910828 + -0.1727000027894974 + <_> + + <_> + + + + <_>14 5 6 16 -1. + <_>16 5 2 16 3. + 0 + 0.0275229997932911 + 0.1463160067796707 + -0.0814289972186089 + <_> + + <_> + + + + <_>4 5 6 16 -1. + <_>6 5 2 16 3. + 0 + 3.9900001138448715e-004 + -0.3714450001716614 + 0.1015269979834557 + <_> + + <_> + + + + <_>15 0 6 16 -1. + <_>17 0 2 16 3. + 0 + -4.3299999088048935e-003 + -0.2375629991292954 + 0.2679840028285980 + <_> + + <_> + + + + <_>3 0 6 16 -1. + <_>5 0 2 16 3. + 0 + 0.0472970008850098 + -0.0276820007711649 + -0.8491029739379883 + <_> + + <_> + + + + <_>0 2 24 3 -1. + <_>0 3 24 1 3. + 0 + 0.0125089995563030 + 0.1873019933700562 + -0.5600110292434692 + <_> + + <_> + + + + <_>7 1 10 4 -1. + <_>7 3 10 2 2. + 0 + 0.0458990000188351 + -0.1560119986534119 + 0.9707300066947937 + <_> + + <_> + + + + <_>1 0 23 8 -1. + <_>1 4 23 4 2. + 0 + 0.1985339969396591 + 0.1489550024271011 + -1.1015529632568359 + <_> + + <_> + + + + <_>1 17 19 3 -1. + <_>1 18 19 1 3. + 0 + 0.0166749991476536 + -0.1661529988050461 + 0.8221099972724915 + <_> + + <_> + + + + <_>6 18 18 2 -1. + <_>6 19 18 1 2. + 0 + 1.9829999655485153e-003 + -0.0712499991059303 + 0.2881090044975281 + <_> + + <_> + + + + <_>1 17 9 6 -1. + <_>1 19 9 2 3. + 0 + 0.0224479995667934 + -0.0209810007363558 + -0.7841650247573853 + <_> + + <_> + + + + <_>15 15 6 9 -1. + <_>15 18 6 3 3. + 0 + -0.0139130000025034 + -0.1816579997539520 + 0.2049179971218109 + <_> + + <_> + + + + <_>3 15 6 9 -1. + <_>3 18 6 3 3. + 0 + -7.7659999951720238e-003 + -0.4559589922428131 + 0.0635769963264465 + <_> + + <_> + + + + <_>4 14 20 6 -1. + <_>4 17 20 3 2. + 0 + -0.0132090002298355 + 0.2663230001926422 + -0.1779599934816361 + <_> + + <_> + + + + <_>0 10 6 14 -1. + <_>0 10 3 7 2. + <_>3 17 3 7 2. + 0 + 0.0490529984235764 + -0.1547680050134659 + 1.1069979667663574 + <_> + + <_> + + + + <_>6 18 18 3 -1. + <_>6 19 18 1 3. + 0 + 0.0202639997005463 + 0.0689150020480156 + 0.6986749768257141 + <_> + + <_> + + + + <_>4 12 9 7 -1. + <_>7 12 3 7 3. + 0 + -0.0168280005455017 + 0.2760719954967499 + -0.2513920068740845 + <_> + + <_> + + + + <_>6 10 18 5 -1. + <_>12 10 6 5 3. + 0 + -0.1693949997425079 + -3.0767529010772705 + 0.1161750033497810 + <_> + + <_> + + + + <_>0 10 18 5 -1. + <_>6 10 6 5 3. + 0 + -0.1133610010147095 + -1.4639229774475098 + -0.0514470003545284 + <_> + + <_> + + + + <_>3 2 18 9 -1. + <_>9 2 6 9 3. + 0 + -0.0776859968900681 + 0.8843020200729370 + 0.0433069989085197 + <_> + + <_> + + + + <_>4 6 10 10 -1. + <_>4 6 5 5 2. + <_>9 11 5 5 2. + 0 + -0.0155680002644658 + 0.1367249935865402 + -0.3450550138950348 + <_> + + <_> + + + + <_>20 14 4 9 -1. + <_>20 14 2 9 2. + 0 + -0.0660189986228943 + -1.0300110578536987 + 0.1160139963030815 + <_> + + <_> + + + + <_>0 14 4 9 -1. + <_>2 14 2 9 2. + 0 + 8.3699999377131462e-003 + 0.0764290019869804 + -0.4400250017642975 + <_> + + <_> + + + + <_>11 1 4 20 -1. + <_>13 1 2 10 2. + <_>11 11 2 10 2. + 0 + 0.0354029983282089 + 0.1197950020432472 + -0.7266830205917358 + <_> + + <_> + + + + <_>6 21 12 3 -1. + <_>12 21 6 3 2. + 0 + -0.0390510000288486 + 0.6737530231475830 + -0.1819600015878677 + <_> + + <_> + + + + <_>11 1 4 20 -1. + <_>13 1 2 10 2. + <_>11 11 2 10 2. + 0 + -9.7899995744228363e-003 + 0.2126459926366806 + 0.0367560014128685 + <_> + + <_> + + + + <_>1 16 10 8 -1. + <_>1 16 5 4 2. + <_>6 20 5 4 2. + 0 + -0.0230470001697540 + 0.4474219977855682 + -0.2098670005798340 + <_> + + <_> + + + + <_>11 1 4 20 -1. + <_>13 1 2 10 2. + <_>11 11 2 10 2. + 0 + 3.1169999856501818e-003 + 0.0375440008938313 + 0.2780820131301880 + <_> + + <_> + + + + <_>1 0 3 19 -1. + <_>2 0 1 19 3. + 0 + 0.0131360003724694 + -0.1984239965677261 + 0.5433570146560669 + <_> + + <_> + + + + <_>11 1 4 20 -1. + <_>13 1 2 10 2. + <_>11 11 2 10 2. + 0 + 0.0147820003330708 + 0.1353060007095337 + -0.1115360036492348 + <_> + + <_> + + + + <_>0 1 6 9 -1. + <_>2 1 2 9 3. + 0 + -0.0601390004158020 + 0.8403930068016052 + -0.1671160012483597 + <_> + + <_> + + + + <_>3 7 19 4 -1. + <_>3 9 19 2 2. + 0 + 0.0519989989697933 + 0.1737200021743774 + -0.7854760289192200 + <_> + + <_> + + + + <_>7 14 9 6 -1. + <_>7 16 9 2 3. + 0 + 0.0247920006513596 + -0.1773920059204102 + 0.6675260066986084 + <_> + + <_> + + + + <_>17 1 7 6 -1. + <_>17 4 7 3 2. + 0 + -0.0120149999856949 + -0.1426369994878769 + 0.1607050001621246 + <_> + + <_> + + + + <_>5 0 14 8 -1. + <_>5 4 14 4 2. + 0 + -0.0986559987068176 + 1.0429769754409790 + -0.1577019989490509 + <_> + + <_> + + + + <_>16 1 8 6 -1. + <_>16 4 8 3 2. + 0 + 0.1175829991698265 + 0.1095570027828217 + -4.4920377731323242 + <_> + + <_> + + + + <_>0 1 8 6 -1. + <_>0 4 8 3 2. + 0 + -0.0189229995012283 + -0.7854340076446533 + 0.0129840001463890 + <_> + + <_> + + + + <_>6 0 18 4 -1. + <_>15 0 9 2 2. + <_>6 2 9 2 2. + 0 + -0.0283909998834133 + -0.6056990027427673 + 0.1290349960327148 + <_> + + <_> + + + + <_>0 14 9 6 -1. + <_>0 16 9 2 3. + 0 + 0.0131829995661974 + -0.0144159998744726 + -0.7321050167083740 + <_> + + <_> + + + + <_>3 7 18 8 -1. + <_>9 7 6 8 3. + 0 + -0.1165300011634827 + -2.0442469120025635 + 0.1405310034751892 + <_> + + <_> + + + + <_>2 11 6 9 -1. + <_>4 11 2 9 3. + 0 + -3.8880000356584787e-003 + -0.4186159968376160 + 0.0787049978971481 + <_> + + <_> + + + + <_>10 5 6 9 -1. + <_>12 5 2 9 3. + 0 + 0.0312290005385876 + 0.0246329996734858 + 0.4187040030956268 + <_> + + <_> + + + + <_>10 6 4 18 -1. + <_>10 6 2 9 2. + <_>12 15 2 9 2. + 0 + 0.0251989997923374 + -0.1755779981613159 + 0.6471059918403626 + <_> + + <_> + + + + <_>11 1 4 20 -1. + <_>13 1 2 10 2. + <_>11 11 2 10 2. + 0 + -0.0281240008771420 + -0.2200559973716736 + 0.1412100046873093 + <_> + + <_> + + + + <_>9 1 4 20 -1. + <_>9 1 2 10 2. + <_>11 11 2 10 2. + 0 + 0.0364990010857582 + -0.0684269964694977 + -2.3410849571228027 + <_> + + <_> + + + + <_>5 9 18 6 -1. + <_>14 9 9 3 2. + <_>5 12 9 3 2. + 0 + -0.0722929984331131 + 1.2898750305175781 + 0.0848750025033951 + <_> + + <_> + + + + <_>6 4 6 9 -1. + <_>8 4 2 9 3. + 0 + -0.0416710004210472 + -1.1630970239639282 + -0.0537529997527599 + <_> + + <_> + + + + <_>10 16 8 6 -1. + <_>10 16 4 6 2. + 0 + 0.0477030016481876 + 0.0701010003685951 + 0.7367650270462036 + <_> + + <_> + + + + <_>0 0 18 8 -1. + <_>0 0 9 4 2. + <_>9 4 9 4 2. + 0 + 0.0657930001616478 + -0.1775529980659485 + 0.6978049874305725 + <_> + + <_> + + + + <_>6 5 14 12 -1. + <_>13 5 7 6 2. + <_>6 11 7 6 2. + 0 + 0.0139049999415874 + 0.2193679958581924 + -0.2039079964160919 + <_> + + <_> + + + + <_>4 3 15 7 -1. + <_>9 3 5 7 3. + 0 + -0.0277309995144606 + 0.6186789870262146 + -0.1780409961938858 + <_> + + <_> + + + + <_>14 12 10 6 -1. + <_>14 14 10 2 3. + 0 + -0.0158799998462200 + -0.4648410081863403 + 0.1882860064506531 + <_> + + <_> + + + + <_>0 11 4 10 -1. + <_>0 16 4 5 2. + 0 + 0.0741280019283295 + -0.1285810023546219 + 3.2792479991912842 + <_> + + <_> + + + + <_>1 10 22 3 -1. + <_>1 11 22 1 3. + 0 + -8.9000002481043339e-004 + -0.3011760115623474 + 0.2381879985332489 + <_> + + <_> + + + + <_>8 9 6 10 -1. + <_>10 9 2 10 3. + 0 + 0.0179650001227856 + -0.2228499948978424 + 0.2995400130748749 + <_> + + <_> + + + + <_>13 2 6 12 -1. + <_>16 2 3 6 2. + <_>13 8 3 6 2. + 0 + -2.5380000006407499e-003 + 0.2506439983844757 + -0.1366560012102127 + <_> + + <_> + + + + <_>10 6 4 18 -1. + <_>10 6 2 9 2. + <_>12 15 2 9 2. + 0 + -9.0680001303553581e-003 + 0.2901749908924103 + -0.2892970144748688 + <_> + + <_> + + + + <_>7 8 10 16 -1. + <_>12 8 5 8 2. + <_>7 16 5 8 2. + 0 + 0.0491699986159801 + 0.1915639936923981 + -0.6832870244979858 + <_> + + <_> + + + + <_>8 1 8 12 -1. + <_>8 1 4 6 2. + <_>12 7 4 6 2. + 0 + -0.0306809991598129 + -0.7567700147628784 + -0.0132799996063113 + <_> + + <_> + + + + <_>7 1 12 14 -1. + <_>13 1 6 7 2. + <_>7 8 6 7 2. + 0 + 0.1001740023493767 + 0.0844539999961853 + 1.0888710021972656 + <_> + + <_> + + + + <_>2 14 12 6 -1. + <_>2 16 12 2 3. + 0 + 3.1950001139193773e-003 + -0.2691940069198608 + 0.1953790038824081 + <_> + + <_> + + + + <_>11 16 6 6 -1. + <_>11 19 6 3 2. + 0 + 0.0355030000209808 + 0.1363230049610138 + -0.5691720247268677 + <_> + + <_> + + + + <_>7 16 6 6 -1. + <_>7 19 6 3 2. + 0 + 4.5900000259280205e-004 + -0.4044399857521057 + 0.1407479941844940 + <_> + + <_> + + + + <_>13 4 4 10 -1. + <_>13 4 2 10 2. + 0 + 0.0252589993178844 + 0.1624320000410080 + -0.5574179887771606 + <_> + + <_> + + + + <_>0 19 19 3 -1. + <_>0 20 19 1 3. + 0 + -5.1549999043345451e-003 + 0.3113259971141815 + -0.2275609970092773 + <_> + + <_> + + + + <_>12 8 6 8 -1. + <_>12 12 6 4 2. + 0 + 1.5869999770075083e-003 + -0.2686769962310791 + 0.1956540048122406 + <_> + + <_> + + + + <_>8 1 8 22 -1. + <_>8 12 8 11 2. + 0 + -0.0162049997597933 + 0.1548649966716766 + -0.3405779898166657 + <_> + + <_> + + + + <_>12 8 6 8 -1. + <_>12 12 6 4 2. + 0 + -0.0296240001916885 + 1.1466799974441528 + 0.0905579999089241 + <_> + + <_> + + + + <_>6 8 6 8 -1. + <_>6 12 6 4 2. + 0 + -1.5930000226944685e-003 + -0.7125750184059143 + -7.0400000549852848e-004 + <_> + + <_> + + + + <_>14 5 6 9 -1. + <_>14 8 6 3 3. + 0 + -0.0540190003812313 + 0.4153749942779541 + 0.0272460002452135 + <_> + + <_> + + + + <_>0 6 24 4 -1. + <_>0 8 24 2 2. + 0 + -0.0662110000848770 + -1.3340090513229370 + -0.0473529994487762 + <_> + + <_> + + + + <_>14 12 10 6 -1. + <_>14 14 10 2 3. + 0 + 0.0279409997165203 + 0.1444630026817322 + -0.5151839852333069 + <_> + + <_> + + + + <_>0 12 10 6 -1. + <_>0 14 10 2 3. + 0 + 0.0289570000022650 + -0.0499660000205040 + -1.1929039955139160 + <_> + + <_> + + + + <_>4 6 19 3 -1. + <_>4 7 19 1 3. + 0 + -0.0204249992966652 + 0.6388130187988281 + 0.0381410010159016 + <_> + + <_> + + + + <_>1 6 19 3 -1. + <_>1 7 19 1 3. + 0 + 0.0124169997870922 + -0.2154700011014938 + 0.4947769939899445 + -3.2772979736328125 + 19 + -1 + <_> + + + <_> + + <_> + + + + <_>4 0 16 9 -1. + <_>4 3 16 3 3. + 0 + 0.0432740002870560 + -0.8049439787864685 + 0.3989729881286621 + <_> + + <_> + + + + <_>0 1 24 5 -1. + <_>8 1 8 5 3. + 0 + 0.1861550062894821 + -0.3165529966354370 + 0.6887729763984680 + <_> + + <_> + + + + <_>3 6 6 15 -1. + <_>3 11 6 5 3. + 0 + 0.0318609997630119 + -0.6426619887351990 + 0.2555089890956879 + <_> + + <_> + + + + <_>9 6 6 9 -1. + <_>11 6 2 9 3. + 0 + 0.0140220001339912 + -0.4592660069465637 + 0.3117119967937470 + <_> + + <_> + + + + <_>0 17 18 3 -1. + <_>0 18 18 1 3. + 0 + -6.3029997982084751e-003 + 0.4602690041065216 + -0.2743850052356720 + <_> + + <_> + + + + <_>6 22 18 2 -1. + <_>6 23 18 1 2. + 0 + -5.4310001432895660e-003 + 0.3660860061645508 + -0.2720580101013184 + <_> + + <_> + + + + <_>2 12 6 9 -1. + <_>2 15 6 3 3. + 0 + 0.0168229993432760 + 0.0234769992530346 + -0.8844379782676697 + <_> + + <_> + + + + <_>18 12 6 9 -1. + <_>18 15 6 3 3. + 0 + 0.0260390006005764 + 0.1748879998922348 + -0.5456470251083374 + <_> + + <_> + + + + <_>0 12 6 9 -1. + <_>0 15 6 3 3. + 0 + -0.0267200004309416 + -0.9639649987220764 + 0.0235249996185303 + <_> + + <_> + + + + <_>11 14 4 10 -1. + <_>11 19 4 5 2. + 0 + -0.0170419998466969 + -0.7084879875183106 + 0.2146809995174408 + <_> + + <_> + + + + <_>9 6 6 16 -1. + <_>9 14 6 8 2. + 0 + 5.9569999575614929e-003 + 0.0736010000109673 + -0.6822559833526611 + <_> + + <_> + + + + <_>7 7 10 10 -1. + <_>7 12 10 5 2. + 0 + -2.8679999522864819e-003 + -0.7493500113487244 + 0.2380339950323105 + <_> + + <_> + + + + <_>1 3 6 13 -1. + <_>3 3 2 13 3. + 0 + -0.0437749996781349 + 0.6832330226898193 + -0.2138029932975769 + <_> + + <_> + + + + <_>18 1 6 13 -1. + <_>18 1 3 13 2. + 0 + 0.0516330003738403 + -0.1256649941205978 + 0.6752380132675171 + <_> + + <_> + + + + <_>5 1 6 9 -1. + <_>7 1 2 9 3. + 0 + 8.1780003383755684e-003 + 0.0706899985671043 + -0.8066589832305908 + <_> + + <_> + + + + <_>18 2 6 11 -1. + <_>18 2 3 11 2. + 0 + -0.0528419986367226 + 0.9543390274047852 + 0.0165480002760887 + <_> + + <_> + + + + <_>0 2 6 11 -1. + <_>3 2 3 11 2. + 0 + 0.0525839999318123 + -0.2841440141201019 + 0.4712980091571808 + <_> + + <_> + + + + <_>9 12 15 6 -1. + <_>9 14 15 2 3. + 0 + -0.0126590002328157 + 0.3844540119171143 + -0.0622880011796951 + <_> + + <_> + + + + <_>2 2 20 3 -1. + <_>2 3 20 1 3. + 0 + 0.0116940001025796 + 5.6000000768108293e-005 + -1.0173139572143555 + <_> + + <_> + + + + <_>10 6 4 9 -1. + <_>10 6 2 9 2. + 0 + -0.0239189993590117 + 0.8492130041122437 + 5.7399999350309372e-003 + <_> + + <_> + + + + <_>5 6 12 14 -1. + <_>5 6 6 7 2. + <_>11 13 6 7 2. + 0 + -0.0616739988327026 + -0.9257140159606934 + -1.7679999582469463e-003 + <_> + + <_> + + + + <_>9 0 6 9 -1. + <_>11 0 2 9 3. + 0 + -1.8279999494552612e-003 + -0.5437229871749878 + 0.2493239939212799 + <_> + + <_> + + + + <_>7 0 9 6 -1. + <_>10 0 3 6 3. + 0 + 0.0352579988539219 + -7.3719997890293598e-003 + -0.9396399855613709 + <_> + + <_> + + + + <_>10 6 6 9 -1. + <_>12 6 2 9 3. + 0 + -0.0184380002319813 + 0.7213670015335083 + 0.0104919997975230 + <_> + + <_> + + + + <_>4 1 12 20 -1. + <_>4 1 6 10 2. + <_>10 11 6 10 2. + 0 + -0.0383890010416508 + 0.1927260011434555 + -0.3583210110664368 + <_> + + <_> + + + + <_>6 7 18 3 -1. + <_>6 7 9 3 2. + 0 + 0.0997209995985031 + 0.1135419979691505 + -1.6304190158843994 + <_> + + <_> + + + + <_>0 7 18 3 -1. + <_>9 7 9 3 2. + 0 + 0.0844620019197464 + -0.0534209981560707 + -1.6981120109558105 + <_> + + <_> + + + + <_>3 20 18 3 -1. + <_>9 20 6 3 3. + 0 + 0.0402700006961823 + -0.1078319996595383 + 0.5192660093307495 + <_> + + <_> + + + + <_>9 6 6 9 -1. + <_>11 6 2 9 3. + 0 + 0.0589359998703003 + -0.1805370002985001 + 0.9511979818344116 + <_> + + <_> + + + + <_>6 2 12 15 -1. + <_>10 2 4 15 3. + 0 + 0.1495700031518936 + 0.1678529977798462 + -1.1591869592666626 + <_> + + <_> + + + + <_>2 3 18 3 -1. + <_>2 4 18 1 3. + 0 + 6.9399998756125569e-004 + 0.2049140036106110 + -0.3311820030212402 + <_> + + <_> + + + + <_>19 4 4 18 -1. + <_>21 4 2 9 2. + <_>19 13 2 9 2. + 0 + -0.0333690010011196 + 0.9346809983253479 + -2.9639999847859144e-003 + <_> + + <_> + + + + <_>0 1 19 3 -1. + <_>0 2 19 1 3. + 0 + 9.3759996816515923e-003 + 3.7000000011175871e-003 + -0.7754979729652405 + <_> + + <_> + + + + <_>5 0 15 4 -1. + <_>5 2 15 2 2. + 0 + 0.0431939996778965 + -2.2040000185370445e-003 + 0.7458969950675964 + <_> + + <_> + + + + <_>5 2 14 5 -1. + <_>12 2 7 5 2. + 0 + -0.0675550028681755 + 0.7229210138320923 + -0.1840420067310333 + <_> + + <_> + + + + <_>1 2 22 14 -1. + <_>1 2 11 14 2. + 0 + -0.3116860091686249 + 1.0014270544052124 + 0.0340030007064343 + <_> + + <_> + + + + <_>8 15 6 9 -1. + <_>10 15 2 9 3. + 0 + 0.0297439992427826 + -0.0463560000061989 + -1.2781809568405151 + <_> + + <_> + + + + <_>6 17 18 3 -1. + <_>6 18 18 1 3. + 0 + 0.0107370000332594 + 0.0148120000958443 + 0.6664999723434448 + <_> + + <_> + + + + <_>9 6 3 18 -1. + <_>9 12 3 6 3. + 0 + -0.0288410000503063 + -0.9422259926795960 + -0.0207969993352890 + <_> + + <_> + + + + <_>2 0 20 3 -1. + <_>2 1 20 1 3. + 0 + -5.7649998925626278e-003 + -0.4354189932346344 + 0.2338600009679794 + <_> + + <_> + + + + <_>5 4 5 12 -1. + <_>5 8 5 4 3. + 0 + 0.0284109991043806 + -0.1761579960584641 + 0.8576530218124390 + <_> + + <_> + + + + <_>8 6 12 5 -1. + <_>12 6 4 5 3. + 0 + -0.0290079992264509 + 0.5797809958457947 + 0.0285659991204739 + <_> + + <_> + + + + <_>9 12 6 12 -1. + <_>9 12 3 6 2. + <_>12 18 3 6 2. + 0 + 0.0249659996479750 + -0.0227290000766516 + -0.9677309989929199 + <_> + + <_> + + + + <_>14 14 8 10 -1. + <_>18 14 4 5 2. + <_>14 19 4 5 2. + 0 + 0.0120360003784299 + -0.1421470046043396 + 0.5168799757957459 + <_> + + <_> + + + + <_>2 14 8 10 -1. + <_>2 14 4 5 2. + <_>6 19 4 5 2. + 0 + -0.0425140000879765 + 0.9727380275726318 + -0.1811980009078980 + <_> + + <_> + + + + <_>10 18 12 6 -1. + <_>16 18 6 3 2. + <_>10 21 6 3 2. + 0 + 0.0102760000154376 + -0.0830999985337257 + 0.3176279962062836 + <_> + + <_> + + + + <_>1 3 6 9 -1. + <_>1 6 6 3 3. + 0 + -0.0691919997334480 + -2.0668580532073975 + -0.0601739995181561 + <_> + + <_> + + + + <_>11 3 3 20 -1. + <_>12 3 1 20 3. + 0 + -4.6769999898970127e-003 + 0.4413180053234100 + 0.0232090000063181 + <_> + + <_> + + + + <_>4 6 14 6 -1. + <_>4 6 7 3 2. + <_>11 9 7 3 2. + 0 + -0.0139239998534322 + 0.2860670089721680 + -0.2915270030498505 + <_> + + <_> + + + + <_>6 5 12 13 -1. + <_>10 5 4 13 3. + 0 + -0.0153339998796582 + -0.5741450190544128 + 0.2306330054998398 + <_> + + <_> + + + + <_>5 4 4 15 -1. + <_>5 9 4 5 3. + 0 + -0.0102390004321933 + 0.3447920083999634 + -0.2608039975166321 + <_> + + <_> + + + + <_>9 16 15 4 -1. + <_>14 16 5 4 3. + 0 + -0.0509889982640743 + 0.5615410208702087 + 0.0612189993262291 + <_> + + <_> + + + + <_>7 8 6 14 -1. + <_>7 8 3 7 2. + <_>10 15 3 7 2. + 0 + 0.0306899994611740 + -0.1477279961109161 + 1.6378489732742310 + <_> + + <_> + + + + <_>7 6 10 6 -1. + <_>7 8 10 2 3. + 0 + -0.0112239997833967 + 0.2400619983673096 + -0.4486489892005920 + <_> + + <_> + + + + <_>2 5 18 3 -1. + <_>2 6 18 1 3. + 0 + -6.2899999320507050e-003 + 0.4311949908733368 + -0.2380899935960770 + <_> + + <_> + + + + <_>5 1 15 8 -1. + <_>5 5 15 4 2. + 0 + 0.0785909965634346 + 0.0198650006204844 + 0.8085380196571350 + <_> + + <_> + + + + <_>7 1 8 18 -1. + <_>7 10 8 9 2. + 0 + -0.0101789999753237 + 0.1819320023059845 + -0.3287779986858368 + <_> + + <_> + + + + <_>0 10 24 3 -1. + <_>0 11 24 1 3. + 0 + 0.0312270000576973 + 0.1497389972209930 + -1.4180339574813843 + <_> + + <_> + + + + <_>0 2 6 13 -1. + <_>2 2 2 13 3. + 0 + 0.0401969999074936 + -0.1976049989461899 + 0.5850819945335388 + <_> + + <_> + + + + <_>16 0 8 10 -1. + <_>20 0 4 5 2. + <_>16 5 4 5 2. + 0 + 0.0161380004137754 + 5.0000002374872565e-004 + 0.3905000090599060 + <_> + + <_> + + + + <_>5 1 10 9 -1. + <_>5 4 10 3 3. + 0 + -0.0455190017819405 + 1.2646820545196533 + -0.1563259959220886 + <_> + + <_> + + + + <_>5 6 18 3 -1. + <_>5 7 18 1 3. + 0 + -0.0181300006806850 + 0.6514850258827210 + 0.0102359997108579 + <_> + + <_> + + + + <_>0 1 24 3 -1. + <_>0 2 24 1 3. + 0 + -0.0140019999817014 + -1.0344820022583008 + -0.0321829989552498 + <_> + + <_> + + + + <_>11 4 6 11 -1. + <_>13 4 2 11 3. + 0 + -0.0388160012662411 + -0.4787429869174957 + 0.1629070043563843 + <_> + + <_> + + + + <_>0 0 8 10 -1. + <_>0 0 4 5 2. + <_>4 5 4 5 2. + 0 + 0.0316560007631779 + -0.2098339945077896 + 0.5457590222358704 + <_> + + <_> + + + + <_>4 16 18 3 -1. + <_>4 17 18 1 3. + 0 + -0.0108399996533990 + 0.5189880132675171 + -0.0150800002738833 + <_> + + <_> + + + + <_>2 16 18 3 -1. + <_>2 17 18 1 3. + 0 + 0.0120329996570945 + -0.2110760062932968 + 0.7593700289726257 + <_> + + <_> + + + + <_>3 0 18 10 -1. + <_>12 0 9 5 2. + <_>3 5 9 5 2. + 0 + 0.0707729980349541 + 0.1804880052804947 + -0.7404850125312805 + <_> + + <_> + + + + <_>2 3 20 21 -1. + <_>12 3 10 21 2. + 0 + 0.5313979983329773 + -0.1449169963598251 + 1.5360039472579956 + <_> + + <_> + + + + <_>6 7 14 3 -1. + <_>6 7 7 3 2. + 0 + -0.0147740002721548 + -0.2815369963645935 + 0.2040729969739914 + <_> + + <_> + + + + <_>0 9 12 6 -1. + <_>0 9 6 3 2. + <_>6 12 6 3 2. + 0 + -2.2410000674426556e-003 + -0.4487630128860474 + 0.0539890006184578 + <_> + + <_> + + + + <_>3 14 21 4 -1. + <_>10 14 7 4 3. + 0 + 0.0499680005013943 + 0.0415140017867088 + 0.2941710054874420 + <_> + + <_> + + + + <_>0 14 21 4 -1. + <_>7 14 7 4 3. + 0 + -0.0477019995450974 + 0.3967429995536804 + -0.2830179929733276 + <_> + + <_> + + + + <_>5 21 18 3 -1. + <_>11 21 6 3 3. + 0 + -0.0913110002875328 + 2.1994259357452393 + 0.0879649966955185 + <_> + + <_> + + + + <_>1 21 18 3 -1. + <_>7 21 6 3 3. + 0 + 0.0380700007081032 + -0.2802560031414032 + 0.2515619993209839 + <_> + + <_> + + + + <_>19 4 4 18 -1. + <_>21 4 2 9 2. + <_>19 13 2 9 2. + 0 + -0.0155389998108149 + 0.3415749967098236 + 0.0179249998182058 + <_> + + <_> + + + + <_>3 7 18 3 -1. + <_>3 8 18 1 3. + 0 + -0.0154459998011589 + 0.2868019938468933 + -0.2513589859008789 + <_> + + <_> + + + + <_>19 4 4 18 -1. + <_>21 4 2 9 2. + <_>19 13 2 9 2. + 0 + -0.0573880001902580 + 0.6383000016212463 + 0.0885979980230331 + <_> + + <_> + + + + <_>7 15 10 6 -1. + <_>7 17 10 2 3. + 0 + -5.9440000914037228e-003 + 0.0790169984102249 + -0.4077489972114563 + <_> + + <_> + + + + <_>9 13 11 9 -1. + <_>9 16 11 3 3. + 0 + -0.0699689984321594 + -0.4464420080184937 + 0.1721960008144379 + <_> + + <_> + + + + <_>0 6 4 10 -1. + <_>0 11 4 5 2. + 0 + -0.0250649992376566 + -0.9827020168304443 + -0.0353880003094673 + <_> + + <_> + + + + <_>15 16 9 6 -1. + <_>15 18 9 2 3. + 0 + 0.0172160007059574 + 0.2270590066909790 + -0.8055009841918945 + <_> + + <_> + + + + <_>1 5 4 18 -1. + <_>1 5 2 9 2. + <_>3 14 2 9 2. + 0 + -0.0442790016531944 + 0.8395199775695801 + -0.1742960065603256 + <_> + + <_> + + + + <_>9 8 8 10 -1. + <_>13 8 4 5 2. + <_>9 13 4 5 2. + 0 + 0.0439889989793301 + 0.1155719980597496 + -1.9666889905929565 + <_> + + <_> + + + + <_>7 8 8 10 -1. + <_>7 8 4 5 2. + <_>11 13 4 5 2. + 0 + 0.0159070007503033 + -0.0375760011374950 + -1.0311100482940674 + <_> + + <_> + + + + <_>9 8 12 5 -1. + <_>13 8 4 5 3. + 0 + -0.0927549973130226 + -1.3530019521713257 + 0.1214129999279976 + <_> + + <_> + + + + <_>7 8 9 7 -1. + <_>10 8 3 7 3. + 0 + 0.0710370019078255 + -0.1768430024385452 + 0.7448520064353943 + <_> + + <_> + + + + <_>9 8 12 5 -1. + <_>13 8 4 5 3. + 0 + 0.0577620007097721 + 0.1283559948205948 + -0.4444420039653778 + <_> + + <_> + + + + <_>7 6 9 7 -1. + <_>10 6 3 7 3. + 0 + -0.0164320003241301 + 0.8015270233154297 + -0.1749169975519180 + <_> + + <_> + + + + <_>9 8 12 5 -1. + <_>13 8 4 5 3. + 0 + 0.0239390004426241 + 0.1614499986171722 + -0.1236450001597405 + <_> + + <_> + + + + <_>10 5 4 18 -1. + <_>10 11 4 6 3. + 0 + 0.0126360002905130 + 0.1541199982166290 + -0.3329379856586456 + <_> + + <_> + + + + <_>5 5 14 12 -1. + <_>5 11 14 6 2. + 0 + -0.0543479993939400 + -1.8400700092315674 + 0.1483599990606308 + <_> + + <_> + + + + <_>0 1 11 4 -1. + <_>0 3 11 2 2. + 0 + -0.0132619999349117 + -0.8083879947662354 + -0.0277260001748800 + <_> + + <_> + + + + <_>9 10 6 10 -1. + <_>11 10 2 10 3. + 0 + 6.1340001411736012e-003 + -0.1378500014543533 + 0.3285849988460541 + <_> + + <_> + + + + <_>2 17 11 6 -1. + <_>2 19 11 2 3. + 0 + 0.0289910007268190 + -0.0255169998854399 + -0.8338720202445984 + <_> + + <_> + + + + <_>15 16 9 6 -1. + <_>15 18 9 2 3. + 0 + -0.0219860002398491 + -0.7373999953269959 + 0.1788710057735443 + <_> + + <_> + + + + <_>1 10 18 2 -1. + <_>1 11 18 1 2. + 0 + 5.3269998170435429e-003 + -0.4544929862022400 + 0.0687910020351410 + <_> + + <_> + + + + <_>6 4 12 13 -1. + <_>10 4 4 13 3. + 0 + 0.0860479995608330 + 0.2100850045681000 + -0.3780890107154846 + <_> + + <_> + + + + <_>0 18 18 3 -1. + <_>0 19 18 1 3. + 0 + -8.5549997165799141e-003 + 0.4013499915599823 + -0.2107409983873367 + <_> + + <_> + + + + <_>6 18 18 3 -1. + <_>6 19 18 1 3. + 0 + 6.7790001630783081e-003 + -0.0216489993035793 + 0.4542149901390076 + <_> + + <_> + + + + <_>0 16 9 6 -1. + <_>0 18 9 2 3. + 0 + -6.3959998078644276e-003 + -0.4981859922409058 + 0.0759079977869987 + <_> + + <_> + + + + <_>13 15 9 6 -1. + <_>13 17 9 2 3. + 0 + 8.9469999074935913e-003 + 0.1785770058631897 + -0.2845489978790283 + <_> + + <_> + + + + <_>2 15 9 6 -1. + <_>2 17 9 2 3. + 0 + 3.2589999027550220e-003 + 0.0466249994933605 + -0.5520629882812500 + <_> + + <_> + + + + <_>13 1 6 16 -1. + <_>13 1 3 16 2. + 0 + 0.0414769984781742 + 0.1755049973726273 + -0.2070399969816208 + <_> + + <_> + + + + <_>5 1 6 16 -1. + <_>8 1 3 16 2. + 0 + -6.7449999041855335e-003 + -0.4639259874820709 + 0.0693039968609810 + <_> + + <_> + + + + <_>11 5 6 10 -1. + <_>13 5 2 10 3. + 0 + 0.0305649992078543 + 0.0517349988222122 + 0.7555050253868103 + <_> + + <_> + + + + <_>7 5 6 10 -1. + <_>9 5 2 10 3. + 0 + -7.4780001305043697e-003 + 0.1489389985799789 + -0.3190680146217346 + <_> + + <_> + + + + <_>10 0 6 24 -1. + <_>12 0 2 24 3. + 0 + 0.0890889987349510 + 0.1373880058526993 + -1.1379710435867310 + <_> + + <_> + + + + <_>3 4 4 20 -1. + <_>3 4 2 10 2. + <_>5 14 2 10 2. + 0 + 7.3230001144111156e-003 + -0.2882919907569885 + 0.1908860057592392 + <_> + + <_> + + + + <_>14 0 6 9 -1. + <_>16 0 2 9 3. + 0 + -0.0182050000876188 + -0.3017860054969788 + 0.1679580062627792 + <_> + + <_> + + + + <_>4 0 6 9 -1. + <_>6 0 2 9 3. + 0 + -0.0258280001580715 + -0.9813799858093262 + -0.0198609996587038 + <_> + + <_> + + + + <_>4 5 18 5 -1. + <_>10 5 6 5 3. + 0 + 0.1093619987368584 + 0.0487900003790855 + 0.5311830043792725 + <_> + + <_> + + + + <_>5 6 6 9 -1. + <_>7 6 2 9 3. + 0 + -0.0114249996840954 + 0.2370599955320358 + -0.2792530059814453 + <_> + + <_> + + + + <_>7 2 15 8 -1. + <_>12 2 5 8 3. + 0 + -0.0575659982860088 + 0.4725539982318878 + 0.0651710033416748 + <_> + + <_> + + + + <_>2 2 15 8 -1. + <_>7 2 5 8 3. + 0 + 0.1027830019593239 + -0.2076510041952133 + 0.5094770193099976 + <_> + + <_> + + + + <_>10 0 4 9 -1. + <_>10 0 2 9 2. + 0 + 0.0270419996231794 + 0.1642120033502579 + -1.4508620500564575 + <_> + + <_> + + + + <_>3 4 6 12 -1. + <_>3 4 3 6 2. + <_>6 10 3 6 2. + 0 + -0.0136350002139807 + -0.5654389858245850 + 0.0237889997661114 + <_> + + <_> + + + + <_>16 0 8 18 -1. + <_>16 0 4 18 2. + 0 + -0.3215819895267487 + -3.5602829456329346 + 0.1180130019783974 + <_> + + <_> + + + + <_>0 0 8 18 -1. + <_>4 0 4 18 2. + 0 + 0.2045810073614121 + -0.0370160005986691 + -1.0225499868392944 + <_> + + <_> + + + + <_>0 7 24 6 -1. + <_>0 9 24 2 3. + 0 + -0.0703470036387444 + -0.5649189949035645 + 0.1852519959211350 + <_> + + <_> + + + + <_>4 7 14 3 -1. + <_>11 7 7 3 2. + 0 + 0.0378310009837151 + -0.0299019999802113 + -0.8292149901390076 + <_> + + <_> + + + + <_>10 8 8 15 -1. + <_>10 8 4 15 2. + 0 + -0.0702980011701584 + -0.5317230224609375 + 0.1443019956350327 + <_> + + <_> + + + + <_>7 0 10 14 -1. + <_>12 0 5 14 2. + 0 + 0.0632210001349449 + -0.2204120010137558 + 0.4795219898223877 + <_> + + <_> + + + + <_>13 10 8 10 -1. + <_>17 10 4 5 2. + <_>13 15 4 5 2. + 0 + 0.0363930016756058 + 0.1422269940376282 + -0.6119390130043030 + <_> + + <_> + + + + <_>3 0 4 9 -1. + <_>5 0 2 9 2. + 0 + 4.0099998004734516e-003 + -0.3456079959869385 + 0.1173869967460632 + <_> + + <_> + + + + <_>16 1 6 8 -1. + <_>16 1 3 8 2. + 0 + -0.0491060018539429 + 0.9598410129547119 + 0.0649349987506866 + <_> + + <_> + + + + <_>2 1 6 8 -1. + <_>5 1 3 8 2. + 0 + -0.0715830028057098 + 1.7385669946670532 + -0.1425289958715439 + <_> + + <_> + + + + <_>3 6 18 12 -1. + <_>3 10 18 4 3. + 0 + -0.0380089990794659 + 1.3872820138931274 + 0.0661880001425743 + <_> + + <_> + + + + <_>4 12 16 4 -1. + <_>4 14 16 2 2. + 0 + -3.1570000573992729e-003 + 0.0536770001053810 + -0.5404800176620483 + <_> + + <_> + + + + <_>4 9 16 15 -1. + <_>4 14 16 5 3. + 0 + 0.0194589998573065 + -0.0936200022697449 + 0.3913100063800812 + <_> + + <_> + + + + <_>3 10 8 10 -1. + <_>3 10 4 5 2. + <_>7 15 4 5 2. + 0 + 0.0112939998507500 + 0.0372239984571934 + -0.5425180196762085 + <_> + + <_> + + + + <_>8 18 16 6 -1. + <_>16 18 8 3 2. + <_>8 21 8 3 2. + 0 + -0.0334950014948845 + 0.9530789852142334 + 0.0376969985663891 + <_> + + <_> + + + + <_>2 16 12 5 -1. + <_>6 16 4 5 3. + 0 + 0.0920350030064583 + -0.1348839998245239 + 2.2897069454193115 + <_> + + <_> + + + + <_>14 14 9 4 -1. + <_>14 16 9 2 2. + 0 + 3.7529999390244484e-003 + 0.2282419949769974 + -0.5998370051383972 + <_> + + <_> + + + + <_>7 14 9 6 -1. + <_>7 16 9 2 3. + 0 + 0.0128480000421405 + -0.2200520038604736 + 0.3722189962863922 + <_> + + <_> + + + + <_>4 10 16 12 -1. + <_>4 14 16 4 3. + 0 + -0.1431619971990585 + 1.2855789661407471 + 0.0472370013594627 + <_> + + <_> + + + + <_>0 13 19 6 -1. + <_>0 15 19 2 3. + 0 + -0.0968799963593483 + -3.9550929069519043 + -0.0729039981961250 + <_> + + <_> + + + + <_>10 13 9 6 -1. + <_>10 15 9 2 3. + 0 + -8.8459998369216919e-003 + 0.3767499923706055 + -0.0464840009808540 + <_> + + <_> + + + + <_>5 0 3 23 -1. + <_>6 0 1 23 3. + 0 + 0.0159000009298325 + -0.0244570001959801 + -0.8003479838371277 + <_> + + <_> + + + + <_>0 8 24 6 -1. + <_>0 10 24 2 3. + 0 + 0.0703720003366470 + 0.1701900064945221 + -0.6306899785995483 + <_> + + <_> + + + + <_>0 5 5 12 -1. + <_>0 9 5 4 3. + 0 + -0.0379539988934994 + -0.9366719722747803 + -0.0412140004336834 + <_> + + <_> + + + + <_>3 0 19 18 -1. + <_>3 9 19 9 2. + 0 + 0.5159789919853210 + 0.1308059990406036 + -1.5802290439605713 + <_> + + <_> + + + + <_>9 11 6 12 -1. + <_>9 11 3 6 2. + <_>12 17 3 6 2. + 0 + -0.0328430011868477 + -1.1441620588302612 + -0.0491739995777607 + <_> + + <_> + + + + <_>0 5 24 8 -1. + <_>12 5 12 4 2. + <_>0 9 12 4 2. + 0 + -0.0363570004701614 + 0.4960640072822571 + -0.0344589985907078 + <_> + + <_> + + + + <_>6 18 9 4 -1. + <_>6 20 9 2 2. + 0 + 6.8080001510679722e-003 + -0.3099780082702637 + 0.1705480068922043 + <_> + + <_> + + + + <_>8 8 10 6 -1. + <_>8 10 10 2 3. + 0 + -0.0161140002310276 + -0.3790459930896759 + 0.1607899963855743 + <_> + + <_> + + + + <_>2 7 20 3 -1. + <_>2 8 20 1 3. + 0 + 8.4530003368854523e-003 + -0.1865549981594086 + 0.5636770129203796 + <_> + + <_> + + + + <_>12 0 7 20 -1. + <_>12 10 7 10 2. + 0 + -0.1375239938497543 + -0.5898990035057068 + 0.1174950003623962 + <_> + + <_> + + + + <_>5 0 7 20 -1. + <_>5 10 7 10 2. + 0 + 0.1768800020217896 + -0.1542489975690842 + 0.9291110038757324 + <_> + + <_> + + + + <_>14 2 2 18 -1. + <_>14 11 2 9 2. + 0 + 7.9309996217489243e-003 + 0.3219070136547089 + -0.1639260053634644 + <_> + + <_> + + + + <_>5 8 10 12 -1. + <_>10 8 5 12 2. + 0 + 0.1097180023789406 + -0.1587650030851364 + 1.0186259746551514 + <_> + + <_> + + + + <_>6 9 12 8 -1. + <_>12 9 6 4 2. + <_>6 13 6 4 2. + 0 + -0.0302930008620024 + 0.7558730244636536 + 0.0317949987947941 + <_> + + <_> + + + + <_>7 7 3 14 -1. + <_>7 14 3 7 2. + 0 + -0.0231180004775524 + -0.8845149874687195 + -9.5039997249841690e-003 + <_> + + <_> + + + + <_>11 2 12 16 -1. + <_>17 2 6 8 2. + <_>11 10 6 8 2. + 0 + -3.0900000128895044e-003 + 0.2383829951286316 + -0.1160620003938675 + <_> + + <_> + + + + <_>7 0 6 9 -1. + <_>9 0 2 9 3. + 0 + -0.0333920009434223 + -1.8738139867782593 + -0.0685029998421669 + <_> + + <_> + + + + <_>13 14 9 4 -1. + <_>13 16 9 2 2. + 0 + 0.0131900003179908 + 0.1291989982128143 + -0.6751220226287842 + <_> + + <_> + + + + <_>0 12 22 4 -1. + <_>0 12 11 2 2. + <_>11 14 11 2 2. + 0 + 0.0146610001102090 + -0.0248290002346039 + -0.7439680099487305 + <_> + + <_> + + + + <_>1 12 22 6 -1. + <_>12 12 11 3 2. + <_>1 15 11 3 2. + 0 + -0.0132480002939701 + 0.4682019948959351 + -0.0241650007665157 + <_> + + <_> + + + + <_>6 6 9 6 -1. + <_>9 6 3 6 3. + 0 + -0.0162189994007349 + 0.4008379876613617 + -0.2125570029020309 + <_> + + <_> + + + + <_>10 0 4 9 -1. + <_>10 0 2 9 2. + 0 + -0.0290520004928112 + -1.5650019645690918 + 0.1437589973211289 + <_> + + <_> + + + + <_>3 8 18 7 -1. + <_>9 8 6 7 3. + 0 + -0.1015319973230362 + -1.9220689535140991 + -0.0695599988102913 + <_> + + <_> + + + + <_>0 6 24 6 -1. + <_>0 8 24 2 3. + 0 + 0.0377539992332459 + 0.1339679956436157 + -2.2639141082763672 + <_> + + <_> + + + + <_>0 11 24 10 -1. + <_>8 11 8 10 3. + 0 + -0.2855559885501862 + 1.0215270519256592 + -0.1523219943046570 + <_> + + <_> + + + + <_>3 3 18 21 -1. + <_>9 3 6 21 3. + 0 + 0.1536069959402084 + -0.0974090024828911 + 0.4166240096092224 + <_> + + <_> + + + + <_>7 12 4 10 -1. + <_>9 12 2 10 2. + 0 + -2.1199999901000410e-004 + 0.1127189993858337 + -0.4165399968624115 + <_> + + <_> + + + + <_>10 16 10 8 -1. + <_>15 16 5 4 2. + <_>10 20 5 4 2. + 0 + -0.0205979999154806 + 0.6054049730300903 + 0.0624679997563362 + <_> + + <_> + + + + <_>8 6 6 9 -1. + <_>10 6 2 9 3. + 0 + 0.0373539999127388 + -0.1891900002956390 + 0.4646469950675964 + <_> + + <_> + + + + <_>12 10 6 12 -1. + <_>15 10 3 6 2. + <_>12 16 3 6 2. + 0 + 0.0572750009596348 + 0.1156530007719994 + -1.3213009834289551 + <_> + + <_> + + + + <_>6 10 6 12 -1. + <_>6 10 3 6 2. + <_>9 16 3 6 2. + 0 + 5.1029999740421772e-003 + -0.2806150019168854 + 0.1931339949369431 + <_> + + <_> + + + + <_>16 12 6 12 -1. + <_>19 12 3 6 2. + <_>16 18 3 6 2. + 0 + -0.0546449981629848 + 0.7242850065231323 + 0.0754479989409447 + <_> + + <_> + + + + <_>2 12 6 12 -1. + <_>2 12 3 6 2. + <_>5 18 3 6 2. + 0 + 0.0253490004688501 + -0.1948180049657822 + 0.4603280127048492 + <_> + + <_> + + + + <_>10 15 6 9 -1. + <_>12 15 2 9 3. + 0 + 0.0243110004812479 + 0.1556410044431686 + -0.4991390109062195 + <_> + + <_> + + + + <_>8 15 6 9 -1. + <_>10 15 2 9 3. + 0 + 0.0359620004892349 + -0.0585730001330376 + -1.5418399572372437 + <_> + + <_> + + + + <_>14 20 10 4 -1. + <_>14 20 5 4 2. + 0 + -0.1000069975852966 + -1.6100039482116699 + 0.1145050004124641 + <_> + + <_> + + + + <_>0 20 10 4 -1. + <_>5 20 5 4 2. + 0 + 0.0844359993934631 + -0.0614069998264313 + -1.4673349857330322 + <_> + + <_> + + + + <_>11 17 9 6 -1. + <_>11 19 9 2 3. + 0 + 0.0159479994326830 + 0.1628790050745010 + -0.1102640032768250 + <_> + + <_> + + + + <_>3 2 14 4 -1. + <_>3 4 14 2 2. + 0 + 0.0338240005075932 + -0.1793269962072372 + 0.5721840262413025 + <_> + + <_> + + + + <_>10 1 10 4 -1. + <_>10 3 10 2 2. + 0 + -0.0619960017502308 + 4.6511812210083008 + 0.0945340022444725 + <_> + + <_> + + + + <_>0 15 10 4 -1. + <_>5 15 5 4 2. + 0 + 0.0698769986629486 + -0.1698590070009232 + 0.8702899813652039 + <_> + + <_> + + + + <_>19 2 3 19 -1. + <_>20 2 1 19 3. + 0 + -0.0279169995337725 + 0.9104250073432922 + 0.0568270012736321 + <_> + + <_> + + + + <_>4 12 9 8 -1. + <_>7 12 3 8 3. + 0 + -0.0127640003338456 + 0.2206670045852661 + -0.2776910066604614 + -3.3196411132812500 + 20 + -1 + <_> + + + <_> + + <_> + + + + <_>4 7 5 12 -1. + <_>4 11 5 4 3. + 0 + 0.0216620005667210 + -0.8986889719963074 + 0.2943629920482636 + <_> + + <_> + + + + <_>0 1 24 3 -1. + <_>8 1 8 3 3. + 0 + 0.1004450023174286 + -0.3765920102596283 + 0.6089100241661072 + <_> + + <_> + + + + <_>6 8 12 4 -1. + <_>6 10 12 2 2. + 0 + 0.0260039996355772 + -0.3812850117683411 + 0.3921740055084229 + <_> + + <_> + + + + <_>19 3 4 10 -1. + <_>19 3 2 10 2. + 0 + 0.0284410007297993 + -0.1818230003118515 + 0.5892720222473145 + <_> + + <_> + + + + <_>0 6 9 6 -1. + <_>3 6 3 6 3. + 0 + 0.0386120006442070 + -0.2239959985017777 + 0.6377999782562256 + <_> + + <_> + + + + <_>18 0 6 22 -1. + <_>20 0 2 22 3. + 0 + -0.0465949997305870 + 0.7081220149993897 + -0.1466619968414307 + <_> + + <_> + + + + <_>0 0 6 22 -1. + <_>2 0 2 22 3. + 0 + -0.0427919998764992 + 0.4768039882183075 + -0.2923319935798645 + <_> + + <_> + + + + <_>5 15 19 3 -1. + <_>5 16 19 1 3. + 0 + 3.7960000336170197e-003 + -0.1851029992103577 + 0.5262669920921326 + <_> + + <_> + + + + <_>10 7 4 15 -1. + <_>10 12 4 5 3. + 0 + 0.0423489995300770 + 0.0392449982464314 + -0.8919770121574402 + <_> + + <_> + + + + <_>9 6 6 9 -1. + <_>11 6 2 9 3. + 0 + 0.0195989999920130 + -0.2335840016603470 + 0.4414649903774262 + <_> + + <_> + + + + <_>0 21 18 3 -1. + <_>0 22 18 1 3. + 0 + 8.7400001939386129e-004 + -0.4606359899044037 + 0.1768960058689117 + <_> + + <_> + + + + <_>7 3 10 15 -1. + <_>7 8 10 5 3. + 0 + -4.3629999272525311e-003 + 0.3349319994449616 + -0.2989340126514435 + <_> + + <_> + + + + <_>1 7 18 3 -1. + <_>1 8 18 1 3. + 0 + 0.0169730000197887 + -0.1640869975090027 + 1.5993679761886597 + <_> + + <_> + + + + <_>8 2 9 6 -1. + <_>11 2 3 6 3. + 0 + 0.0360639989376068 + 0.2260169982910156 + -0.5318610072135925 + <_> + + <_> + + + + <_>0 10 24 14 -1. + <_>0 17 24 7 2. + 0 + -0.0708649978041649 + 0.1522050052881241 + -0.4191460013389587 + <_> + + <_> + + + + <_>13 9 8 10 -1. + <_>17 9 4 5 2. + <_>13 14 4 5 2. + 0 + -0.0630759969353676 + -1.4874019622802734 + 0.1295370012521744 + <_> + + <_> + + + + <_>10 5 4 9 -1. + <_>12 5 2 9 2. + 0 + 0.0296700000762939 + -0.1914590001106262 + 0.9818490147590637 + <_> + + <_> + + + + <_>13 9 8 10 -1. + <_>17 9 4 5 2. + <_>13 14 4 5 2. + 0 + 0.0378739982843399 + 0.1345950067043304 + -0.5631629824638367 + <_> + + <_> + + + + <_>7 11 10 10 -1. + <_>7 11 5 5 2. + <_>12 16 5 5 2. + 0 + -0.0332890003919601 + -1.0828030109405518 + -0.0115040000528097 + <_> + + <_> + + + + <_>4 13 18 4 -1. + <_>13 13 9 2 2. + <_>4 15 9 2 2. + 0 + -0.0316089987754822 + -0.5922449827194214 + 0.1339479982852936 + <_> + + <_> + + + + <_>0 0 19 2 -1. + <_>0 1 19 1 2. + 0 + 1.0740000288933516e-003 + -0.4918580055236816 + 0.0944460034370422 + <_> + + <_> + + + + <_>0 18 24 6 -1. + <_>8 18 8 6 3. + 0 + -0.0715560019016266 + 0.5971019864082336 + -0.0395530015230179 + <_> + + <_> + + + + <_>6 4 8 16 -1. + <_>6 12 8 8 2. + 0 + -0.0811700001358986 + -1.1817820072174072 + -0.0282540004700422 + <_> + + <_> + + + + <_>7 8 10 4 -1. + <_>7 10 10 2 2. + 0 + 4.4860001653432846e-003 + -0.6102809906005859 + 0.2261909991502762 + <_> + + <_> + + + + <_>0 3 6 9 -1. + <_>0 6 6 3 3. + 0 + -0.0421760007739067 + -1.1435619592666626 + -0.0290019996464252 + <_> + + <_> + + + + <_>13 15 7 9 -1. + <_>13 18 7 3 3. + 0 + -0.0656400024890900 + -1.6470279693603516 + 0.1281030029058456 + <_> + + <_> + + + + <_>3 18 12 6 -1. + <_>3 18 6 3 2. + <_>9 21 6 3 2. + 0 + 0.0181889999657869 + -0.3114939928054810 + 0.2573960125446320 + <_> + + <_> + + + + <_>12 14 6 9 -1. + <_>12 17 6 3 3. + 0 + -0.0515200011432171 + -0.6920689940452576 + 0.1527079939842224 + <_> + + <_> + + + + <_>2 15 15 8 -1. + <_>2 19 15 4 2. + 0 + -0.0471509993076324 + -0.7186830043792725 + 2.6879999786615372e-003 + <_> + + <_> + + + + <_>9 6 6 16 -1. + <_>9 14 6 8 2. + 0 + 0.0174889992922544 + 0.2237119972705841 + -0.5538179874420166 + <_> + + <_> + + + + <_>6 6 7 12 -1. + <_>6 10 7 4 3. + 0 + -0.0252640005201101 + 1.0319819450378418 + -0.1749649941921234 + <_> + + <_> + + + + <_>14 6 6 9 -1. + <_>14 9 6 3 3. + 0 + -0.0407450012862682 + 0.4496159851551056 + 0.0393490009009838 + <_> + + <_> + + + + <_>5 14 6 9 -1. + <_>5 17 6 3 3. + 0 + -0.0376669988036156 + -0.8547570109367371 + -0.0124639999121428 + <_> + + <_> + + + + <_>10 8 6 9 -1. + <_>12 8 2 9 3. + 0 + -0.0134110003709793 + 0.5784559845924377 + -0.0174679998308420 + <_> + + <_> + + + + <_>6 6 4 18 -1. + <_>6 6 2 9 2. + <_>8 15 2 9 2. + 0 + -7.8999997640494257e-005 + -0.3774920105934143 + 0.1396179944276810 + <_> + + <_> + + + + <_>14 9 6 12 -1. + <_>17 9 3 6 2. + <_>14 15 3 6 2. + 0 + -0.0114150000736117 + -0.2618660032749176 + 0.2371249943971634 + <_> + + <_> + + + + <_>4 9 6 12 -1. + <_>4 9 3 6 2. + <_>7 15 3 6 2. + 0 + 0.0372000001370907 + -0.0286260005086660 + -1.2945239543914795 + <_> + + <_> + + + + <_>14 15 9 6 -1. + <_>14 17 9 2 3. + 0 + 3.4050000831484795e-003 + 0.2053139954805374 + -0.1874749958515167 + <_> + + <_> + + + + <_>0 20 18 4 -1. + <_>0 20 9 2 2. + <_>9 22 9 2 2. + 0 + -0.0224830005317926 + 0.6702719926834106 + -0.1959400027990341 + <_> + + <_> + + + + <_>13 18 9 6 -1. + <_>13 20 9 2 3. + 0 + 0.0232749991118908 + 0.1740539968013763 + -0.3274630010128021 + <_> + + <_> + + + + <_>2 18 9 6 -1. + <_>2 20 9 2 3. + 0 + -0.0139170000329614 + -0.8395429849624634 + -6.3760001212358475e-003 + <_> + + <_> + + + + <_>6 16 18 3 -1. + <_>6 17 18 1 3. + 0 + 7.5429999269545078e-003 + -0.0341949984431267 + 0.5899819731712341 + <_> + + <_> + + + + <_>0 16 18 3 -1. + <_>0 17 18 1 3. + 0 + -0.0115390000864863 + 0.4214279949665070 + -0.2351049929857254 + <_> + + <_> + + + + <_>19 2 4 22 -1. + <_>21 2 2 11 2. + <_>19 13 2 11 2. + 0 + 0.0525019988417625 + 0.0693039968609810 + 0.7322649955749512 + <_> + + <_> + + + + <_>1 2 4 22 -1. + <_>1 2 2 11 2. + <_>3 13 2 11 2. + 0 + 0.0527159981429577 + -0.1568810045719147 + 1.0907289981842041 + <_> + + <_> + + + + <_>15 0 2 24 -1. + <_>15 0 1 24 2. + 0 + -0.0117260003462434 + -0.7093430161476135 + 0.1682880073785782 + <_> + + <_> + + + + <_>3 20 16 4 -1. + <_>11 20 8 4 2. + 0 + 0.0959459990262985 + -0.1619289964437485 + 1.0072519779205322 + <_> + + <_> + + + + <_>11 6 4 18 -1. + <_>13 6 2 9 2. + <_>11 15 2 9 2. + 0 + -0.0158719997853041 + 0.3900839984416962 + -0.0537770017981529 + <_> + + <_> + + + + <_>7 9 10 14 -1. + <_>7 9 5 7 2. + <_>12 16 5 7 2. + 0 + 0.0348180010914803 + 0.0171799995005131 + -0.9394180178642273 + <_> + + <_> + + + + <_>14 6 6 9 -1. + <_>14 9 6 3 3. + 0 + 0.0347919985651970 + 0.0504629984498024 + 0.5446569919586182 + <_> + + <_> + + + + <_>3 6 7 9 -1. + <_>3 9 7 3 3. + 0 + 0.0162840001285076 + -0.2698130011558533 + 0.4036529958248138 + <_> + + <_> + + + + <_>20 4 4 20 -1. + <_>22 4 2 10 2. + <_>20 14 2 10 2. + 0 + -0.0443190000951290 + 0.8439999818801880 + 0.0328829996287823 + <_> + + <_> + + + + <_>7 6 6 9 -1. + <_>7 9 6 3 3. + 0 + -5.5689997971057892e-003 + 0.1530939936637878 + -0.3495979905128479 + <_> + + <_> + + + + <_>7 0 10 14 -1. + <_>12 0 5 7 2. + <_>7 7 5 7 2. + 0 + -0.0658420026302338 + -0.9271119832992554 + 0.1680099964141846 + <_> + + <_> + + + + <_>2 1 18 6 -1. + <_>11 1 9 6 2. + 0 + -0.0733370035886765 + 0.5161449909210205 + -0.2023600041866303 + <_> + + <_> + + + + <_>15 0 2 24 -1. + <_>15 0 1 24 2. + 0 + 0.0164500009268522 + 0.1395059973001480 + -0.4930129945278168 + <_> + + <_> + + + + <_>7 0 2 24 -1. + <_>8 0 1 24 2. + 0 + -9.2630004510283470e-003 + -0.9010199904441834 + -0.0161160007119179 + <_> + + <_> + + + + <_>13 12 6 7 -1. + <_>13 12 3 7 2. + 0 + 5.9139998629689217e-003 + 0.1985819935798645 + -0.1673129945993424 + <_> + + <_> + + + + <_>5 12 6 7 -1. + <_>8 12 3 7 2. + 0 + -8.4699998842552304e-004 + 0.0940050035715103 + -0.4157089889049530 + <_> + + <_> + + + + <_>3 5 18 19 -1. + <_>9 5 6 19 3. + 0 + 0.2053290009498596 + -0.0600220002233982 + 0.7099360227584839 + <_> + + <_> + + + + <_>5 6 9 6 -1. + <_>8 6 3 6 3. + 0 + -0.0168830007314682 + 0.2439219951629639 + -0.3055180013179779 + <_> + + <_> + + + + <_>9 5 9 6 -1. + <_>12 5 3 6 3. + 0 + -0.0191110000014305 + 0.6122990250587463 + 0.0242529995739460 + <_> + + <_> + + + + <_>3 16 10 8 -1. + <_>3 16 5 4 2. + <_>8 20 5 4 2. + 0 + -0.0259629990905523 + 0.9076499938964844 + -0.1672209948301315 + <_> + + <_> + + + + <_>19 8 5 15 -1. + <_>19 13 5 5 3. + 0 + -0.0217620003968477 + -0.3138470053672791 + 0.2013459950685501 + <_> + + <_> + + + + <_>0 8 5 15 -1. + <_>0 13 5 5 3. + 0 + -0.0241199992597103 + -0.6658840179443359 + 7.4559999629855156e-003 + <_> + + <_> + + + + <_>20 4 4 20 -1. + <_>22 4 2 10 2. + <_>20 14 2 10 2. + 0 + 0.0471299998462200 + 0.0595339983701706 + 0.8780450224876404 + <_> + + <_> + + + + <_>0 4 4 20 -1. + <_>0 4 2 10 2. + <_>2 14 2 10 2. + 0 + -0.0459849983453751 + 0.8006799817085266 + -0.1725230067968369 + <_> + + <_> + + + + <_>7 7 10 4 -1. + <_>7 7 5 4 2. + 0 + 0.0265079997479916 + 0.1877409964799881 + -0.6085060238838196 + <_> + + <_> + + + + <_>4 19 14 4 -1. + <_>11 19 7 4 2. + 0 + -0.0486150011420250 + 0.5864409804344177 + -0.1942770034074783 + <_> + + <_> + + + + <_>10 11 12 3 -1. + <_>10 11 6 3 2. + 0 + -0.0185620002448559 + -0.2558790147304535 + 0.1632619947195053 + <_> + + <_> + + + + <_>0 1 24 3 -1. + <_>0 2 24 1 3. + 0 + 0.0126780001446605 + -0.0142280003055930 + -0.7673810124397278 + <_> + + <_> + + + + <_>7 2 14 20 -1. + <_>14 2 7 10 2. + <_>7 12 7 10 2. + 0 + -1.1919999960809946e-003 + 0.2049500048160553 + -0.1140429973602295 + <_> + + <_> + + + + <_>0 13 6 9 -1. + <_>2 13 2 9 3. + 0 + -0.0490889996290207 + -1.0740849971771240 + -0.0389409996569157 + <_> + + <_> + + + + <_>13 0 4 19 -1. + <_>13 0 2 19 2. + 0 + -0.0174369998276234 + -0.5797380208969116 + 0.1858450025320053 + <_> + + <_> + + + + <_>1 11 14 3 -1. + <_>8 11 7 3 2. + 0 + -0.0147700002416968 + -0.6615030169487000 + 5.3119999356567860e-003 + <_> + + <_> + + + + <_>7 1 16 20 -1. + <_>15 1 8 10 2. + <_>7 11 8 10 2. + 0 + -0.2290520071983337 + -0.4830510020256043 + 0.1232639998197556 + <_> + + <_> + + + + <_>0 10 21 9 -1. + <_>7 10 7 9 3. + 0 + -0.1270709931850433 + 0.5745260119438171 + -0.1942040026187897 + <_> + + <_> + + + + <_>6 19 15 5 -1. + <_>11 19 5 5 3. + 0 + 0.0103390002623200 + -0.0546419993042946 + 0.2450180053710938 + <_> + + <_> + + + + <_>8 10 6 6 -1. + <_>11 10 3 6 2. + 0 + 6.9010001607239246e-003 + 0.1218060031533241 + -0.3879739940166473 + <_> + + <_> + + + + <_>7 1 16 20 -1. + <_>15 1 8 10 2. + <_>7 11 8 10 2. + 0 + 0.2902539968490601 + 0.1096619963645935 + -30. + <_> + + <_> + + + + <_>1 1 16 20 -1. + <_>1 1 8 10 2. + <_>9 11 8 10 2. + 0 + -0.2380499988794327 + -1.7352679967880249 + -0.0638099983334541 + <_> + + <_> + + + + <_>16 4 3 12 -1. + <_>16 10 3 6 2. + 0 + 0.0624810010194778 + 0.1352300047874451 + -0.7030109763145447 + <_> + + <_> + + + + <_>5 4 3 12 -1. + <_>5 10 3 6 2. + 0 + 4.7109997831285000e-003 + -0.4698410034179688 + 0.0603419989347458 + <_> + + <_> + + + + <_>7 6 10 8 -1. + <_>12 6 5 4 2. + <_>7 10 5 4 2. + 0 + -0.0278159994632006 + 0.6980760097503662 + 1.3719999697059393e-003 + <_> + + <_> + + + + <_>4 9 6 6 -1. + <_>4 12 6 3 2. + 0 + -0.0170200001448393 + 1.6870440244674683 + -0.1431480050086975 + <_> + + <_> + + + + <_>6 5 12 4 -1. + <_>6 7 12 2 2. + 0 + -0.0497549995779991 + 0.7949770092964172 + 7.7199999941512942e-004 + <_> + + <_> + + + + <_>9 2 5 15 -1. + <_>9 7 5 5 3. + 0 + -0.0747329965233803 + -1.0132360458374023 + -0.0193889997899532 + <_> + + <_> + + + + <_>15 0 9 6 -1. + <_>15 2 9 2 3. + 0 + 0.0320090018212795 + 0.1441210061311722 + -0.4213910102844238 + <_> + + <_> + + + + <_>6 0 11 10 -1. + <_>6 5 11 5 2. + 0 + -0.0944639965891838 + 0.5068259835243225 + -0.2047889977693558 + <_> + + <_> + + + + <_>12 7 4 12 -1. + <_>12 13 4 6 2. + 0 + -0.0154269998893142 + -0.1581130027770996 + 0.1780689954757690 + <_> + + <_> + + + + <_>7 2 9 4 -1. + <_>7 4 9 2 2. + 0 + -4.0540001355111599e-003 + -0.5436670184135437 + 0.0312350001186132 + <_> + + <_> + + + + <_>6 0 13 6 -1. + <_>6 2 13 2 3. + 0 + 3.0080000869929790e-003 + -0.1737679988145828 + 0.3044170141220093 + <_> + + <_> + + + + <_>10 6 4 18 -1. + <_>10 6 2 9 2. + <_>12 15 2 9 2. + 0 + -0.0100919995456934 + 0.2510380148887634 + -0.2622410058975220 + <_> + + <_> + + + + <_>10 8 6 9 -1. + <_>12 8 2 9 3. + 0 + -0.0388180017471313 + 0.9322670102119446 + 0.0726599991321564 + <_> + + <_> + + + + <_>3 18 10 6 -1. + <_>3 20 10 2 3. + 0 + 0.0346519984304905 + -0.0339349992573261 + -0.8570790290832520 + <_> + + <_> + + + + <_>4 14 20 3 -1. + <_>4 15 20 1 3. + 0 + -4.6729999594390392e-003 + 0.3496930003166199 + -0.0485179983079433 + <_> + + <_> + + + + <_>2 15 9 6 -1. + <_>2 17 9 2 3. + 0 + 6.8499997723847628e-004 + 0.0665730014443398 + -0.4497379958629608 + <_> + + <_> + + + + <_>13 0 4 19 -1. + <_>13 0 2 19 2. + 0 + 0.0353170000016689 + 0.1427579969167709 + -0.4672639966011047 + <_> + + <_> + + + + <_>7 0 4 19 -1. + <_>9 0 2 19 2. + 0 + -0.0235699992626905 + -1.0286079645156860 + -0.0452880002558231 + <_> + + <_> + + + + <_>1 4 22 2 -1. + <_>1 5 22 1 2. + 0 + -1.9109999993816018e-003 + -0.1965219974517822 + 0.2866100072860718 + <_> + + <_> + + + + <_>0 0 9 6 -1. + <_>0 2 9 2 3. + 0 + -0.0166590008884668 + -0.7753220200538635 + -8.3280000835657120e-003 + <_> + + <_> + + + + <_>0 0 24 18 -1. + <_>0 9 24 9 2. + 0 + 0.6606220006942749 + 0.1323249936103821 + -3.5266680717468262 + <_> + + <_> + + + + <_>3 2 16 8 -1. + <_>3 6 16 4 2. + 0 + 0.1097059994935989 + -0.1554719954729080 + 1.4674140214920044 + <_> + + <_> + + + + <_>3 6 18 6 -1. + <_>3 8 18 2 3. + 0 + 0.0135009996592999 + 0.1523340046405792 + -1.3020930290222168 + <_> + + <_> + + + + <_>3 1 6 10 -1. + <_>5 1 2 10 3. + 0 + -0.0228719990700483 + -0.7132599949836731 + -8.7040001526474953e-003 + <_> + + <_> + + + + <_>13 0 9 6 -1. + <_>16 0 3 6 3. + 0 + -0.0818210020661354 + 1.1127580404281616 + 0.0832199975848198 + <_> + + <_> + + + + <_>2 0 9 6 -1. + <_>5 0 3 6 3. + 0 + -0.0527280010282993 + 0.9316509962081909 + -0.1710399985313416 + <_> + + <_> + + + + <_>10 2 4 15 -1. + <_>10 7 4 5 3. + 0 + -0.0252420008182526 + -0.1973379999399185 + 0.2535940110683441 + <_> + + <_> + + + + <_>6 0 7 10 -1. + <_>6 5 7 5 2. + 0 + -0.0438189990818501 + 0.4181520044803619 + -0.2458550035953522 + <_> + + <_> + + + + <_>2 2 20 4 -1. + <_>12 2 10 2 2. + <_>2 4 10 2 2. + 0 + -0.0181889999657869 + -0.5174319744110107 + 0.2017419934272766 + <_> + + <_> + + + + <_>2 11 19 3 -1. + <_>2 12 19 1 3. + 0 + 0.0234660003334284 + -0.0430710017681122 + -1.0636579990386963 + <_> + + <_> + + + + <_>10 8 6 9 -1. + <_>12 8 2 9 3. + 0 + 0.0342160016298294 + 0.0537809990346432 + 0.4970720112323761 + <_> + + <_> + + + + <_>8 8 6 9 -1. + <_>10 8 2 9 3. + 0 + 0.0256929993629456 + -0.2380010038614273 + 0.4165149927139282 + <_> + + <_> + + + + <_>13 8 4 9 -1. + <_>13 8 2 9 2. + 0 + -0.0265650004148483 + -0.8857480287551880 + 0.1336590051651001 + <_> + + <_> + + + + <_>3 11 9 9 -1. + <_>6 11 3 9 3. + 0 + 0.0609420016407967 + -0.2066970020532608 + 0.5830900073051453 + <_> + + <_> + + + + <_>3 9 18 5 -1. + <_>9 9 6 5 3. + 0 + 0.1447450071573257 + 0.1328230053186417 + -3.1449348926544189 + <_> + + <_> + + + + <_>2 4 2 20 -1. + <_>2 14 2 10 2. + 0 + 0.0534109994769096 + -0.1732520014047623 + 0.6919069886207581 + <_> + + <_> + + + + <_>14 17 8 6 -1. + <_>14 20 8 3 2. + 0 + 0.0114080002531409 + 0.0548220016062260 + 0.3024039864540100 + <_> + + <_> + + + + <_>3 21 18 2 -1. + <_>3 22 18 1 2. + 0 + -2.3179999552667141e-003 + 0.1582089960575104 + -0.3197320103645325 + <_> + + <_> + + + + <_>5 4 15 6 -1. + <_>10 4 5 6 3. + 0 + -0.0296950004994869 + 0.7127479910850525 + 0.0581360012292862 + <_> + + <_> + + + + <_>2 15 12 6 -1. + <_>2 17 12 2 3. + 0 + 0.0272499993443489 + -0.1575410068035126 + 0.9214379787445068 + <_> + + <_> + + + + <_>17 8 6 9 -1. + <_>17 11 6 3 3. + 0 + -3.6200000904500484e-003 + -0.3454839885234833 + 0.2022099941968918 + <_> + + <_> + + + + <_>2 12 20 4 -1. + <_>2 12 10 2 2. + <_>12 14 10 2 2. + 0 + -0.0125789996236563 + -0.5565029978752136 + 0.0203889999538660 + <_> + + <_> + + + + <_>0 17 24 6 -1. + <_>0 19 24 2 3. + 0 + -0.0888490006327629 + -3.6100010871887207 + 0.1316419988870621 + <_> + + <_> + + + + <_>7 16 9 4 -1. + <_>7 18 9 2 2. + 0 + -0.0192569997161627 + 0.5190899968147278 + -0.1928430050611496 + <_> + + <_> + + + + <_>15 1 4 22 -1. + <_>17 1 2 11 2. + <_>15 12 2 11 2. + 0 + -0.0166669990867376 + -0.0874999985098839 + 0.1581249982118607 + <_> + + <_> + + + + <_>5 1 4 22 -1. + <_>5 1 2 11 2. + <_>7 12 2 11 2. + 0 + 0.0129319997504354 + 0.0274059996008873 + -0.5512390136718750 + <_> + + <_> + + + + <_>11 13 8 9 -1. + <_>11 16 8 3 3. + 0 + -0.0134319998323917 + 0.2345779985189438 + -0.0432350002229214 + <_> + + <_> + + + + <_>6 1 6 9 -1. + <_>8 1 2 9 3. + 0 + 0.0188100002706051 + -0.0396809987723827 + -0.9437329769134522 + <_> + + <_> + + + + <_>11 4 3 18 -1. + <_>11 10 3 6 3. + 0 + -6.4349998719990253e-003 + 0.4570370018482208 + -4.0520001202821732e-003 + <_> + + <_> + + + + <_>5 8 12 6 -1. + <_>5 8 6 3 2. + <_>11 11 6 3 2. + 0 + -0.0242490004748106 + -0.7624800205230713 + -0.0198570005595684 + <_> + + <_> + + + + <_>15 7 5 8 -1. + <_>15 11 5 4 2. + 0 + -0.0296679995954037 + -3.7412509918212891 + 0.1125060021877289 + <_> + + <_> + + + + <_>4 7 5 8 -1. + <_>4 11 5 4 2. + 0 + 5.1150000654160976e-003 + -0.6378179788589478 + 0.0112239997833967 + <_> + + <_> + + + + <_>12 6 6 12 -1. + <_>15 6 3 6 2. + <_>12 12 3 6 2. + 0 + -5.7819997891783714e-003 + 0.1937440037727356 + -0.0820420011878014 + <_> + + <_> + + + + <_>6 6 6 12 -1. + <_>6 6 3 6 2. + <_>9 12 3 6 2. + 0 + 0.0166069995611906 + -0.1619209945201874 + 1.1334990262985229 + <_> + + <_> + + + + <_>5 9 14 8 -1. + <_>12 9 7 4 2. + <_>5 13 7 4 2. + 0 + 0.0382280014455318 + 0.0211050007492304 + 0.7626420259475708 + <_> + + <_> + + + + <_>9 1 3 14 -1. + <_>9 8 3 7 2. + 0 + -0.0570940002799034 + -1.6974929571151733 + -0.0597620010375977 + <_> + + <_> + + + + <_>12 6 6 12 -1. + <_>12 10 6 4 3. + 0 + -0.0538830012083054 + 1.1850190162658691 + 0.0909669995307922 + <_> + + <_> + + + + <_>4 5 4 18 -1. + <_>4 5 2 9 2. + <_>6 14 2 9 2. + 0 + -2.6110000908374786e-003 + -0.4094119966030121 + 0.0838209986686707 + <_> + + <_> + + + + <_>4 6 16 18 -1. + <_>4 12 16 6 3. + 0 + 0.2971439957618713 + 0.1552989929914475 + -1.0995409488677979 + <_> + + <_> + + + + <_>5 4 7 20 -1. + <_>5 14 7 10 2. + 0 + -0.0890630036592484 + 0.4894720017910004 + -0.2004120051860809 + <_> + + <_> + + + + <_>14 8 8 12 -1. + <_>14 14 8 6 2. + 0 + -0.0561930015683174 + -0.2458139955997467 + 0.1436550021171570 + <_> + + <_> + + + + <_>9 10 6 14 -1. + <_>9 10 3 7 2. + <_>12 17 3 7 2. + 0 + 0.0370049998164177 + -0.0481689982116222 + -1.2310709953308105 + <_> + + <_> + + + + <_>9 5 9 6 -1. + <_>12 5 3 6 3. + 0 + -8.4840003401041031e-003 + 0.4337260127067566 + 0.0137799996882677 + <_> + + <_> + + + + <_>9 4 3 18 -1. + <_>10 4 1 18 3. + 0 + -2.4379999376833439e-003 + 0.1894969940185547 + -0.3229419887065888 + <_> + + <_> + + + + <_>1 4 22 14 -1. + <_>12 4 11 7 2. + <_>1 11 11 7 2. + 0 + -0.0716399997472763 + -0.4397900104522705 + 0.2273019999265671 + <_> + + <_> + + + + <_>2 7 18 2 -1. + <_>2 8 18 1 2. + 0 + 5.2260002121329308e-003 + -0.2054840028285980 + 0.5093330144882202 + <_> + + <_> + + + + <_>12 6 6 12 -1. + <_>12 10 6 4 3. + 0 + -6.1360001564025879e-003 + 0.3115719854831696 + 0.0706809982657433 + <_> + + <_> + + + + <_>6 5 9 7 -1. + <_>9 5 3 7 3. + 0 + 0.0155950002372265 + -0.3093479871749878 + 0.1562770009040833 + <_> + + <_> + + + + <_>12 7 4 12 -1. + <_>12 13 4 6 2. + 0 + 0.0259959995746613 + 0.1382160037755966 + -0.1761659979820252 + <_> + + <_> + + + + <_>8 7 4 12 -1. + <_>8 13 4 6 2. + 0 + -0.0120850000530481 + -0.5107020139694214 + 0.0584409981966019 + <_> + + <_> + + + + <_>7 2 10 22 -1. + <_>7 13 10 11 2. + 0 + -0.0678360015153885 + 0.4775710105895996 + -0.0714460015296936 + <_> + + <_> + + + + <_>0 1 3 20 -1. + <_>1 1 1 20 3. + 0 + -0.0147150000557303 + 0.4523890018463135 + -0.1986140012741089 + <_> + + <_> + + + + <_>4 13 18 4 -1. + <_>13 13 9 2 2. + <_>4 15 9 2 2. + 0 + 0.0251189991831779 + 0.1295489966869354 + -0.8626639842987061 + <_> + + <_> + + + + <_>2 13 18 4 -1. + <_>2 13 9 2 2. + <_>11 15 9 2 2. + 0 + 0.0188260003924370 + -0.0415700003504753 + -1.1354700326919556 + <_> + + <_> + + + + <_>15 15 9 6 -1. + <_>15 17 9 2 3. + 0 + -0.0212639998644590 + -0.3473800122737885 + 0.1577949970960617 + <_> + + <_> + + + + <_>0 15 9 6 -1. + <_>0 17 9 2 3. + 0 + 9.4609996303915977e-003 + 4.8639997839927673e-003 + -0.6165480017662048 + <_> + + <_> + + + + <_>6 0 18 24 -1. + <_>15 0 9 12 2. + <_>6 12 9 12 2. + 0 + 0.2295770049095154 + 0.0813729986548424 + 0.6984140276908875 + <_> + + <_> + + + + <_>6 6 6 12 -1. + <_>6 10 6 4 3. + 0 + -0.0380619987845421 + 1.1616369485855103 + -0.1497669965028763 + <_> + + <_> + + + + <_>8 7 10 4 -1. + <_>8 9 10 2 2. + 0 + -0.0134849995374680 + -0.3203639984130859 + 0.1736509948968887 + <_> + + <_> + + + + <_>1 9 18 6 -1. + <_>1 9 9 3 2. + <_>10 12 9 3 2. + 0 + 0.0362389981746674 + -0.1815849989652634 + 0.6195669770240784 + <_> + + <_> + + + + <_>6 6 18 3 -1. + <_>6 7 18 1 3. + 0 + 6.7210001870989799e-003 + 7.9600000753998756e-004 + 0.4244140088558197 + <_> + + <_> + + + + <_>7 7 9 8 -1. + <_>10 7 3 8 3. + 0 + 0.0965259969234467 + -0.1469680070877075 + 1.2525680065155029 + <_> + + <_> + + + + <_>10 12 6 12 -1. + <_>12 12 2 12 3. + 0 + -0.0356569997966290 + -0.3978169858455658 + 0.1419139951467514 + <_> + + <_> + + + + <_>3 14 18 3 -1. + <_>3 15 18 1 3. + 0 + 0.0107720000669360 + -0.1819400042295456 + 0.5976219773292542 + <_> + + <_> + + + + <_>15 17 9 7 -1. + <_>18 17 3 7 3. + 0 + 0.0792799964547157 + 0.1464249938726425 + -0.7883689999580383 + <_> + + <_> + + + + <_>1 12 10 6 -1. + <_>1 14 10 2 3. + 0 + 0.0328410007059574 + -0.0624080002307892 + -1.4227490425109863 + <_> + + <_> + + + + <_>15 17 9 7 -1. + <_>18 17 3 7 3. + 0 + -0.0277810003608465 + 0.3403309881687164 + 0.0306700002402067 + <_> + + <_> + + + + <_>10 3 3 19 -1. + <_>11 3 1 19 3. + 0 + -4.0339999832212925e-003 + 0.3108470141887665 + -0.2259570062160492 + <_> + + <_> + + + + <_>15 17 9 7 -1. + <_>18 17 3 7 3. + 0 + 7.4260002002120018e-003 + -0.0389369986951351 + 0.3170210123062134 + <_> + + <_> + + + + <_>6 1 11 9 -1. + <_>6 4 11 3 3. + 0 + 0.1121399998664856 + -0.1757829934358597 + 0.6505659818649292 + <_> + + <_> + + + + <_>15 17 9 7 -1. + <_>18 17 3 7 3. + 0 + -0.1187810003757477 + -1.0092990398406982 + 0.1106970012187958 + <_> + + <_> + + + + <_>6 5 11 6 -1. + <_>6 8 11 3 2. + 0 + -0.0415849983692169 + -0.5380640029907227 + 0.0199050009250641 + <_> + + <_> + + + + <_>16 7 8 5 -1. + <_>16 7 4 5 2. + 0 + -0.0279660001397133 + 0.4814319908618927 + 0.0335909985005856 + <_> + + <_> + + + + <_>2 4 20 19 -1. + <_>12 4 10 19 2. + 0 + -0.1250640004873276 + 0.2635219991207123 + -0.2573789954185486 + <_> + + <_> + + + + <_>2 1 21 6 -1. + <_>9 1 7 6 3. + 0 + 0.2366690039634705 + 0.0365080013871193 + 0.9065560102462769 + <_> + + <_> + + + + <_>6 5 12 14 -1. + <_>6 5 6 7 2. + <_>12 12 6 7 2. + 0 + -0.0294759999960661 + -0.6004880070686340 + 9.5880003646016121e-003 + <_> + + <_> + + + + <_>9 0 6 9 -1. + <_>11 0 2 9 3. + 0 + 0.0377929992973804 + 0.1550620049238205 + -0.9573349952697754 + <_> + + <_> + + + + <_>2 11 8 5 -1. + <_>6 11 4 5 2. + 0 + 0.0720440000295639 + -0.1452589929103851 + 1.3676730394363403 + <_> + + <_> + + + + <_>16 7 8 5 -1. + <_>16 7 4 5 2. + 0 + 9.7759999334812164e-003 + 0.0129159996286035 + 0.2164089977741242 + <_> + + <_> + + + + <_>0 7 8 5 -1. + <_>4 7 4 5 2. + 0 + 0.0521540008485317 + -0.0163599997758865 + -0.8835629820823669 + <_> + + <_> + + + + <_>15 17 9 7 -1. + <_>18 17 3 7 3. + 0 + -0.0437909997999668 + 0.3582960069179535 + 0.0651310011744499 + <_> + + <_> + + + + <_>8 6 8 10 -1. + <_>8 6 4 5 2. + <_>12 11 4 5 2. + 0 + -0.0383789986371994 + 1.1961040496826172 + -0.1497150063514710 + <_> + + <_> + + + + <_>15 15 9 9 -1. + <_>18 15 3 9 3. + 0 + -0.0988389998674393 + -0.6183400154113770 + 0.1278620064258575 + <_> + + <_> + + + + <_>0 15 9 9 -1. + <_>3 15 3 9 3. + 0 + -0.1219070032238960 + -1.8276120424270630 + -0.0648629963397980 + <_> + + <_> + + + + <_>12 10 9 7 -1. + <_>15 10 3 7 3. + 0 + -0.1198170036077499 + -30. + 0.1132330000400543 + <_> + + <_> + + + + <_>3 10 9 7 -1. + <_>6 10 3 7 3. + 0 + 0.0309100002050400 + -0.2393400073051453 + 0.3633289933204651 + <_> + + <_> + + + + <_>13 15 10 8 -1. + <_>18 15 5 4 2. + <_>13 19 5 4 2. + 0 + 0.0108009995892644 + -0.0351400002837181 + 0.2770789861679077 + <_> + + <_> + + + + <_>0 1 6 12 -1. + <_>0 1 3 6 2. + <_>3 7 3 6 2. + 0 + 0.0568449981510639 + -0.1552429944276810 + 1.0802700519561768 + <_> + + <_> + + + + <_>10 0 6 12 -1. + <_>13 0 3 6 2. + <_>10 6 3 6 2. + 0 + 1.0280000278726220e-003 + -0.0612029992043972 + 0.2050800025463104 + <_> + + <_> + + + + <_>7 0 10 12 -1. + <_>7 0 5 6 2. + <_>12 6 5 6 2. + 0 + -0.0282739996910095 + -0.6477800011634827 + 0.0239170007407665 + <_> + + <_> + + + + <_>4 1 16 8 -1. + <_>4 1 8 8 2. + 0 + -0.1601359993219376 + 1.0892050266265869 + 0.0583890005946159 + <_> + + <_> + + + + <_>0 21 19 3 -1. + <_>0 22 19 1 3. + 0 + 4.9629998393356800e-003 + -0.2580629885196686 + 0.2083459943532944 + <_> + + <_> + + + + <_>6 9 18 4 -1. + <_>15 9 9 2 2. + <_>6 11 9 2 2. + 0 + 0.0469370000064373 + 0.1388629972934723 + -1.5662620067596436 + <_> + + <_> + + + + <_>3 4 9 6 -1. + <_>3 6 9 2 3. + 0 + 0.0242860000580549 + -0.2072830051183701 + 0.5243099927902222 + <_> + + <_> + + + + <_>9 1 6 15 -1. + <_>9 6 6 5 3. + 0 + 0.0702020004391670 + 0.1479689925909042 + -1.3095090389251709 + <_> + + <_> + + + + <_>5 9 6 6 -1. + <_>8 9 3 6 2. + 0 + 9.8120002076029778e-003 + 0.0279060006141663 + -0.5086460113525391 + <_> + + <_> + + + + <_>5 1 14 9 -1. + <_>5 4 14 3 3. + 0 + -0.0562009997665882 + 1.2618130445480347 + 0.0638019964098930 + <_> + + <_> + + + + <_>3 0 8 20 -1. + <_>3 0 4 10 2. + <_>7 10 4 10 2. + 0 + 0.1098280027508736 + -0.1285009980201721 + 3.0776169300079346 + -3.2573320865631104 + 21 + -1 + <_> + + + <_> + + <_> + + + + <_>5 0 7 9 -1. + <_>5 3 7 3 3. + 0 + 0.0209100004285574 + -0.6855940222740173 + 0.3898429870605469 + <_> + + <_> + + + + <_>6 6 12 5 -1. + <_>10 6 4 5 3. + 0 + 0.0350320003926754 + -0.4772439897060394 + 0.4502719938755035 + <_> + + <_> + + + + <_>0 1 8 14 -1. + <_>4 1 4 14 2. + 0 + 0.0397990010678768 + -0.4701110124588013 + 0.4270249903202057 + <_> + + <_> + + + + <_>2 12 22 4 -1. + <_>2 14 22 2 2. + 0 + -4.8409998416900635e-003 + 0.2561430037021637 + -0.6655629873275757 + <_> + + <_> + + + + <_>8 17 6 6 -1. + <_>8 20 6 3 2. + 0 + 2.3439999204128981e-003 + -0.4808349907398224 + 0.2801379859447479 + <_> + + <_> + + + + <_>18 1 6 7 -1. + <_>18 1 3 7 2. + 0 + 0.0253129992634058 + -0.2394820004701614 + 0.4419179856777191 + <_> + + <_> + + + + <_>0 0 6 6 -1. + <_>3 0 3 6 2. + 0 + -0.0321930013597012 + 0.7608669996261597 + -0.2505910098552704 + <_> + + <_> + + + + <_>4 6 17 18 -1. + <_>4 12 17 6 3. + 0 + 0.0754090026021004 + -0.3497459888458252 + 0.3438029885292053 + <_> + + <_> + + + + <_>6 0 12 6 -1. + <_>6 0 6 3 2. + <_>12 3 6 3 2. + 0 + -0.0184690002351999 + -0.7908560037612915 + 0.0347880013287067 + <_> + + <_> + + + + <_>4 7 18 4 -1. + <_>13 7 9 2 2. + <_>4 9 9 2 2. + 0 + -0.0128020001575351 + 0.4710780084133148 + -0.0600060001015663 + <_> + + <_> + + + + <_>4 12 10 6 -1. + <_>4 14 10 2 3. + 0 + -0.0265980008989573 + 0.6711609959602356 + -0.2425750046968460 + <_> + + <_> + + + + <_>7 9 10 12 -1. + <_>12 9 5 6 2. + <_>7 15 5 6 2. + 0 + 0.0219889990985394 + 0.2471749931573868 + -0.4830169975757599 + <_> + + <_> + + + + <_>0 1 24 3 -1. + <_>8 1 8 3 3. + 0 + 0.1465409994125366 + -0.2150409966707230 + 0.7205590009689331 + <_> + + <_> + + + + <_>13 11 6 6 -1. + <_>13 11 3 6 2. + 0 + 3.5310001112520695e-003 + 0.2793099880218506 + -0.3433989882469177 + <_> + + <_> + + + + <_>5 11 6 6 -1. + <_>8 11 3 6 2. + 0 + 9.4010001048445702e-003 + 0.0558619983494282 + -0.8214359879493713 + <_> + + <_> + + + + <_>3 10 19 3 -1. + <_>3 11 19 1 3. + 0 + -8.6390003561973572e-003 + -0.9962059855461121 + 0.1887499988079071 + <_> + + <_> + + + + <_>0 2 6 9 -1. + <_>0 5 6 3 3. + 0 + -0.0391930006444454 + -1.1945559978485107 + -0.0291980002075434 + <_> + + <_> + + + + <_>14 16 10 6 -1. + <_>14 18 10 2 3. + 0 + 0.0248550008982420 + 0.1498759984970093 + -0.5413780212402344 + <_> + + <_> + + + + <_>0 16 10 6 -1. + <_>0 18 10 2 3. + 0 + -0.0349950008094311 + -1.4210180044174194 + -0.0423140004277229 + <_> + + <_> + + + + <_>14 13 9 6 -1. + <_>14 15 9 2 3. + 0 + -0.0183789990842342 + -0.2824259996414185 + 0.1558180004358292 + <_> + + <_> + + + + <_>0 16 18 3 -1. + <_>0 17 18 1 3. + 0 + -0.0135920001193881 + 0.4731709957122803 + -0.2193720042705536 + <_> + + <_> + + + + <_>6 16 18 3 -1. + <_>6 17 18 1 3. + 0 + 6.2629999592900276e-003 + -0.0597140006721020 + 0.6062589883804321 + <_> + + <_> + + + + <_>0 18 9 6 -1. + <_>0 20 9 2 3. + 0 + -0.0184780005365610 + -0.8564720153808594 + -0.0137839997187257 + <_> + + <_> + + + + <_>14 13 9 6 -1. + <_>14 15 9 2 3. + 0 + 0.0142360003665090 + 0.1665479987859726 + -0.2771399915218353 + <_> + + <_> + + + + <_>6 2 6 9 -1. + <_>8 2 2 9 3. + 0 + -0.0325470007956028 + -1.1728240251541138 + -0.0401850007474422 + <_> + + <_> + + + + <_>15 8 4 12 -1. + <_>15 8 2 12 2. + 0 + -2.6410000864416361e-003 + 0.2651430070400238 + -0.0563430003821850 + <_> + + <_> + + + + <_>8 13 8 8 -1. + <_>8 17 8 4 2. + 0 + -8.7799999164417386e-004 + 0.0365560017526150 + -0.5507519841194153 + <_> + + <_> + + + + <_>4 20 18 3 -1. + <_>10 20 6 3 3. + 0 + 0.0473719984292984 + -0.0426140017807484 + 0.4819490015506744 + <_> + + <_> + + + + <_>5 8 4 12 -1. + <_>7 8 2 12 2. + 0 + -7.0790001191198826e-003 + 0.2869899868965149 + -0.3292300105094910 + <_> + + <_> + + + + <_>7 7 12 3 -1. + <_>7 7 6 3 2. + 0 + -0.0431459993124008 + -1.4065419435501099 + 0.1283639967441559 + <_> + + <_> + + + + <_>10 6 4 9 -1. + <_>12 6 2 9 2. + 0 + 0.0205920003354549 + -0.2143529951572418 + 0.5398179888725281 + <_> + + <_> + + + + <_>5 20 18 3 -1. + <_>11 20 6 3 3. + 0 + -0.0223670005798340 + 0.3371829986572266 + 0.0452120006084442 + <_> + + <_> + + + + <_>1 20 18 3 -1. + <_>7 20 6 3 3. + 0 + 0.0500399991869926 + -0.2512170076370239 + 0.4175049960613251 + <_> + + <_> + + + + <_>18 1 6 20 -1. + <_>21 1 3 10 2. + <_>18 11 3 10 2. + 0 + 0.0617949999868870 + 0.0400849990546703 + 0.6877980232238770 + <_> + + <_> + + + + <_>0 1 6 20 -1. + <_>0 1 3 10 2. + <_>3 11 3 10 2. + 0 + -0.0418619997799397 + 0.5302739739418030 + -0.2290199995040894 + <_> + + <_> + + + + <_>13 3 4 18 -1. + <_>15 3 2 9 2. + <_>13 12 2 9 2. + 0 + -3.1959998887032270e-003 + 0.2516149878501892 + -0.2151460051536560 + <_> + + <_> + + + + <_>0 2 6 12 -1. + <_>0 6 6 4 3. + 0 + 0.0242550000548363 + 7.2320001199841499e-003 + -0.7251909971237183 + <_> + + <_> + + + + <_>12 9 12 6 -1. + <_>18 9 6 3 2. + <_>12 12 6 3 2. + 0 + -0.0173039995133877 + -0.4995819926261902 + 0.1839450001716614 + <_> + + <_> + + + + <_>7 3 4 18 -1. + <_>7 3 2 9 2. + <_>9 12 2 9 2. + 0 + -4.1470001451671124e-003 + 0.0852119997143745 + -0.4636470079421997 + <_> + + <_> + + + + <_>14 0 6 9 -1. + <_>16 0 2 9 3. + 0 + -0.0143699999898672 + -0.5225890278816223 + 0.2389259934425354 + <_> + + <_> + + + + <_>0 9 12 6 -1. + <_>0 9 6 3 2. + <_>6 12 6 3 2. + 0 + -9.0399999171495438e-003 + -0.6325039863586426 + 0.0325510017573833 + <_> + + <_> + + + + <_>14 4 8 20 -1. + <_>18 4 4 10 2. + <_>14 14 4 10 2. + 0 + -0.1237310022115707 + 1.2856210470199585 + 0.0765450000762939 + <_> + + <_> + + + + <_>2 4 8 20 -1. + <_>2 4 4 10 2. + <_>6 14 4 10 2. + 0 + -0.0822219997644424 + 0.8320819735527039 + -0.1859059929847717 + <_> + + <_> + + + + <_>14 13 9 6 -1. + <_>14 15 9 2 3. + 0 + 0.0656590014696121 + 0.1129880025982857 + -30. + <_> + + <_> + + + + <_>1 13 9 6 -1. + <_>1 15 9 2 3. + 0 + -0.0315829999744892 + -1.3485900163650513 + -0.0470970012247562 + <_> + + <_> + + + + <_>3 15 18 3 -1. + <_>9 15 6 3 3. + 0 + -0.0796360000967979 + -1.3533639907836914 + 0.1566880047321320 + <_> + + <_> + + + + <_>5 13 9 6 -1. + <_>5 15 9 2 3. + 0 + -0.0188800003379583 + 0.4030030071735382 + -0.2514890134334564 + <_> + + <_> + + + + <_>5 0 18 3 -1. + <_>5 1 18 1 3. + 0 + -5.0149997696280479e-003 + -0.2628709971904755 + 0.1858250051736832 + <_> + + <_> + + + + <_>8 2 6 7 -1. + <_>11 2 3 7 2. + 0 + -0.0122180003672838 + 0.5869240164756775 + -0.1942770034074783 + <_> + + <_> + + + + <_>9 1 9 6 -1. + <_>12 1 3 6 3. + 0 + 1.2710000155493617e-003 + -0.1668899953365326 + 0.2300689965486527 + <_> + + <_> + + + + <_>6 1 9 6 -1. + <_>9 1 3 6 3. + 0 + 0.0297439992427826 + 0.0125200003385544 + -0.6672359704971314 + <_> + + <_> + + + + <_>5 6 14 6 -1. + <_>12 6 7 3 2. + <_>5 9 7 3 2. + 0 + 0.0281750001013279 + -0.0170600004494190 + 0.6457939743995667 + <_> + + <_> + + + + <_>8 2 6 13 -1. + <_>10 2 2 13 3. + 0 + 0.0303450003266335 + -0.2417870014905930 + 0.3487890064716339 + <_> + + <_> + + + + <_>6 11 12 6 -1. + <_>12 11 6 3 2. + <_>6 14 6 3 2. + 0 + -0.0173259992152452 + -0.5359939932823181 + 0.2099599987268448 + <_> + + <_> + + + + <_>3 1 18 15 -1. + <_>9 1 6 15 3. + 0 + -0.0841780006885529 + 0.7509329915046692 + -0.1759320050477982 + <_> + + <_> + + + + <_>13 0 6 7 -1. + <_>13 0 3 7 2. + 0 + 7.4950000271201134e-003 + -0.1618809998035431 + 0.3065750002861023 + <_> + + <_> + + + + <_>3 3 16 6 -1. + <_>3 6 16 3 2. + 0 + 0.0564949996769428 + -0.1731880009174347 + 1.0016150474548340 + <_> + + <_> + + + + <_>12 1 3 12 -1. + <_>12 7 3 6 2. + 0 + -5.2939997985959053e-003 + 0.2341759949922562 + -0.0653470009565353 + <_> + + <_> + + + + <_>7 7 6 9 -1. + <_>9 7 2 9 3. + 0 + -0.0149450004100800 + 0.2501890063285828 + -0.3059119880199432 + <_> + + <_> + + + + <_>13 0 4 24 -1. + <_>13 0 2 24 2. + 0 + 0.0549190007150173 + 0.1312199980020523 + -0.9376509785652161 + <_> + + <_> + + + + <_>7 0 4 24 -1. + <_>9 0 2 24 2. + 0 + -0.0197219997644424 + -0.8397849798202515 + -0.0234730001538992 + <_> + + <_> + + + + <_>11 9 5 12 -1. + <_>11 13 5 4 3. + 0 + -0.0671589970588684 + 2.3586840629577637 + 0.0829709991812706 + <_> + + <_> + + + + <_>7 15 9 6 -1. + <_>7 17 9 2 3. + 0 + -0.0143259996548295 + 0.1881449967622757 + -0.3122160136699677 + <_> + + <_> + + + + <_>5 7 18 6 -1. + <_>5 9 18 2 3. + 0 + 0.0298410002142191 + 0.1482509970664978 + -0.8468170166015625 + <_> + + <_> + + + + <_>8 9 5 12 -1. + <_>8 13 5 4 3. + 0 + 0.0518830008804798 + -0.0437310002744198 + -1.3366169929504395 + <_> + + <_> + + + + <_>4 17 17 6 -1. + <_>4 19 17 2 3. + 0 + 0.0411270000040531 + 0.1766009926795960 + -0.6090409755706787 + <_> + + <_> + + + + <_>0 3 18 14 -1. + <_>0 3 9 7 2. + <_>9 10 9 7 2. + 0 + -0.1286509931087494 + -0.9870100021362305 + -0.0377850010991097 + <_> + + <_> + + + + <_>0 1 24 2 -1. + <_>0 2 24 1 2. + 0 + 2.4170000106096268e-003 + -0.1611959934234619 + 0.3267570137977600 + <_> + + <_> + + + + <_>0 15 18 3 -1. + <_>0 16 18 1 3. + 0 + 7.7030002139508724e-003 + -0.2384150028228760 + 0.2931939959526062 + <_> + + <_> + + + + <_>9 0 6 9 -1. + <_>11 0 2 9 3. + 0 + 0.0455200001597404 + 0.1442459970712662 + -1.5010160207748413 + <_> + + <_> + + + + <_>3 3 14 12 -1. + <_>3 9 14 6 2. + 0 + -0.0787009969353676 + -1.0394560098648071 + -0.0453759990632534 + <_> + + <_> + + + + <_>12 1 3 12 -1. + <_>12 7 3 6 2. + 0 + 7.8619997948408127e-003 + 0.1963360011577606 + -0.1447239965200424 + <_> + + <_> + + + + <_>8 0 6 9 -1. + <_>10 0 2 9 3. + 0 + -0.0134589998051524 + -0.9063469767570496 + -0.0380490012466908 + <_> + + <_> + + + + <_>10 6 6 10 -1. + <_>12 6 2 10 3. + 0 + 0.0288270004093647 + -0.0294739995151758 + 0.6005839705467224 + <_> + + <_> + + + + <_>5 0 6 9 -1. + <_>7 0 2 9 3. + 0 + -0.0273659992963076 + -0.9980400204658508 + -0.0386530011892319 + <_> + + <_> + + + + <_>2 0 21 7 -1. + <_>9 0 7 7 3. + 0 + -0.0729179978370667 + 0.7336149811744690 + 0.0574400015175343 + <_> + + <_> + + + + <_>6 11 12 5 -1. + <_>10 11 4 5 3. + 0 + -0.0139889996498823 + 0.2789260149002075 + -0.2651630043983460 + <_> + + <_> + + + + <_>8 7 9 8 -1. + <_>11 7 3 8 3. + 0 + 0.0432429984211922 + 4.7760000452399254e-003 + 0.3592590093612671 + <_> + + <_> + + + + <_>9 6 6 18 -1. + <_>9 6 3 9 2. + <_>12 15 3 9 2. + 0 + 0.0295330006629229 + -0.2008399963378906 + 0.5120289921760559 + <_> + + <_> + + + + <_>15 14 8 10 -1. + <_>19 14 4 5 2. + <_>15 19 4 5 2. + 0 + -0.0318970009684563 + 0.6472169756889343 + -1.3760000001639128e-003 + <_> + + <_> + + + + <_>1 14 8 10 -1. + <_>1 14 4 5 2. + <_>5 19 4 5 2. + 0 + 0.0378689989447594 + -0.1836380064487457 + 0.6134309768676758 + <_> + + <_> + + + + <_>11 0 8 10 -1. + <_>15 0 4 5 2. + <_>11 5 4 5 2. + 0 + -0.0224179998040199 + -0.2918789982795715 + 0.1819480061531067 + <_> + + <_> + + + + <_>5 0 8 10 -1. + <_>5 0 4 5 2. + <_>9 5 4 5 2. + 0 + 0.0589589998126030 + -0.0664519965648651 + -1.9290030002593994 + <_> + + <_> + + + + <_>6 1 12 5 -1. + <_>6 1 6 5 2. + 0 + 0.0312229990959167 + -0.0127320000901818 + 0.6156079769134522 + <_> + + <_> + + + + <_>1 12 18 2 -1. + <_>10 12 9 2 2. + 0 + 0.0374849997460842 + -0.2085690051317215 + 0.4436399936676025 + <_> + + <_> + + + + <_>2 8 20 6 -1. + <_>12 8 10 3 2. + <_>2 11 10 3 2. + 0 + -0.0209660008549690 + -0.3571279942989349 + 0.2425220012664795 + <_> + + <_> + + + + <_>7 6 9 7 -1. + <_>10 6 3 7 3. + 0 + -0.0254779998213053 + 1.0846560001373291 + -0.1505440026521683 + <_> + + <_> + + + + <_>10 5 8 16 -1. + <_>14 5 4 8 2. + <_>10 13 4 8 2. + 0 + -7.2570000775158405e-003 + 0.2130260020494461 + -0.1830819994211197 + <_> + + <_> + + + + <_>3 9 16 8 -1. + <_>3 9 8 4 2. + <_>11 13 8 4 2. + 0 + -0.0509830005466938 + 0.5173680186271668 + -0.1883309930562973 + <_> + + <_> + + + + <_>7 8 10 4 -1. + <_>7 8 5 4 2. + 0 + -0.0206400007009506 + -0.4403020143508911 + 0.2274599969387054 + <_> + + <_> + + + + <_>7 12 10 8 -1. + <_>7 12 5 4 2. + <_>12 16 5 4 2. + 0 + 0.0106729995459318 + 0.0350599996745586 + -0.5166500210762024 + <_> + + <_> + + + + <_>9 19 15 4 -1. + <_>14 19 5 4 3. + 0 + 0.0318959988653660 + 0.0132280001416802 + 0.3491519987583160 + <_> + + <_> + + + + <_>1 0 18 9 -1. + <_>7 0 6 9 3. + 0 + -0.0238249991089106 + 0.3411880135536194 + -0.2151020020246506 + <_> + + <_> + + + + <_>13 4 10 8 -1. + <_>18 4 5 4 2. + <_>13 8 5 4 2. + 0 + -6.0680001042783260e-003 + 0.3293739855289459 + -0.2852379977703095 + <_> + + <_> + + + + <_>3 16 18 4 -1. + <_>9 16 6 4 3. + 0 + 0.0238819997757673 + -0.2533380091190338 + 0.2629610002040863 + <_> + + <_> + + + + <_>8 7 10 12 -1. + <_>13 7 5 6 2. + <_>8 13 5 6 2. + 0 + 0.0279660001397133 + 0.1404909938573837 + -0.4988709986209869 + <_> + + <_> + + + + <_>6 7 10 12 -1. + <_>6 7 5 6 2. + <_>11 13 5 6 2. + 0 + 0.0146030001342297 + -0.0153959998860955 + -0.7695800065994263 + <_> + + <_> + + + + <_>4 6 18 7 -1. + <_>10 6 6 7 3. + 0 + 0.1087239980697632 + 0.1906960010528565 + -0.3239310085773468 + <_> + + <_> + + + + <_>0 17 18 3 -1. + <_>0 18 18 1 3. + 0 + -0.0140380002558231 + 0.3492470085620880 + -0.2235870063304901 + <_> + + <_> + + + + <_>3 17 18 3 -1. + <_>3 18 18 1 3. + 0 + 4.0440000593662262e-003 + -0.0383290015161037 + 0.5117729902267456 + <_> + + <_> + + + + <_>2 4 6 10 -1. + <_>4 4 2 10 3. + 0 + -4.9769999459385872e-003 + -0.4288829863071442 + 0.0491739995777607 + <_> + + <_> + + + + <_>16 0 8 24 -1. + <_>16 0 4 24 2. + 0 + -0.0851830020546913 + 0.6662459969520569 + 7.8079998493194580e-003 + <_> + + <_> + + + + <_>4 0 8 15 -1. + <_>8 0 4 15 2. + 0 + 2.1559998858720064e-003 + -0.4913519918918610 + 0.0695559978485107 + <_> + + <_> + + + + <_>16 0 8 24 -1. + <_>16 0 4 24 2. + 0 + 0.3638449907302856 + 0.1299709975719452 + -1.8949509859085083 + <_> + + <_> + + + + <_>1 4 18 9 -1. + <_>7 4 6 9 3. + 0 + 0.2208250015974045 + -0.0572119988501072 + -1.4281120300292969 + <_> + + <_> + + + + <_>15 12 9 6 -1. + <_>15 14 9 2 3. + 0 + -0.0161400008946657 + -0.5758939981460571 + 0.1806250065565109 + <_> + + <_> + + + + <_>3 9 18 6 -1. + <_>3 9 9 3 2. + <_>12 12 9 3 2. + 0 + -0.0483300015330315 + 0.9730849862098694 + -0.1651300042867661 + <_> + + <_> + + + + <_>18 5 6 9 -1. + <_>18 8 6 3 3. + 0 + 0.0175299998372793 + 0.1793269962072372 + -0.2794890105724335 + <_> + + <_> + + + + <_>0 5 6 9 -1. + <_>0 8 6 3 3. + 0 + -0.0343099981546402 + -0.8107249736785889 + -0.0165960006415844 + <_> + + <_> + + + + <_>4 7 18 4 -1. + <_>13 7 9 2 2. + <_>4 9 9 2 2. + 0 + -4.5830002054572105e-003 + 0.2790899872779846 + -7.4519999325275421e-003 + <_> + + <_> + + + + <_>2 1 12 20 -1. + <_>2 1 6 10 2. + <_>8 11 6 10 2. + 0 + 0.1289640069007874 + -0.1350850015878677 + 2.5411539077758789 + <_> + + <_> + + + + <_>17 0 6 23 -1. + <_>17 0 3 23 2. + 0 + 0.0303610004484653 + -0.0684190019965172 + 0.2873409986495972 + <_> + + <_> + + + + <_>1 6 2 18 -1. + <_>1 15 2 9 2. + 0 + 0.0440860018134117 + -0.1813589930534363 + 0.6541320085525513 + <_> + + <_> + + + + <_>8 8 10 6 -1. + <_>8 10 10 2 3. + 0 + 3.0159999150782824e-003 + -0.1569049954414368 + 0.2696380019187927 + <_> + + <_> + + + + <_>0 6 20 6 -1. + <_>0 6 10 3 2. + <_>10 9 10 3 2. + 0 + -0.0263369996100664 + 0.2917560040950775 + -0.2527410089969635 + <_> + + <_> + + + + <_>11 12 12 5 -1. + <_>15 12 4 5 3. + 0 + -0.0278660003095865 + 0.4438750147819519 + 0.0550380013883114 + <_> + + <_> + + + + <_>0 4 3 19 -1. + <_>1 4 1 19 3. + 0 + 0.0117250001057982 + -0.1934649944305420 + 0.4665670096874237 + <_> + + <_> + + + + <_>19 1 3 18 -1. + <_>20 1 1 18 3. + 0 + 1.5689999563619494e-003 + -8.2360003143548965e-003 + 0.2570089995861054 + <_> + + <_> + + + + <_>2 1 3 18 -1. + <_>3 1 1 18 3. + 0 + -3.5550000611692667e-003 + -0.4243089854717255 + 0.0711740031838417 + <_> + + <_> + + + + <_>3 10 18 3 -1. + <_>9 10 6 3 3. + 0 + -0.0316950008273125 + -0.8539350032806397 + 0.1691620051860809 + <_> + + <_> + + + + <_>4 4 10 9 -1. + <_>9 4 5 9 2. + 0 + -0.0320970006287098 + 0.8378490209579468 + -0.1759729981422424 + <_> + + <_> + + + + <_>7 13 14 7 -1. + <_>7 13 7 7 2. + 0 + 0.1554419994354248 + 0.0995500013232231 + 2.3873300552368164 + <_> + + <_> + + + + <_>3 13 14 7 -1. + <_>10 13 7 7 2. + 0 + 0.0880459994077683 + -0.1872529983520508 + 0.6238430142402649 + <_> + + <_> + + + + <_>8 15 9 6 -1. + <_>11 15 3 6 3. + 0 + -1.6720000421628356e-003 + 0.2500869929790497 + -0.0651189982891083 + <_> + + <_> + + + + <_>4 14 8 10 -1. + <_>4 14 4 5 2. + <_>8 19 4 5 2. + 0 + 9.3409996479749680e-003 + -0.3537890017032623 + 0.1071500033140183 + <_> + + <_> + + + + <_>10 14 4 10 -1. + <_>10 19 4 5 2. + 0 + 0.0371380001306534 + 0.1638700067996979 + -0.9171839952468872 + <_> + + <_> + + + + <_>3 8 5 16 -1. + <_>3 16 5 8 2. + 0 + 0.0801839977502823 + -0.1481299996376038 + 1.4895190000534058 + <_> + + <_> + + + + <_>15 10 9 6 -1. + <_>15 12 9 2 3. + 0 + -7.9100002767518163e-004 + -0.2132689952850342 + 0.1967640072107315 + <_> + + <_> + + + + <_>0 10 9 6 -1. + <_>0 12 9 2 3. + 0 + -5.0400001928210258e-003 + -0.7131869792938232 + 1.8240000354126096e-003 + <_> + + <_> + + + + <_>6 7 12 9 -1. + <_>6 10 12 3 3. + 0 + 0.1196239963173866 + 0.0330989994108677 + 1.0441709756851196 + <_> + + <_> + + + + <_>9 10 5 8 -1. + <_>9 14 5 4 2. + 0 + -4.5280000194907188e-003 + -0.2730849981307983 + 0.2722980082035065 + <_> + + <_> + + + + <_>12 1 3 12 -1. + <_>12 7 3 6 2. + 0 + -0.0296390000730753 + 0.3622579872608185 + 0.0567950010299683 + <_> + + <_> + + + + <_>8 15 6 9 -1. + <_>10 15 2 9 3. + 0 + 0.0266500003635883 + -0.0480410009622574 + -0.9672350287437439 + <_> + + <_> + + + + <_>16 6 7 6 -1. + <_>16 9 7 3 2. + 0 + 0.0444220006465912 + 0.1305290013551712 + -0.3507730066776276 + <_> + + <_> + + + + <_>8 1 4 22 -1. + <_>10 1 2 22 2. + 0 + -0.0243599992245436 + -1.0766899585723877 + -0.0512229986488819 + <_> + + <_> + + + + <_>6 6 14 3 -1. + <_>6 6 7 3 2. + 0 + 0.0197349991649389 + 0.0262380000203848 + 0.2807050049304962 + <_> + + <_> + + + + <_>0 18 19 3 -1. + <_>0 19 19 1 3. + 0 + 5.4930001497268677e-003 + -0.2611129879951477 + 0.2101140022277832 + <_> + + <_> + + + + <_>17 0 6 24 -1. + <_>17 0 3 24 2. + 0 + -0.2320030033588409 + -1.7748440504074097 + 0.1148260012269020 + <_> + + <_> + + + + <_>0 13 15 6 -1. + <_>5 13 5 6 3. + 0 + -0.0256140008568764 + 0.2990080118179321 + -0.2250249981880188 + <_> + + <_> + + + + <_>9 6 10 14 -1. + <_>14 6 5 7 2. + <_>9 13 5 7 2. + 0 + -6.4949998632073402e-003 + 0.1956380009651184 + -0.0997629985213280 + <_> + + <_> + + + + <_>1 6 8 10 -1. + <_>1 6 4 5 2. + <_>5 11 4 5 2. + 0 + 3.9840000681579113e-003 + -0.4302150011062622 + 0.0812610015273094 + <_> + + <_> + + + + <_>7 6 12 5 -1. + <_>7 6 6 5 2. + 0 + -0.0358130000531673 + -0.5098739862442017 + 0.1634590029716492 + <_> + + <_> + + + + <_>7 7 9 6 -1. + <_>10 7 3 6 3. + 0 + -0.0141690000891685 + 0.7797809839248657 + -0.1747629940509796 + <_> + + <_> + + + + <_>7 8 14 14 -1. + <_>14 8 7 7 2. + <_>7 15 7 7 2. + 0 + -0.1264210045337677 + -0.6304789781570435 + 0.1272830069065094 + <_> + + <_> + + + + <_>3 8 14 14 -1. + <_>3 8 7 7 2. + <_>10 15 7 7 2. + 0 + 0.0686779990792274 + -0.0464479997754097 + -1.1128979921340942 + <_> + + <_> + + + + <_>9 8 13 4 -1. + <_>9 10 13 2 2. + 0 + 0.0858649984002113 + 0.1183540001511574 + -4.8235158920288086 + <_> + + <_> + + + + <_>3 2 6 12 -1. + <_>3 2 3 6 2. + <_>6 8 3 6 2. + 0 + 0.0155119998380542 + -0.0174679998308420 + -0.6369339823722839 + <_> + + <_> + + + + <_>6 10 17 6 -1. + <_>6 13 17 3 2. + 0 + 0.0810910016298294 + 0.0861330032348633 + 2.4559431076049805 + <_> + + <_> + + + + <_>1 10 17 6 -1. + <_>1 13 17 3 2. + 0 + 0.0184950008988380 + 0.0402290001511574 + -0.5085819959640503 + <_> + + <_> + + + + <_>16 7 8 9 -1. + <_>16 10 8 3 3. + 0 + -0.0863209962844849 + -1.9006760120391846 + 0.1101910024881363 + <_> + + <_> + + + + <_>0 7 8 9 -1. + <_>0 10 8 3 3. + 0 + 0.0723550021648407 + -0.0621119998395443 + -1.4165179729461670 + <_> + + <_> + + + + <_>0 9 24 10 -1. + <_>12 9 12 5 2. + <_>0 14 12 5 2. + 0 + -0.0781790018081665 + 0.8884930014610291 + 0.0423699989914894 + <_> + + <_> + + + + <_>3 2 15 8 -1. + <_>8 2 5 8 3. + 0 + 0.0966819971799850 + -0.2209420055150986 + 0.3357509970664978 + <_> + + <_> + + + + <_>4 2 18 8 -1. + <_>10 2 6 8 3. + 0 + -0.0398759990930557 + 0.5780479907989502 + 0.0453479997813702 + <_> + + <_> + + + + <_>0 1 18 4 -1. + <_>0 1 9 2 2. + <_>9 3 9 2 2. + 0 + -9.5349997282028198e-003 + -0.5417569875717163 + 3.2399999909102917e-003 + <_> + + <_> + + + + <_>20 2 3 18 -1. + <_>21 2 1 18 3. + 0 + 4.0600000647827983e-004 + -0.0815490037202835 + 0.3583790063858032 + <_> + + <_> + + + + <_>1 3 3 19 -1. + <_>2 3 1 19 3. + 0 + 0.0121079999953508 + -0.2028039991855621 + 0.4376800060272217 + <_> + + <_> + + + + <_>18 8 6 16 -1. + <_>20 8 2 16 3. + 0 + -0.0208739992231131 + 0.4146989881992340 + -0.0455680005252361 + <_> + + <_> + + + + <_>0 8 6 16 -1. + <_>2 8 2 16 3. + 0 + 0.0578880012035370 + -0.0290099997073412 + -0.9182230234146118 + <_> + + <_> + + + + <_>8 18 11 6 -1. + <_>8 20 11 2 3. + 0 + 1.3200000103097409e-004 + -0.1177240014076233 + 0.2000000029802322 + <_> + + <_> + + + + <_>4 6 12 5 -1. + <_>8 6 4 5 3. + 0 + -0.0171370003372431 + 0.3300479948520660 + -0.2305520027875900 + <_> + + <_> + + + + <_>7 6 12 5 -1. + <_>11 6 4 5 3. + 0 + 0.0306550003588200 + -0.0215450003743172 + 0.2687819898128510 + <_> + + <_> + + + + <_>6 3 9 6 -1. + <_>9 3 3 6 3. + 0 + -7.8699999721720815e-004 + -0.4410069882869721 + 0.0491579994559288 + <_> + + <_> + + + + <_>7 6 12 5 -1. + <_>7 6 6 5 2. + 0 + 0.0880369991064072 + 0.1178200021386147 + -2.8293309211730957 + <_> + + <_> + + + + <_>9 8 6 7 -1. + <_>12 8 3 7 2. + 0 + -0.0390289984643459 + 0.9177719950675964 + -0.1582739949226379 + <_> + + <_> + + + + <_>8 2 9 6 -1. + <_>11 2 3 6 3. + 0 + 0.0801059976220131 + 0.1128920018672943 + -1.9937280416488647 + <_> + + <_> + + + + <_>8 14 6 9 -1. + <_>8 17 6 3 3. + 0 + 0.0395389981567860 + -0.1435739994049072 + 1.3085240125656128 + <_> + + <_> + + + + <_>8 2 9 6 -1. + <_>11 2 3 6 3. + 0 + 0.0206840001046658 + 0.2004809975624085 + -0.0441869981586933 + <_> + + <_> + + + + <_>4 3 16 20 -1. + <_>4 3 8 10 2. + <_>12 13 8 10 2. + 0 + -0.0670379996299744 + 0.3261860013008118 + -0.2055040001869202 + <_> + + <_> + + + + <_>7 6 10 12 -1. + <_>12 6 5 6 2. + <_>7 12 5 6 2. + 0 + 0.0468150004744530 + 0.1582529991865158 + -0.9553509950637817 + <_> + + <_> + + + + <_>0 2 7 12 -1. + <_>0 6 7 4 3. + 0 + 0.0784439966082573 + -0.0746510028839111 + -2.1161499023437500 + <_> + + <_> + + + + <_>12 17 11 6 -1. + <_>12 19 11 2 3. + 0 + 0.0663800016045570 + 0.1164190024137497 + -1.6113519668579102 + <_> + + <_> + + + + <_>4 7 12 8 -1. + <_>4 7 6 4 2. + <_>10 11 6 4 2. + 0 + 0.0300539992749691 + -0.1656260043382645 + 0.7002540230751038 + <_> + + <_> + + + + <_>8 11 8 10 -1. + <_>12 11 4 5 2. + <_>8 16 4 5 2. + 0 + 0.0171199999749660 + 0.2262769937515259 + -0.4011499881744385 + <_> + + <_> + + + + <_>9 1 4 9 -1. + <_>11 1 2 9 2. + 0 + 0.0200730003416538 + -0.1938969939947128 + 0.4442029893398285 + <_> + + <_> + + + + <_>14 0 3 22 -1. + <_>15 0 1 22 3. + 0 + 0.0331019982695580 + 0.1163749992847443 + -1.5771679878234863 + <_> + + <_> + + + + <_>7 0 3 22 -1. + <_>8 0 1 22 3. + 0 + -0.0148820001631975 + -0.8968030214309692 + -0.0420100018382072 + <_> + + <_> + + + + <_>4 7 18 4 -1. + <_>13 7 9 2 2. + <_>4 9 9 2 2. + 0 + -0.0102810002863407 + 0.3560299873352051 + -0.0131240002810955 + <_> + + <_> + + + + <_>10 2 4 15 -1. + <_>10 7 4 5 3. + 0 + -0.0286950003355742 + -0.4603959918022156 + 0.0268019996583462 + <_> + + <_> + + + + <_>12 1 3 12 -1. + <_>12 7 3 6 2. + 0 + -4.7189998440444469e-003 + 0.2378879934549332 + -0.0655189976096153 + <_> + + <_> + + + + <_>0 0 18 13 -1. + <_>9 0 9 13 2. + 0 + 0.3220160007476807 + -0.0284899994730949 + -0.8423460125923157 + <_> + + <_> + + + + <_>16 0 3 24 -1. + <_>17 0 1 24 3. + 0 + -0.0170450005680323 + -0.5093880295753479 + 0.1605760008096695 + <_> + + <_> + + + + <_>5 0 3 24 -1. + <_>6 0 1 24 3. + 0 + -7.3469998314976692e-003 + -0.5415499806404114 + 4.7320001758635044e-003 + <_> + + <_> + + + + <_>10 15 5 8 -1. + <_>10 19 5 4 2. + 0 + -0.0300019998103380 + -0.8878579735755920 + 0.1362179964780808 + <_> + + <_> + + + + <_>2 18 18 2 -1. + <_>2 19 18 1 2. + 0 + -0.0112929996103048 + 0.8061519861221314 + -0.1615950018167496 + <_> + + <_> + + + + <_>2 8 20 3 -1. + <_>2 9 20 1 3. + 0 + 4.7749998047947884e-003 + 0.0129680000245571 + 0.5507990121841431 + <_> + + <_> + + + + <_>7 6 9 6 -1. + <_>7 8 9 2 3. + 0 + 5.0710001960396767e-003 + -0.0457280017435551 + -1.0766259431838989 + <_> + + <_> + + + + <_>3 2 19 10 -1. + <_>3 7 19 5 2. + 0 + 0.1934410035610199 + 0.0712620019912720 + 1.1694519519805908 + <_> + + <_> + + + + <_>2 7 19 3 -1. + <_>2 8 19 1 3. + 0 + 5.3750001825392246e-003 + -0.1973620057106018 + 0.3820689916610718 + <_> + + <_> + + + + <_>15 6 9 4 -1. + <_>15 8 9 2 2. + 0 + -0.0682760030031204 + -5.4372339248657227 + 0.1115190014243126 + <_> + + <_> + + + + <_>2 2 18 8 -1. + <_>8 2 6 8 3. + 0 + -0.0349330008029938 + 0.4479340016841888 + -0.1865790039300919 + <_> + + <_> + + + + <_>10 9 14 4 -1. + <_>10 9 7 4 2. + 0 + 5.1219998858869076e-003 + -0.0148719996213913 + 0.1841389983892441 + <_> + + <_> + + + + <_>4 4 6 16 -1. + <_>7 4 3 16 2. + 0 + 0.0953119993209839 + -0.1511709988117218 + 0.9499149918556213 + <_> + + <_> + + + + <_>15 8 9 16 -1. + <_>18 8 3 16 3. + 0 + -0.0628490000963211 + 0.4647360146045685 + 0.0384050011634827 + <_> + + <_> + + + + <_>0 8 9 16 -1. + <_>3 8 3 16 3. + 0 + -0.1704069972038269 + -1.6499999761581421 + -0.0632369965314865 + <_> + + <_> + + + + <_>18 0 6 14 -1. + <_>20 0 2 14 3. + 0 + 0.0105839995667338 + -0.0383489988744259 + 0.4191380143165588 + <_> + + <_> + + + + <_>0 0 6 14 -1. + <_>2 0 2 14 3. + 0 + -0.0415790006518364 + 0.3446190059185028 + -0.2118770033121109 + <_> + + <_> + + + + <_>15 0 6 22 -1. + <_>17 0 2 22 3. + 0 + 0.1271860003471375 + 0.1239819973707199 + -2.1254889965057373 + <_> + + <_> + + + + <_>3 0 6 22 -1. + <_>5 0 2 22 3. + 0 + 0.0825570002198219 + -0.0620240010321140 + -1.4875819683074951 + <_> + + <_> + + + + <_>12 2 12 20 -1. + <_>16 2 4 20 3. + 0 + 0.0852930024266243 + 0.0170879997313023 + 0.3207660019397736 + <_> + + <_> + + + + <_>0 2 12 20 -1. + <_>4 2 4 20 3. + 0 + 0.0555440001189709 + -0.2741400003433228 + 0.1897639930248261 + <_> + + <_> + + + + <_>11 6 4 9 -1. + <_>11 6 2 9 2. + 0 + 4.5650000683963299e-003 + -0.1792020052671433 + 0.2796730101108551 + <_> + + <_> + + + + <_>9 0 6 16 -1. + <_>12 0 3 16 2. + 0 + 0.0129979997873306 + -0.3229750096797943 + 0.2694180011749268 + <_> + + <_> + + + + <_>12 1 3 12 -1. + <_>12 7 3 6 2. + 0 + 0.0578919984400272 + 0.1264439970254898 + -0.6071349978446960 + <_> + + <_> + + + + <_>3 4 18 6 -1. + <_>3 4 9 3 2. + <_>12 7 9 3 2. + 0 + -0.0228240005671978 + -0.4968209862709045 + 0.0223769992589951 + <_> + + <_> + + + + <_>5 5 16 8 -1. + <_>13 5 8 4 2. + <_>5 9 8 4 2. + 0 + 0.0483120009303093 + 0.0436070002615452 + 0.4853779971599579 + <_> + + <_> + + + + <_>0 13 10 6 -1. + <_>0 15 10 2 3. + 0 + 0.0257140006870031 + -0.0429509989917278 + -0.9302350282669067 + <_> + + <_> + + + + <_>8 14 9 6 -1. + <_>8 16 9 2 3. + 0 + 6.9269998930394650e-003 + -2.9680000152438879e-003 + 0.3429630100727081 + <_> + + <_> + + + + <_>6 2 9 6 -1. + <_>9 2 3 6 3. + 0 + -0.0344469994306564 + -1.5299769639968872 + -0.0610149987041950 + <_> + + <_> + + + + <_>14 1 10 8 -1. + <_>19 1 5 4 2. + <_>14 5 5 4 2. + 0 + 0.0293879993259907 + 0.0375959984958172 + 0.6417239904403687 + <_> + + <_> + + + + <_>9 1 3 12 -1. + <_>9 7 3 6 2. + 0 + -2.4319998919963837e-003 + 0.0990889966487885 + -0.3968810141086578 + -3.3703000545501709 + 22 + -1 + <_> + + + <_> + + <_> + + + + <_>6 4 12 9 -1. + <_>6 7 12 3 3. + 0 + -0.0959440022706985 + 0.6241909861564636 + -0.4587520062923431 + <_> + + <_> + + + + <_>6 5 12 6 -1. + <_>10 5 4 6 3. + 0 + 0.0168340001255274 + -0.9307280182838440 + 0.2156360000371933 + <_> + + <_> + + + + <_>1 1 8 5 -1. + <_>5 1 4 5 2. + 0 + 0.0260499995201826 + -0.4053229987621307 + 0.4225659966468811 + <_> + + <_> + + + + <_>12 12 6 8 -1. + <_>12 16 6 4 2. + 0 + 3.6500001442618668e-004 + 0.0952880010008812 + -0.6329810023307800 + <_> + + <_> + + + + <_>3 12 12 6 -1. + <_>3 14 12 2 3. + 0 + -6.6940002143383026e-003 + 0.3724380135536194 + -0.3033240139484406 + <_> + + <_> + + + + <_>9 18 12 6 -1. + <_>15 18 6 3 2. + <_>9 21 6 3 2. + 0 + 0.0188740007579327 + -0.2335720062255859 + 0.4033069908618927 + <_> + + <_> + + + + <_>4 13 6 6 -1. + <_>4 16 6 3 2. + 0 + -1.6300000424962491e-004 + 0.0428869985044003 + -0.7779679894447327 + <_> + + <_> + + + + <_>11 3 7 18 -1. + <_>11 12 7 9 2. + 0 + -0.0762590020895004 + -0.4962849915027618 + 0.1633539944887161 + <_> + + <_> + + + + <_>3 9 18 3 -1. + <_>9 9 6 3 3. + 0 + 0.0501490011811256 + 0.0327470004558563 + -0.8004789948463440 + <_> + + <_> + + + + <_>5 3 19 2 -1. + <_>5 4 19 1 2. + 0 + -2.9239999130368233e-003 + -0.5000280141830444 + 0.2548060119152069 + <_> + + <_> + + + + <_>4 2 12 6 -1. + <_>4 2 6 3 2. + <_>10 5 6 3 2. + 0 + 0.0162439998239279 + 0.0389130003750324 + -0.7072489857673645 + <_> + + <_> + + + + <_>9 6 6 9 -1. + <_>11 6 2 9 3. + 0 + 0.0378119982779026 + -0.0662679970264435 + 0.7386879920959473 + <_> + + <_> + + + + <_>8 6 6 9 -1. + <_>10 6 2 9 3. + 0 + -0.0123199997469783 + 0.4869639873504639 + -0.2448559999465942 + <_> + + <_> + + + + <_>16 9 5 15 -1. + <_>16 14 5 5 3. + 0 + 0.0580039992928505 + 0.1345909982919693 + -0.1323210000991821 + <_> + + <_> + + + + <_>3 9 5 15 -1. + <_>3 14 5 5 3. + 0 + 4.8630000092089176e-003 + -0.4417290091514587 + 0.1400559991598129 + <_> + + <_> + + + + <_>6 6 14 6 -1. + <_>13 6 7 3 2. + <_>6 9 7 3 2. + 0 + 0.0456909984350204 + 0.0312179997563362 + 0.8981829881668091 + <_> + + <_> + + + + <_>8 6 3 14 -1. + <_>8 13 3 7 2. + 0 + 0.0213210005313158 + 0.0120080001652241 + -0.8606619834899902 + <_> + + <_> + + + + <_>0 16 24 5 -1. + <_>8 16 8 5 3. + 0 + 0.1567910015583038 + 0.0140559999272227 + 0.8533290028572083 + <_> + + <_> + + + + <_>0 20 20 3 -1. + <_>10 20 10 3 2. + 0 + -0.0103289997205138 + 0.2902280092239380 + -0.2947880029678345 + <_> + + <_> + + + + <_>5 10 18 2 -1. + <_>5 11 18 1 2. + 0 + 2.4290001019835472e-003 + -0.4043990075588226 + 0.1940020024776459 + <_> + + <_> + + + + <_>0 6 6 10 -1. + <_>2 6 2 10 3. + 0 + -0.0233389995992184 + 0.3294520080089569 + -0.2571269869804382 + <_> + + <_> + + + + <_>2 1 20 3 -1. + <_>2 2 20 1 3. + 0 + -6.8970001302659512e-003 + -0.5335299968719482 + 0.2163520008325577 + <_> + + <_> + + + + <_>9 13 6 11 -1. + <_>11 13 2 11 3. + 0 + -0.0344030000269413 + -1.4425489902496338 + -0.0446829982101917 + <_> + + <_> + + + + <_>9 15 6 8 -1. + <_>9 19 6 4 2. + 0 + -0.0212350003421307 + -0.7901750206947327 + 0.1908410042524338 + <_> + + <_> + + + + <_>9 12 6 9 -1. + <_>9 15 6 3 3. + 0 + 2.0620001014322042e-003 + -0.2693119943141937 + 0.3148800134658814 + <_> + + <_> + + + + <_>5 11 18 2 -1. + <_>5 12 18 1 2. + 0 + -4.2190002277493477e-003 + -0.5446439981460571 + 0.1657460033893585 + <_> + + <_> + + + + <_>2 6 15 6 -1. + <_>2 8 15 2 3. + 0 + -0.0143349999561906 + 0.0221050009131432 + -0.6234250068664551 + <_> + + <_> + + + + <_>6 0 18 3 -1. + <_>6 1 18 1 3. + 0 + -8.2120001316070557e-003 + -0.4988499879837036 + 0.1923709958791733 + <_> + + <_> + + + + <_>5 0 3 18 -1. + <_>6 0 1 18 3. + 0 + -9.3350000679492950e-003 + -0.7913119792938232 + -0.0141439996659756 + <_> + + <_> + + + + <_>18 3 6 10 -1. + <_>20 3 2 10 3. + 0 + -0.0379379987716675 + 0.7984129786491394 + -0.0337990000844002 + <_> + + <_> + + + + <_>0 3 6 10 -1. + <_>2 3 2 10 3. + 0 + 4.7059999778866768e-003 + -0.3316340148448944 + 0.2072629928588867 + <_> + + <_> + + + + <_>10 5 8 9 -1. + <_>10 5 4 9 2. + 0 + -4.4499998912215233e-003 + -0.2725630104541779 + 0.1840219944715500 + <_> + + <_> + + + + <_>6 5 8 9 -1. + <_>10 5 4 9 2. + 0 + 5.2189999260008335e-003 + -0.5309600234031677 + 0.0526079982519150 + <_> + + <_> + + + + <_>3 2 20 3 -1. + <_>3 3 20 1 3. + 0 + -9.5399999991059303e-003 + -0.5648540258407593 + 0.1926939934492111 + <_> + + <_> + + + + <_>5 2 13 4 -1. + <_>5 4 13 2 2. + 0 + 0.0449699983000755 + -0.1741150021553040 + 0.9538260102272034 + <_> + + <_> + + + + <_>17 0 7 14 -1. + <_>17 7 7 7 2. + 0 + 0.0142090003937483 + -0.0919490009546280 + 0.2483610063791275 + <_> + + <_> + + + + <_>0 0 7 14 -1. + <_>0 7 7 7 2. + 0 + 0.1638019979000092 + -0.0584970004856586 + -1.6404409408569336 + <_> + + <_> + + + + <_>9 11 10 6 -1. + <_>9 11 5 6 2. + 0 + 2.5579999200999737e-003 + 0.2344799935817719 + -0.0927340015769005 + <_> + + <_> + + + + <_>5 11 10 6 -1. + <_>10 11 5 6 2. + 0 + -3.8499999791383743e-003 + 0.1788070052862167 + -0.3584409952163696 + <_> + + <_> + + + + <_>11 6 3 18 -1. + <_>11 12 3 6 3. + 0 + -0.0252219997346401 + -0.4290300011634827 + 0.2024450004100800 + <_> + + <_> + + + + <_>0 16 18 3 -1. + <_>0 17 18 1 3. + 0 + -0.0194150004535913 + 0.5801630020141602 + -0.1880639940500259 + <_> + + <_> + + + + <_>6 16 18 3 -1. + <_>6 17 18 1 3. + 0 + 0.0144199999049306 + 0.0328469984233379 + 0.8198050260543823 + <_> + + <_> + + + + <_>4 6 9 10 -1. + <_>4 11 9 5 2. + 0 + 0.0515829995274544 + 0.0691760033369064 + -0.4586629867553711 + <_> + + <_> + + + + <_>9 7 15 4 -1. + <_>9 9 15 2 2. + 0 + -0.0379600003361702 + -1.2553000450134277 + 0.1433289945125580 + <_> + + <_> + + + + <_>5 6 12 6 -1. + <_>5 6 6 3 2. + <_>11 9 6 3 2. + 0 + -0.0295609999448061 + 0.5315179824829102 + -0.2059649974107742 + <_> + + <_> + + + + <_>6 1 12 9 -1. + <_>6 4 12 3 3. + 0 + -0.0391109995543957 + 1.1658719778060913 + 0.0538970008492470 + <_> + + <_> + + + + <_>7 9 6 12 -1. + <_>7 9 3 6 2. + <_>10 15 3 6 2. + 0 + -0.0291590001434088 + 0.3930760025978088 + -0.2218450009822846 + <_> + + <_> + + + + <_>11 5 13 6 -1. + <_>11 7 13 2 3. + 0 + -0.0836170017719269 + -0.7374449968338013 + 0.1426820009946823 + <_> + + <_> + + + + <_>1 11 22 13 -1. + <_>12 11 11 13 2. + 0 + 0.4200400114059448 + -0.1427740007638931 + 1.7894840240478516 + <_> + + <_> + + + + <_>18 8 6 6 -1. + <_>18 11 6 3 2. + 0 + 0.0600050017237663 + 0.1197670027613640 + -1.8886189460754395 + <_> + + <_> + + + + <_>0 8 6 6 -1. + <_>0 11 6 3 2. + 0 + -0.0189810004085302 + -1.4148449897766113 + -0.0565229989588261 + <_> + + <_> + + + + <_>0 6 24 3 -1. + <_>0 7 24 1 3. + 0 + -6.0049998573958874e-003 + 0.4417079985141754 + -0.1020080000162125 + <_> + + <_> + + + + <_>0 5 10 6 -1. + <_>0 7 10 2 3. + 0 + -0.0582140013575554 + -1.3918470144271851 + -0.0482689999043942 + <_> + + <_> + + + + <_>6 7 18 3 -1. + <_>6 8 18 1 3. + 0 + -0.0122710000723600 + 0.5131769776344299 + -0.0936969965696335 + <_> + + <_> + + + + <_>0 0 10 6 -1. + <_>0 2 10 2 3. + 0 + 0.0465859994292259 + -0.0574840009212494 + -1.4283169507980347 + <_> + + <_> + + + + <_>19 0 3 19 -1. + <_>20 0 1 19 3. + 0 + 1.2110000243410468e-003 + -0.0808919966220856 + 0.3233320116996765 + <_> + + <_> + + + + <_>4 6 12 16 -1. + <_>4 6 6 8 2. + <_>10 14 6 8 2. + 0 + -0.0886420011520386 + -0.8644909858703613 + -0.0331469997763634 + <_> + + <_> + + + + <_>19 6 4 18 -1. + <_>21 6 2 9 2. + <_>19 15 2 9 2. + 0 + -0.0231849998235703 + 0.5216220021247864 + -0.0161680001765490 + <_> + + <_> + + + + <_>1 6 4 18 -1. + <_>1 6 2 9 2. + <_>3 15 2 9 2. + 0 + 0.0430900007486343 + -0.1615380048751831 + 1.0915000438690186 + <_> + + <_> + + + + <_>3 21 18 3 -1. + <_>3 22 18 1 3. + 0 + 2.0599999697878957e-004 + -0.1709149926900864 + 0.3123669922351837 + <_> + + <_> + + + + <_>0 19 9 4 -1. + <_>0 21 9 2 2. + 0 + 8.9159999042749405e-003 + -6.7039998248219490e-003 + -0.6881039738655090 + <_> + + <_> + + + + <_>12 18 12 6 -1. + <_>18 18 6 3 2. + <_>12 21 6 3 2. + 0 + -0.0177529994398355 + 0.6329280138015747 + -4.2360001243650913e-003 + <_> + + <_> + + + + <_>7 18 9 4 -1. + <_>7 20 9 2 2. + 0 + 6.2299999408423901e-003 + -0.3363719880580902 + 0.1279059946537018 + <_> + + <_> + + + + <_>12 16 10 8 -1. + <_>17 16 5 4 2. + <_>12 20 5 4 2. + 0 + 0.0227700006216764 + -0.0347039997577667 + 0.3914180099964142 + <_> + + <_> + + + + <_>2 16 10 8 -1. + <_>2 16 5 4 2. + <_>7 20 5 4 2. + 0 + -0.0215349998325109 + 0.6476510167121887 + -0.2009779959917069 + <_> + + <_> + + + + <_>14 0 10 12 -1. + <_>19 0 5 6 2. + <_>14 6 5 6 2. + 0 + 0.0617589987814426 + 0.0542970001697540 + 0.9070010185241699 + <_> + + <_> + + + + <_>0 0 10 12 -1. + <_>0 0 5 6 2. + <_>5 6 5 6 2. + 0 + -0.0780699998140335 + 0.6552339792251587 + -0.1975439935922623 + <_> + + <_> + + + + <_>15 14 9 6 -1. + <_>15 16 9 2 3. + 0 + 0.0113150002434850 + 0.1938530057668686 + -0.5170729756355286 + <_> + + <_> + + + + <_>0 14 9 6 -1. + <_>0 16 9 2 3. + 0 + -0.0255900006741285 + -0.9309650063514710 + -0.0315469987690449 + <_> + + <_> + + + + <_>14 14 10 6 -1. + <_>14 16 10 2 3. + 0 + -0.0380589999258518 + -0.6832690238952637 + 0.1270910054445267 + <_> + + <_> + + + + <_>0 14 10 6 -1. + <_>0 16 10 2 3. + 0 + 9.7970003262162209e-003 + 0.0155239999294281 + -0.6334789991378784 + <_> + + <_> + + + + <_>5 18 18 2 -1. + <_>5 19 18 1 2. + 0 + -0.0138419996947050 + 1.0060529708862305 + 0.0628129988908768 + <_> + + <_> + + + + <_>0 18 18 3 -1. + <_>0 19 18 1 3. + 0 + 8.3459997549653053e-003 + -0.2338320016860962 + 0.3098269999027252 + <_> + + <_> + + + + <_>3 5 18 12 -1. + <_>12 5 9 6 2. + <_>3 11 9 6 2. + 0 + -0.0714399963617325 + -0.7250540256500244 + 0.1714829951524735 + <_> + + <_> + + + + <_>5 3 7 9 -1. + <_>5 6 7 3 3. + 0 + 0.0100060002878308 + -0.2207199931144714 + 0.3526619970798492 + <_> + + <_> + + + + <_>4 0 19 15 -1. + <_>4 5 19 5 3. + 0 + 0.1100530028343201 + 0.1666200011968613 + -0.7431899905204773 + <_> + + <_> + + + + <_>3 0 16 4 -1. + <_>3 2 16 2 2. + 0 + 0.0353109985589981 + -0.2398270070552826 + 0.4143599867820740 + <_> + + <_> + + + + <_>4 12 16 12 -1. + <_>4 12 8 12 2. + 0 + -0.1117469966411591 + 0.5104539990425110 + 2.2319999989122152e-003 + <_> + + <_> + + + + <_>4 3 12 15 -1. + <_>10 3 6 15 2. + 0 + -0.1136780008673668 + 0.9047520160675049 + -0.1661529988050461 + <_> + + <_> + + + + <_>16 4 2 19 -1. + <_>16 4 1 19 2. + 0 + 0.0166679993271828 + 0.1402450054883957 + -0.5217850208282471 + <_> + + <_> + + + + <_>6 4 2 19 -1. + <_>7 4 1 19 2. + 0 + -8.0340001732110977e-003 + -0.6617839932441711 + 3.7640000227838755e-003 + <_> + + <_> + + + + <_>13 14 8 10 -1. + <_>17 14 4 5 2. + <_>13 19 4 5 2. + 0 + -0.0330969989299774 + 0.8018590211868286 + 0.0593850016593933 + <_> + + <_> + + + + <_>3 14 8 10 -1. + <_>3 14 4 5 2. + <_>7 19 4 5 2. + 0 + 0.0125479996204376 + -0.3354550004005432 + 0.1457860022783279 + <_> + + <_> + + + + <_>12 6 3 18 -1. + <_>12 12 3 6 3. + 0 + -0.0420739986002445 + -0.5550910234451294 + 0.1326660066843033 + <_> + + <_> + + + + <_>5 11 12 6 -1. + <_>5 11 6 3 2. + <_>11 14 6 3 2. + 0 + 0.0252219997346401 + -0.0616319999098778 + -1.3678770065307617 + <_> + + <_> + + + + <_>10 5 8 10 -1. + <_>14 5 4 5 2. + <_>10 10 4 5 2. + 0 + -0.0242689996957779 + 0.3418509960174561 + -7.4160001240670681e-003 + <_> + + <_> + + + + <_>6 4 12 10 -1. + <_>6 4 6 5 2. + <_>12 9 6 5 2. + 0 + -0.0122800003737211 + 0.2774580121040344 + -0.3103390038013458 + <_> + + <_> + + + + <_>6 8 18 10 -1. + <_>15 8 9 5 2. + <_>6 13 9 5 2. + 0 + -0.1137709990143776 + 1.1719540357589722 + 0.0836810022592545 + <_> + + <_> + + + + <_>0 8 18 10 -1. + <_>0 8 9 5 2. + <_>9 13 9 5 2. + 0 + -0.0847719982266426 + 0.8169479966163635 + -0.1783750057220459 + <_> + + <_> + + + + <_>12 6 3 18 -1. + <_>12 12 3 6 3. + 0 + -0.0245520006865263 + -0.1862729936838150 + 0.1434009969234467 + <_> + + <_> + + + + <_>0 14 18 3 -1. + <_>0 15 18 1 3. + 0 + -9.0269995853304863e-003 + 0.3265919983386993 + -0.2354129999876022 + <_> + + <_> + + + + <_>12 6 3 18 -1. + <_>12 12 3 6 3. + 0 + 0.0111779998987913 + 0.1976120024919510 + -0.0217010006308556 + <_> + + <_> + + + + <_>9 6 3 18 -1. + <_>9 12 3 6 3. + 0 + -0.0293669998645782 + -0.9341480135917664 + -0.0217049997299910 + <_> + + <_> + + + + <_>6 14 18 3 -1. + <_>6 15 18 1 3. + 0 + 6.3640000298619270e-003 + 0.0255730003118515 + 0.4641279876232147 + <_> + + <_> + + + + <_>0 5 18 3 -1. + <_>0 6 18 1 3. + 0 + 0.0140260001644492 + -0.2122859954833984 + 0.4007880091667175 + <_> + + <_> + + + + <_>2 5 22 3 -1. + <_>2 6 22 1 3. + 0 + -0.0133419996127486 + 0.7420269846916199 + 0.0290019996464252 + <_> + + <_> + + + + <_>0 0 21 10 -1. + <_>7 0 7 10 3. + 0 + 0.2842279970645905 + -0.1924359947443008 + 0.4363119900226593 + <_> + + <_> + + + + <_>6 3 18 17 -1. + <_>12 3 6 17 3. + 0 + -0.2372400015592575 + 0.6973639726638794 + 0.0693079978227615 + <_> + + <_> + + + + <_>0 3 18 17 -1. + <_>6 3 6 17 3. + 0 + -0.1116970032453537 + 0.3914720118045807 + -0.2092200070619583 + <_> + + <_> + + + + <_>0 12 24 11 -1. + <_>8 12 8 11 3. + 0 + 0.1278750002384186 + -0.0725559964776039 + 0.3608820140361786 + <_> + + <_> + + + + <_>4 10 16 6 -1. + <_>4 13 16 3 2. + 0 + -0.0629009976983070 + 0.9542499780654907 + -0.1540279984474182 + <_> + + <_> + + + + <_>12 8 6 8 -1. + <_>12 12 6 4 2. + 0 + 0.0174390003085136 + -0.0511349998414516 + 0.2775030136108398 + <_> + + <_> + + + + <_>6 14 8 7 -1. + <_>10 14 4 7 2. + 0 + 1.2319999514147639e-003 + 0.0756279975175858 + -0.3645609915256500 + <_> + + <_> + + + + <_>15 10 6 14 -1. + <_>18 10 3 7 2. + <_>15 17 3 7 2. + 0 + 0.0274950005114079 + 0.0518440008163452 + 0.4156259894371033 + <_> + + <_> + + + + <_>3 10 6 14 -1. + <_>3 10 3 7 2. + <_>6 17 3 7 2. + 0 + -0.0435439981520176 + 0.7196999788284302 + -0.1713220030069351 + <_> + + <_> + + + + <_>6 12 18 2 -1. + <_>6 13 18 1 2. + 0 + 0.0110259996727109 + 0.1435460001230240 + -0.6540300250053406 + <_> + + <_> + + + + <_>5 8 10 6 -1. + <_>5 10 10 2 3. + 0 + 0.0208659991621971 + 0.0400890000164509 + -0.4574329853057861 + <_> + + <_> + + + + <_>12 11 9 4 -1. + <_>12 13 9 2 2. + 0 + -0.0223040003329515 + 0.5385500192642212 + 0.0716629996895790 + <_> + + <_> + + + + <_>0 11 9 6 -1. + <_>0 13 9 2 3. + 0 + 0.0324920006096363 + -0.0459919981658459 + -1.0047069787979126 + <_> + + <_> + + + + <_>11 2 3 18 -1. + <_>12 2 1 18 3. + 0 + 0.0122699998319149 + 0.0343349985778332 + 0.4243179857730866 + <_> + + <_> + + + + <_>10 2 3 18 -1. + <_>11 2 1 18 3. + 0 + 8.3820000290870667e-003 + -0.2585060000419617 + 0.2626349925994873 + <_> + + <_> + + + + <_>9 12 6 10 -1. + <_>11 12 2 10 3. + 0 + 0.0373539999127388 + 0.1569249927997589 + -1.0429090261459351 + <_> + + <_> + + + + <_>1 10 6 9 -1. + <_>1 13 6 3 3. + 0 + -0.0141110001131892 + -0.7317770123481751 + -0.0202769991010427 + <_> + + <_> + + + + <_>6 9 16 6 -1. + <_>14 9 8 3 2. + <_>6 12 8 3 2. + 0 + 0.0570669993758202 + 0.0833600014448166 + 1.5661499500274658 + <_> + + <_> + + + + <_>1 8 9 6 -1. + <_>1 10 9 2 3. + 0 + 4.9680001102387905e-003 + -0.3531819880008698 + 0.1469839960336685 + <_> + + <_> + + + + <_>7 7 16 6 -1. + <_>7 9 16 2 3. + 0 + -0.0244929995387793 + 0.2832590043544769 + -3.4640000667423010e-003 + <_> + + <_> + + + + <_>0 0 18 3 -1. + <_>0 1 18 1 3. + 0 + -0.0112549997866154 + -0.8401749730110169 + -0.0362519994378090 + <_> + + <_> + + + + <_>10 0 6 9 -1. + <_>12 0 2 9 3. + 0 + 0.0345330014824867 + 0.1499850004911423 + -0.8736709952354431 + <_> + + <_> + + + + <_>9 5 6 6 -1. + <_>12 5 3 6 2. + 0 + 0.0243030004203320 + -0.1878750026226044 + 0.5948399901390076 + <_> + + <_> + + + + <_>10 6 4 18 -1. + <_>12 6 2 9 2. + <_>10 15 2 9 2. + 0 + -7.8790001571178436e-003 + 0.4431569874286652 + -0.0565709993243217 + <_> + + <_> + + + + <_>8 0 6 9 -1. + <_>10 0 2 9 3. + 0 + 0.0351420007646084 + -0.0564949996769428 + -1.3617190122604370 + <_> + + <_> + + + + <_>9 1 6 9 -1. + <_>9 4 6 3 3. + 0 + 4.6259998343884945e-003 + -0.3116169869899750 + 0.2544769942760468 + <_> + + <_> + + + + <_>1 0 18 9 -1. + <_>1 3 18 3 3. + 0 + -0.0831310003995895 + 1.6424349546432495 + -0.1442939937114716 + <_> + + <_> + + + + <_>0 3 24 3 -1. + <_>0 4 24 1 3. + 0 + -0.0140159996226430 + -0.7781950235366821 + 0.1717330068349838 + <_> + + <_> + + + + <_>6 14 9 4 -1. + <_>6 16 9 2 2. + 0 + 1.2450000504031777e-003 + -0.2319139987230301 + 0.2852790057659149 + <_> + + <_> + + + + <_>8 9 8 10 -1. + <_>12 9 4 5 2. + <_>8 14 4 5 2. + 0 + -0.0168030001223087 + -0.3596509993076325 + 0.2041299939155579 + <_> + + <_> + + + + <_>5 2 13 9 -1. + <_>5 5 13 3 3. + 0 + -0.0767479985952377 + 0.7805050015449524 + -0.1561280041933060 + <_> + + <_> + + + + <_>4 4 16 9 -1. + <_>4 7 16 3 3. + 0 + -0.2367199957370758 + 1.1813700199127197 + 0.0781119987368584 + <_> + + <_> + + + + <_>4 4 14 9 -1. + <_>4 7 14 3 3. + 0 + -0.1005740016698837 + -0.4710409939289093 + 0.0791729986667633 + <_> + + <_> + + + + <_>8 5 9 6 -1. + <_>8 7 9 2 3. + 0 + 1.3239999534562230e-003 + 0.2226269990205765 + -0.3709979951381683 + <_> + + <_> + + + + <_>1 7 16 6 -1. + <_>1 9 16 2 3. + 0 + 0.0221529994159937 + -0.0386490002274513 + -0.9227499961853027 + <_> + + <_> + + + + <_>10 5 13 9 -1. + <_>10 8 13 3 3. + 0 + -0.1124619990587235 + 0.4189960062503815 + 0.0804110020399094 + <_> + + <_> + + + + <_>1 5 13 9 -1. + <_>1 8 13 3 3. + 0 + 0.0164810009300709 + -0.1675669997930527 + 0.7184240221977234 + <_> + + <_> + + + + <_>0 4 24 6 -1. + <_>12 4 12 3 2. + <_>0 7 12 3 2. + 0 + 0.0681139975786209 + 0.1571989953517914 + -0.8768110275268555 + <_> + + <_> + + + + <_>1 14 10 9 -1. + <_>1 17 10 3 3. + 0 + 0.0160119999200106 + -4.1600000113248825e-003 + -0.5932779908180237 + <_> + + <_> + + + + <_>5 17 18 3 -1. + <_>5 18 18 1 3. + 0 + 4.6640001237392426e-003 + -0.0301539991050959 + 0.4834530055522919 + <_> + + <_> + + + + <_>0 16 18 3 -1. + <_>0 17 18 1 3. + 0 + 6.7579997703433037e-003 + -0.2266740053892136 + 0.3366230130195618 + <_> + + <_> + + + + <_>9 17 9 6 -1. + <_>9 19 9 2 3. + 0 + 4.7289999201893806e-003 + -0.0603739991784096 + 0.3145810067653656 + <_> + + <_> + + + + <_>1 20 22 4 -1. + <_>1 20 11 2 2. + <_>12 22 11 2 2. + 0 + 2.5869999080896378e-003 + -0.2987259924411774 + 0.1778749972581863 + <_> + + <_> + + + + <_>8 14 8 6 -1. + <_>8 17 8 3 2. + 0 + 2.8989999555051327e-003 + 0.2189020067453384 + -0.2956709861755371 + <_> + + <_> + + + + <_>8 6 8 15 -1. + <_>8 11 8 5 3. + 0 + -0.0300539992749691 + 1.2150429487228394 + -0.1435499936342239 + <_> + + <_> + + + + <_>5 4 18 3 -1. + <_>5 5 18 1 3. + 0 + 0.0141810001805425 + 0.0124519998207688 + 0.5549010038375855 + <_> + + <_> + + + + <_>9 3 5 10 -1. + <_>9 8 5 5 2. + 0 + -0.0605270005762577 + -1.4933999776840210 + -0.0652270019054413 + <_> + + <_> + + + + <_>6 8 12 3 -1. + <_>6 8 6 3 2. + 0 + -0.0198829993605614 + -0.3852640092372894 + 0.1976120024919510 + <_> + + <_> + + + + <_>2 6 18 6 -1. + <_>2 6 9 3 2. + <_>11 9 9 3 2. + 0 + 0.0312189999967813 + -0.2128120064735413 + 0.2944650053977966 + <_> + + <_> + + + + <_>10 6 4 18 -1. + <_>12 6 2 9 2. + <_>10 15 2 9 2. + 0 + 0.0182719994336367 + 9.7200000891461968e-004 + 0.6681420207023621 + <_> + + <_> + + + + <_>7 5 6 6 -1. + <_>10 5 3 6 2. + 0 + 1.1089999461546540e-003 + -0.6246790289878845 + -1.6599999507889152e-003 + <_> + + <_> + + + + <_>14 5 2 18 -1. + <_>14 14 2 9 2. + 0 + -0.0367139987647533 + -0.4233390092849731 + 0.1208470016717911 + <_> + + <_> + + + + <_>8 5 2 18 -1. + <_>8 14 2 9 2. + 0 + 0.0120440004393458 + 0.0258820001035929 + -0.5073239803314209 + <_> + + <_> + + + + <_>9 2 10 6 -1. + <_>9 2 5 6 2. + 0 + 0.0747490003705025 + 0.1318469941616058 + -0.2173960059881210 + <_> + + <_> + + + + <_>3 1 18 12 -1. + <_>12 1 9 12 2. + 0 + -0.2347320020198822 + 1.1775610446929932 + -0.1511469930410385 + <_> + + <_> + + + + <_>5 2 17 22 -1. + <_>5 13 17 11 2. + 0 + 0.1409649997949600 + 0.0339910015463829 + 0.3992309868335724 + <_> + + <_> + + + + <_>4 0 12 6 -1. + <_>4 2 12 2 3. + 0 + 6.1789997853338718e-003 + -0.3180670142173767 + 0.1168169975280762 + <_> + + <_> + + + + <_>6 9 16 6 -1. + <_>14 9 8 3 2. + <_>6 12 8 3 2. + 0 + -0.0572169981896877 + 0.8439909815788269 + 0.0838890001177788 + <_> + + <_> + + + + <_>9 0 5 18 -1. + <_>9 9 5 9 2. + 0 + -0.0552270002663136 + 0.3688830137252808 + -0.1891340017318726 + <_> + + <_> + + + + <_>12 0 6 9 -1. + <_>14 0 2 9 3. + 0 + -0.0215830001980066 + -0.5216180086135864 + 0.1577260047197342 + <_> + + <_> + + + + <_>6 0 6 9 -1. + <_>8 0 2 9 3. + 0 + 0.0257479995489120 + -0.0599219985306263 + -1.0674990415573120 + <_> + + <_> + + + + <_>9 1 6 12 -1. + <_>11 1 2 12 3. + 0 + -0.0130989998579025 + 0.7895839810371399 + 0.0520999990403652 + <_> + + <_> + + + + <_>5 9 13 4 -1. + <_>5 11 13 2 2. + 0 + 2.2799998987466097e-003 + -1.1704430580139160 + -0.0593569986522198 + <_> + + <_> + + + + <_>5 8 19 3 -1. + <_>5 9 19 1 3. + 0 + 8.8060004636645317e-003 + 0.0417179986834526 + 0.6635259985923767 + <_> + + <_> + + + + <_>9 9 6 8 -1. + <_>9 13 6 4 2. + 0 + -8.9699998497962952e-003 + -0.3586269915103912 + 0.0604580007493496 + <_> + + <_> + + + + <_>11 9 4 15 -1. + <_>11 14 4 5 3. + 0 + 4.0230001322925091e-003 + 0.2097939997911453 + -0.2480600029230118 + <_> + + <_> + + + + <_>2 0 6 14 -1. + <_>2 0 3 7 2. + <_>5 7 3 7 2. + 0 + 0.0250170007348061 + -0.1879590004682541 + 0.3954710066318512 + <_> + + <_> + + + + <_>15 1 6 14 -1. + <_>18 1 3 7 2. + <_>15 8 3 7 2. + 0 + -5.9009999968111515e-003 + 0.2566390037536621 + -0.0949190035462379 + <_> + + <_> + + + + <_>3 1 6 14 -1. + <_>3 1 3 7 2. + <_>6 8 3 7 2. + 0 + 4.3850000947713852e-003 + 0.0331390015780926 + -0.4607540071010590 + <_> + + <_> + + + + <_>3 20 18 4 -1. + <_>12 20 9 2 2. + <_>3 22 9 2 2. + 0 + -0.0337719991803169 + -0.9888160228729248 + 0.1463689953088760 + <_> + + <_> + + + + <_>5 0 4 20 -1. + <_>5 0 2 10 2. + <_>7 10 2 10 2. + 0 + 0.0445230007171631 + -0.1328669935464859 + 1.5796790122985840 + <_> + + <_> + + + + <_>16 8 8 12 -1. + <_>20 8 4 6 2. + <_>16 14 4 6 2. + 0 + -0.0409290008246899 + 0.3387709856033325 + 0.0749709978699684 + <_> + + <_> + + + + <_>0 8 8 12 -1. + <_>0 8 4 6 2. + <_>4 14 4 6 2. + 0 + 0.0393519997596741 + -0.1832789927721024 + 0.4698069989681244 + <_> + + <_> + + + + <_>13 13 10 8 -1. + <_>18 13 5 4 2. + <_>13 17 5 4 2. + 0 + -0.0703229978680611 + -0.9832270145416260 + 0.1180810034275055 + <_> + + <_> + + + + <_>1 13 10 8 -1. + <_>1 13 5 4 2. + <_>6 17 5 4 2. + 0 + 0.0357430018484592 + -0.0330509990453720 + -0.8361089825630188 + <_> + + <_> + + + + <_>15 8 4 15 -1. + <_>15 13 4 5 3. + 0 + -0.0429619997739792 + 1.1670809984207153 + 0.0806920006871223 + <_> + + <_> + + + + <_>5 8 4 15 -1. + <_>5 13 4 5 3. + 0 + -0.0210079997777939 + 0.6386979818344116 + -0.1762630045413971 + <_> + + <_> + + + + <_>6 11 16 12 -1. + <_>6 15 16 4 3. + 0 + -0.1574220061302185 + -0.2330249994993210 + 0.1251749992370606 + <_> + + <_> + + + + <_>2 11 16 12 -1. + <_>2 15 16 4 3. + 0 + 7.8659998252987862e-003 + -0.2203799933195114 + 0.2719680070877075 + <_> + + <_> + + + + <_>14 12 7 9 -1. + <_>14 15 7 3 3. + 0 + 0.0236220005899668 + 0.1612730026245117 + -0.4332900047302246 + <_> + + <_> + + + + <_>10 1 3 21 -1. + <_>10 8 3 7 3. + 0 + 0.0746920034289360 + -0.1699199974536896 + 0.5888490080833435 + <_> + + <_> + + + + <_>13 11 9 4 -1. + <_>13 13 9 2 2. + 0 + -6.4799998654052615e-004 + 0.2584289908409119 + -0.0359119996428490 + <_> + + <_> + + + + <_>3 10 17 9 -1. + <_>3 13 17 3 3. + 0 + -0.0162909999489784 + -0.7676439881324768 + -0.0204729996621609 + <_> + + <_> + + + + <_>13 8 8 15 -1. + <_>13 13 8 5 3. + 0 + -0.0331339985132217 + -0.2718009948730469 + 0.1432570070028305 + <_> + + <_> + + + + <_>3 8 8 15 -1. + <_>3 13 8 5 3. + 0 + 0.0487979985773563 + 0.0764089971780777 + -0.4144519865512848 + <_> + + <_> + + + + <_>11 14 10 8 -1. + <_>16 14 5 4 2. + <_>11 18 5 4 2. + 0 + 2.2869999520480633e-003 + -0.0386289991438389 + 0.2075379937887192 + <_> + + <_> + + + + <_>0 18 22 6 -1. + <_>0 18 11 3 2. + <_>11 21 11 3 2. + 0 + 0.0453040003776550 + -0.1777790039777756 + 0.6346139907836914 + <_> + + <_> + + + + <_>0 16 24 4 -1. + <_>0 16 12 4 2. + 0 + 0.1070580035448074 + 0.1897229999303818 + -0.5123620033264160 + <_> + + <_> + + + + <_>6 20 12 3 -1. + <_>12 20 6 3 2. + 0 + -0.0405250005424023 + 0.7061499953269959 + -0.1780329942703247 + <_> + + <_> + + + + <_>18 12 6 12 -1. + <_>21 12 3 6 2. + <_>18 18 3 6 2. + 0 + 0.0319689996540546 + 0.0681499987840652 + 0.6873310208320618 + <_> + + <_> + + + + <_>0 12 6 12 -1. + <_>0 12 3 6 2. + <_>3 18 3 6 2. + 0 + -0.0576170012354851 + 0.7517049908638001 + -0.1576499938964844 + <_> + + <_> + + + + <_>15 17 9 6 -1. + <_>15 19 9 2 3. + 0 + 0.0135939996689558 + 0.1941190063953400 + -0.2456189990043640 + <_> + + <_> + + + + <_>1 6 22 10 -1. + <_>1 6 11 5 2. + <_>12 11 11 5 2. + 0 + 0.0713960006833076 + -0.0468810014426708 + -0.8819829821586609 + <_> + + <_> + + + + <_>15 17 9 6 -1. + <_>15 19 9 2 3. + 0 + -0.0148959998041391 + -0.4453240036964417 + 0.1767989993095398 + <_> + + <_> + + + + <_>0 18 18 2 -1. + <_>0 19 18 1 2. + 0 + -0.0100260004401207 + 0.6512269973754883 + -0.1670999974012375 + <_> + + <_> + + + + <_>3 15 19 3 -1. + <_>3 16 19 1 3. + 0 + 3.7589999847114086e-003 + -0.0583010017871857 + 0.3448329865932465 + <_> + + <_> + + + + <_>0 13 18 3 -1. + <_>0 14 18 1 3. + 0 + 0.0162630006670952 + -0.1558150053024292 + 0.8643270134925842 + <_> + + <_> + + + + <_>15 17 9 6 -1. + <_>15 19 9 2 3. + 0 + -0.0401760004460812 + -0.6102859973907471 + 0.1179639995098114 + <_> + + <_> + + + + <_>0 17 9 6 -1. + <_>0 19 9 2 3. + 0 + 0.0270809996873140 + -0.0496019981801510 + -0.8999000191688538 + <_> + + <_> + + + + <_>12 17 9 6 -1. + <_>12 19 9 2 3. + 0 + 0.0524200014770031 + 0.1129719987511635 + -1.0833640098571777 + <_> + + <_> + + + + <_>3 17 9 6 -1. + <_>3 19 9 2 3. + 0 + -0.0191600006073713 + -0.7988010048866272 + -0.0340790003538132 + <_> + + <_> + + + + <_>16 2 3 20 -1. + <_>17 2 1 20 3. + 0 + -3.7730000913143158e-003 + -0.1912409961223602 + 0.2153519988059998 + <_> + + <_> + + + + <_>0 13 24 8 -1. + <_>0 17 24 4 2. + 0 + 0.0757620036602020 + -0.1342169940471649 + 1.6807060241699219 + <_> + + <_> + + + + <_>9 1 6 22 -1. + <_>12 1 3 11 2. + <_>9 12 3 11 2. + 0 + -0.0221730004996061 + 0.4860099852085114 + 3.6160000599920750e-003 + -2.9928278923034668 + 23 + -1 + diff --git a/examples/3d/cameraLensOffsetExample/src/main.cpp b/examples/3d/cameraLensOffsetExample/src/main.cpp new file mode 100755 index 00000000000..bfacde6948c --- /dev/null +++ b/examples/3d/cameraLensOffsetExample/src/main.cpp @@ -0,0 +1,8 @@ +#include "ofAppGlutWindow.h" +#include "testApp.h" + +int main() { + ofAppGlutWindow window; + ofSetupOpenGL(&window, 1280, 720, OF_WINDOW); + ofRunApp(new testApp()); +} diff --git a/examples/3d/cameraLensOffsetExample/src/testApp.cpp b/examples/3d/cameraLensOffsetExample/src/testApp.cpp new file mode 100755 index 00000000000..fb56346a632 --- /dev/null +++ b/examples/3d/cameraLensOffsetExample/src/testApp.cpp @@ -0,0 +1,258 @@ +#include "testApp.h" + +//-------------------------------------------------------------- +void testApp::setup(){ + ofEnableSmoothing(); + ofSetVerticalSync(true); + + video.initGrabber(320, 240); + finder.setup("haarcascade_frontalface_default.xml"); + usePreview = false; + + previewCamera.setDistance(3.0f); + previewCamera.setNearClip(0.01f); + previewCamera.setFarClip(500.0f); + previewCamera.setPosition(0.4f, 0.2f, 0.8f); + previewCamera.lookAt(ofVec3f(0.0f, 0.0f, 0.0f)); + + headTrackedCamera.setNearClip(0.01f); + headTrackedCamera.setFarClip(1000.0f); + + //defining the real world coordinates of the window which is being headtracked is important for visual accuracy + windowWidth = 0.3f; + windowHeight = 0.2f; + + windowTopLeft = ofVec3f(-windowWidth / 2.0f, + +windowHeight / 2.0f, + 0.0f); + windowBottomLeft = ofVec3f(-windowWidth / 2.0f, + - windowHeight / 2.0f, + 0.0f); + windowBottomRight = ofVec3f(+windowWidth / 2.0f, + -windowHeight / 2.0f, + 0.0f); + + //we use this constant since we're using a really hacky headtracking in this example + //if you use something that can properly locate the head in 3d (like a kinect), you don't need this fudge factor + viewerDistance = 0.4f; +} + +//-------------------------------------------------------------- +void testApp::update(){ + video.update(); + finder.findHaarObjects(video.getPixelsRef()); + + ofVec3f headPosition(0,0,viewerDistance); + + if (finder.blobs.size() > 0) { + //get the head position in camera pixel coordinates + const ofxCvBlob & blob = finder.blobs.front(); + float cameraHeadX = blob.centroid.x; + float cameraHeadY = blob.centroid.y; + + //do a really hacky interpretation of this, really you should be using something better to find the head (e.g. kinect skeleton tracking) + + //since camera isn't mirrored, high x in camera means -ve x in world + float worldHeadX = ofMap(cameraHeadX, 0, video.getWidth(), windowBottomRight.x, windowBottomLeft.x); + + //low y in camera is +ve y in world + float worldHeadY = ofMap(cameraHeadY, 0, video.getHeight(), windowTopLeft.y, windowBottomLeft.y); + + //set position in a pretty arbitrary way + headPosition = ofVec3f(worldHeadX, worldHeadY, viewerDistance); + } else { + if (!video.isInitialized()) { + //if video isn't working, just make something up + headPosition = ofVec3f(0.5f * windowWidth * sin(ofGetElapsedTimef()), 0.5f * windowHeight * cos(ofGetElapsedTimef()), viewerDistance); + } + } + + headPositionHistory.push_back(headPosition); + while (headPositionHistory.size() > 50.0f){ + headPositionHistory.pop_front(); + } + + //these 2 lines of code must be called every time the head position changes + headTrackedCamera.setPosition(headPosition); + headTrackedCamera.setupOffAxisViewPortal(windowTopLeft, windowBottomLeft, windowBottomRight); +} + +//-------------------------------------------------------------- +void testApp::drawScene(bool isPreview){ + + glEnable(GL_DEPTH_TEST); + + if (isPreview) { + + ofPushStyle(); + ofSetColor(150, 100, 100); + ofDrawGrid(1.0f, 5.0f, true); + + ofSetColor(255); + + //-- + //draw camera preview + // + headTrackedCamera.transformGL(); + + ofPushMatrix(); + ofScale(0.002f, 0.002f, 0.002f); + ofNode().draw(); + ofPopMatrix(); + + ofMultMatrix(headTrackedCamera.getProjectionMatrix().getInverse()); + + ofPushStyle(); + ofNoFill(); + ofBox(2.0f); + ofPopStyle(); + + headTrackedCamera.restoreTransformGL(); + // + //-- + + //-- + //draw window preview + // + ofMesh window; + window.addVertex(windowTopLeft); + window.addVertex(windowBottomLeft); + window.addVertex(windowBottomRight); + window.setMode(OF_PRIMITIVE_LINE_STRIP); + window.draw(); + glPointSize(3.0f); + window.drawVertices(); + + // + //-- + } + + ofPushStyle(); + ofNoFill(); + ofColor col(200,100,100); + for (float z = 0.0f; z > -40.0f; z-= 0.1f){ + col.setHue(int(-z * 100.0f + ofGetElapsedTimef() * 10.0f) % 360); + ofSetColor(col); + ofRect(-windowWidth / 2.0f, -windowHeight / 2.0f, z, windowWidth, windowHeight); + } + ofPopStyle(); + + ofPushStyle(); + ofEnableSmoothing(); + ofSetColor(255); + ofSetLineWidth(5.0f); + ofBeginShape(); + for (int i=0; i headPositionHistory; +}; diff --git a/examples/addons/assimpExample/src/testApp.cpp b/examples/addons/assimpExample/src/testApp.cpp index a255a6211d7..11e23b63b3e 100644 --- a/examples/addons/assimpExample/src/testApp.cpp +++ b/examples/addons/assimpExample/src/testApp.cpp @@ -1,113 +1,81 @@ #include "testApp.h" - //-------------------------------------------------------------- void testApp::setup(){ ofSetLogLevel(OF_LOG_VERBOSE); - - // we need GL_TEXTURE_2D for our models coords. - ofDisableArbTex(); - - if(model.loadModel("astroBoy_walk.dae",true)){ - model.setAnimation(0); - model.setPosition(ofGetWidth()/2, (float)ofGetHeight() * 0.75 , 0); - //model.createLightsFromAiModel(); - //model.disableTextures(); - //model.disableMaterials(); - - mesh = model.getMesh(0); - position = model.getPosition(); - normScale = model.getNormalizedScale(); - scale = model.getScale(); - sceneCenter = model.getSceneCenter(); - material = model.getMaterialForMesh(0); - tex = model.getTextureForMesh(0); + ofBackground(50, 0); + + ofDisableArbTex(); // we need GL_TEXTURE_2D for our models coords. + + bAnimate = false; + bAnimateMouse = false; + animationPosition = 0; + + model.loadModel("astroBoy_walk.dae", true); + model.setPosition(ofGetWidth() * 0.5, (float)ofGetHeight() * 0.75 , 0); + model.setLoopStateForAllAnimations(OF_LOOP_NORMAL); + model.playAllAnimations(); + if(!bAnimate) { + model.setPausedForAllAnimations(true); } - + ofEnableBlendMode(OF_BLENDMODE_ALPHA); glEnable(GL_DEPTH_TEST); - //some model / light stuff - glShadeModel(GL_SMOOTH); + glShadeModel(GL_SMOOTH); //some model / light stuff light.enable(); ofEnableSeparateSpecularLight(); - - - bAnimate = false; - bAnimateMouse = false; - animationTime = 0.0; } //-------------------------------------------------------------- void testApp::update(){ - //model.setRotation(1, ofGetElapsedTimef() * 60, 0, 1, 0); - - //this is for animation if the model has it. - if( bAnimate ){ - animationTime += ofGetLastFrameTime(); - if( animationTime >= 1.0 ){ - animationTime = 0.0; - } - model.setNormalizedTime(animationTime); - mesh = model.getCurrentAnimatedMesh(0); - } - - - if( bAnimateMouse ){ - model.setNormalizedTime(animationTime); - mesh = model.getCurrentAnimatedMesh(0); - } - + model.update(); + + if(bAnimateMouse) { + model.setPositionForAllAnimations(animationPosition); + } + mesh = model.getCurrentAnimatedMesh(0); } //-------------------------------------------------------------- void testApp::draw(){ - ofBackground(50, 50, 50, 0); - ofSetColor(255, 255, 255, 255); + ofSetColor(255); ofPushMatrix(); - ofTranslate(model.getPosition().x+100, model.getPosition().y, 0); - ofRotate(-mouseX, 0, 1, 0); - ofTranslate(-model.getPosition().x, -model.getPosition().y, 0); - - model.drawFaces(); - + ofTranslate(model.getPosition().x+100, model.getPosition().y, 0); + ofRotate(-mouseX, 0, 1, 0); + ofTranslate(-model.getPosition().x, -model.getPosition().y, 0); + model.drawFaces(); ofPopMatrix(); - glPushAttrib(GL_ALL_ATTRIB_BITS); glPushClientAttrib(GL_CLIENT_ALL_ATTRIB_BITS); glEnable(GL_NORMALIZE); - //glEnable(GL_CULL_FACE); - ofPushMatrix(); - - ofTranslate(model.getPosition().x-300, model.getPosition().y, 0); - ofRotate(-mouseX, 0, 1, 0); - ofTranslate(-model.getPosition().x, -model.getPosition().y, 0); - - ofTranslate(position); - ofRotate(180, 0, 0, 1); - ofTranslate(-sceneCenter.x, -sceneCenter.y, sceneCenter.z); - - - ofScale(normScale , normScale, normScale); - - - ofScale(scale.x,scale.y,scale.z); - - tex.bind(); - material.begin(); - mesh.drawWireframe(); - material.end(); - tex.unbind(); + ofPushMatrix(); + ofTranslate(model.getPosition().x-300, model.getPosition().y, 0); + ofRotate(-mouseX, 0, 1, 0); + ofTranslate(-model.getPosition().x, -model.getPosition().y, 0); + + ofxAssimpMeshHelper & meshHelper = model.getMeshHelper(0); + + ofMultMatrix(model.getModelMatrix()); + ofMultMatrix(meshHelper.matrix); + + ofMaterial & material = meshHelper.material; + ofTexture & texture = meshHelper.texture; + + texture.bind(); + material.begin(); + mesh.drawWireframe(); + material.end(); + texture.unbind(); ofPopMatrix(); glPopAttrib(); - ofDrawBitmapString("fps: "+ofToString(ofGetFrameRate(), 2), 10, 15); ofDrawBitmapString("keys 1-5 load models, spacebar to trigger animation", 10, 30); ofDrawBitmapString("drag to control animation with mouseY", 10, 45); @@ -116,32 +84,33 @@ void testApp::draw(){ //-------------------------------------------------------------- void testApp::keyPressed(int key){ + ofPoint modelPosition(ofGetWidth() * 0.5, (float)ofGetHeight() * 0.75); switch (key) { case '1': model.loadModel("astroBoy_walk.dae"); - model.setPosition(ofGetWidth()/2, (float)ofGetHeight() * 0.75 , 0); + model.setPosition(modelPosition.x, modelPosition.y, modelPosition.z); ofEnableSeparateSpecularLight(); break; case '2': model.loadModel("TurbochiFromXSI.dae"); - model.setPosition(ofGetWidth()/2, (float)ofGetHeight() * 0.75 , 0); - model.setRotation(0,90,1,0,0); + model.setPosition(modelPosition.x, modelPosition.y, modelPosition.z); + model.setRotation(0, -180, 1, 0, 0); ofEnableSeparateSpecularLight(); break; case '3': model.loadModel("dwarf.x"); - model.setPosition(ofGetWidth()/2, (float)ofGetHeight() * 0.75 , 0); + model.setPosition(modelPosition.x, modelPosition.y, modelPosition.z); ofDisableSeparateSpecularLight(); break; case '4': model.loadModel("monster-animated-character-X.X"); - model.setPosition(ofGetWidth()/2, (float)ofGetHeight() * 0.75 , 0); + model.setPosition(modelPosition.x, modelPosition.y, modelPosition.z); + model.setRotation(0, -90, 0, 0, 1); ofDisableSeparateSpecularLight(); break; case '5': model.loadModel("squirrel/NewSquirrel.3ds"); - model.setPosition(ofGetWidth()/2, (float)ofGetHeight() * 0.75 , 0); - model.setRotation(0,-90,1,0,0); + model.setPosition(modelPosition.x, modelPosition.y, modelPosition.z); ofDisableSeparateSpecularLight(); break; case ' ': @@ -151,20 +120,18 @@ void testApp::keyPressed(int key){ break; } - mesh = model.getMesh(0); - position = model.getPosition(); - normScale = model.getNormalizedScale(); - scale = model.getScale(); - sceneCenter = model.getSceneCenter(); - material = model.getMaterialForMesh(0); - tex = model.getTextureForMesh(0); + model.setLoopStateForAllAnimations(OF_LOOP_NORMAL); + model.playAllAnimations(); + if(!bAnimate) { + model.setPausedForAllAnimations(true); + } } //-------------------------------------------------------------- void testApp::keyReleased(int key){ - + // } //-------------------------------------------------------------- @@ -174,19 +141,25 @@ void testApp::mouseMoved(int x, int y ){ //-------------------------------------------------------------- void testApp::mouseDragged(int x, int y, int button){ - bAnimateMouse = true; - animationTime = float(y)/float(ofGetWidth()); + // scrub through aninations manually. + animationPosition = y / (float)ofGetHeight(); } //-------------------------------------------------------------- void testApp::mousePressed(int x, int y, int button){ - + // pause all animations, so we can scrub through them manually. + model.setPausedForAllAnimations(true); + animationPosition = y / (float)ofGetHeight(); + bAnimateMouse = true; } //-------------------------------------------------------------- void testApp::mouseReleased(int x, int y, int button){ - bAnimateMouse = false; - + // unpause animations when finished scrubbing. + if(bAnimate) { + model.setPausedForAllAnimations(false); + } + bAnimateMouse = false; } //-------------------------------------------------------------- diff --git a/examples/addons/assimpExample/src/testApp.h b/examples/addons/assimpExample/src/testApp.h index bdf46162cb7..4e3ec8f8fbd 100644 --- a/examples/addons/assimpExample/src/testApp.h +++ b/examples/addons/assimpExample/src/testApp.h @@ -22,18 +22,13 @@ class testApp : public ofBaseApp{ void dragEvent(ofDragInfo dragInfo); void gotMessage(ofMessage msg); - bool bAnimate; - bool bAnimateMouse; - float animationTime; ofxAssimpModelLoader model; + + bool bAnimate; + bool bAnimateMouse; + float animationPosition; - ofVboMesh mesh; - ofPoint position; - float normScale; - ofPoint scale; - ofPoint sceneCenter; - ofMaterial material; - ofTexture tex; + ofMesh mesh; ofLight light; }; diff --git a/examples/addons/svgExample/addons.make b/examples/addons/svgExample/addons.make index 9e19b43fd9c..a63536df957 100644 --- a/examples/addons/svgExample/addons.make +++ b/examples/addons/svgExample/addons.make @@ -1,2 +1 @@ -ofxSvg -ofxXmlSettings \ No newline at end of file +ofxSvg \ No newline at end of file diff --git a/examples/addons/svgExample/src/testApp.cpp b/examples/addons/svgExample/src/testApp.cpp index 3a778de51e4..0ebf459e91e 100644 --- a/examples/addons/svgExample/src/testApp.cpp +++ b/examples/addons/svgExample/src/testApp.cpp @@ -1,33 +1,36 @@ #include "testApp.h" //-------------------------------------------------------------- -void testApp::setup() -{ +void testApp::setup(){ ofSetVerticalSync(true); - ofSetFrameRate(60); ofBackground(0); ofSetColor(255); svg.load("tiger.svg"); + for (int i = 0; i < svg.getNumPath(); i++){ + ofPath p = svg.getPathAt(i); + // svg defaults to non zero winding which doesn't look so good as contours + p.setPolyWindingMode(OF_POLY_WINDING_ODD); + vector& lines = p.getOutline(); + for(int j=0;j<(int)lines.size();j++){ + outlines.push_back(lines[j].getResampledBySpacing(1)); + } + } } -float step; //-------------------------------------------------------------- -void testApp::update() -{ +void testApp::update(){ step += 0.001; if (step > 1) { - step -= 1; } } //-------------------------------------------------------------- -void testApp::draw() -{ - +void testApp::draw(){ + ofDrawBitmapString(ofToString(ofGetFrameRate()),20,20); ofPushMatrix(); ofTranslate(ofGetWidth() / 2, ofGetHeight() / 2); ofRotate(mouseX); @@ -35,27 +38,17 @@ void testApp::draw() ofScale(scale, scale, scale); ofTranslate(-250, -250); if(ofGetMousePressed()) { - - for (int i = 0; i < svg.getNumPath(); i++) - { - ofPath &p = svg.getPathAt(i); - - vector& lines = p.getOutline(); - - for (int k = 0; k < lines.size(); k++) - { - ofPolyline line = lines[k].getResampledBySpacing(1); - - int num = step * line.size(); - - glBegin(GL_LINE_STRIP); - for (int j = 0; j < num; j++) - { - ofVec3f &vv = line[j]; - glVertex3f(vv.x, vv.y, vv.z); - } - glEnd(); + ofNoFill(); + for (int i = 0; i < (int)outlines.size(); i++){ + ofPolyline & line = outlines[i]; + + int num = step * line.size(); + + ofBeginShape(); + for (int j = 0; j < num; j++){ + ofVertex(line[j]); } + ofEndShape(); } } else { svg.draw(); @@ -65,55 +58,46 @@ void testApp::draw() } //-------------------------------------------------------------- -void testApp::keyPressed(int key) -{ +void testApp::keyPressed(int key){ } //-------------------------------------------------------------- -void testApp::keyReleased(int key) -{ +void testApp::keyReleased(int key){ } //-------------------------------------------------------------- -void testApp::mouseMoved(int x, int y) -{ +void testApp::mouseMoved(int x, int y){ } //-------------------------------------------------------------- -void testApp::mouseDragged(int x, int y, int button) -{ +void testApp::mouseDragged(int x, int y, int button){ } //-------------------------------------------------------------- -void testApp::mousePressed(int x, int y, int button) -{ +void testApp::mousePressed(int x, int y, int button){ } //-------------------------------------------------------------- -void testApp::mouseReleased(int x, int y, int button) -{ +void testApp::mouseReleased(int x, int y, int button){ } //-------------------------------------------------------------- -void testApp::windowResized(int w, int h) -{ +void testApp::windowResized(int w, int h){ } //-------------------------------------------------------------- -void testApp::gotMessage(ofMessage msg) -{ +void testApp::gotMessage(ofMessage msg){ } //-------------------------------------------------------------- -void testApp::dragEvent(ofDragInfo dragInfo) -{ +void testApp::dragEvent(ofDragInfo dragInfo){ } diff --git a/examples/addons/svgExample/src/testApp.h b/examples/addons/svgExample/src/testApp.h index e14384a6205..a93b15af0f3 100644 --- a/examples/addons/svgExample/src/testApp.h +++ b/examples/addons/svgExample/src/testApp.h @@ -1,7 +1,7 @@ #pragma once #include "ofMain.h" -#include "ofxSVG.h" +#include "ofxSvg.h" class testApp : public ofBaseApp{ @@ -21,5 +21,7 @@ class testApp : public ofBaseApp{ void gotMessage(ofMessage msg); ofxSVG svg; + float step; + vector outlines; }; diff --git a/examples/android/android3DModelLoaderExample/.classpath b/examples/android/android3DModelLoaderExample/.classpath new file mode 100644 index 00000000000..296aed65759 --- /dev/null +++ b/examples/android/android3DModelLoaderExample/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/examples/android/android3DModelLoaderExample/.cproject b/examples/android/android3DModelLoaderExample/.cproject new file mode 100644 index 00000000000..74ba20c0cf6 --- /dev/null +++ b/examples/android/android3DModelLoaderExample/.cproject @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/android/android3DModelLoaderExample/.project b/examples/android/android3DModelLoaderExample/.project new file mode 100644 index 00000000000..f4435e76f16 --- /dev/null +++ b/examples/android/android3DModelLoaderExample/.project @@ -0,0 +1,50 @@ + + + android3DModelLoaderExample + + + openFrameworks + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + + + com.android.ide.eclipse.adt.ResourceManagerBuilder + + + + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + com.android.ide.eclipse.adt.AndroidNature + org.eclipse.jdt.core.javanature + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + diff --git a/examples/android/android3DModelLoaderExample/.settings/org.eclipse.cdt.codan.core.prefs b/examples/android/android3DModelLoaderExample/.settings/org.eclipse.cdt.codan.core.prefs new file mode 100644 index 00000000000..810101ec581 --- /dev/null +++ b/examples/android/android3DModelLoaderExample/.settings/org.eclipse.cdt.codan.core.prefs @@ -0,0 +1,67 @@ +eclipse.preferences.version=1 +org.eclipse.cdt.codan.checkers.errnoreturn=Warning +org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.checkers.errreturnvalue=Error +org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.checkers.noreturn=Error +org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=-Error +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=-Error +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>true,empty_case_param\=>false} +org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning +org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=-Error +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true} +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidArguments=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.OverloadProblem=-Error +org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false} +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false} +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")} +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} diff --git a/examples/android/android3DModelLoaderExample/AndroidManifest.xml b/examples/android/android3DModelLoaderExample/AndroidManifest.xml new file mode 100644 index 00000000000..eb1e74522a0 --- /dev/null +++ b/examples/android/android3DModelLoaderExample/AndroidManifest.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/android/android3DModelLoaderExample/Makefile b/examples/android/android3DModelLoaderExample/Makefile new file mode 100644 index 00000000000..2d83a770918 --- /dev/null +++ b/examples/android/android3DModelLoaderExample/Makefile @@ -0,0 +1,2 @@ +include config.make +include $(OF_ROOT)/libs/openFrameworksCompiled/project/makefileCommon/Makefile.examples diff --git a/examples/android/android3DModelLoaderExample/addons.make b/examples/android/android3DModelLoaderExample/addons.make new file mode 100644 index 00000000000..412979711f5 --- /dev/null +++ b/examples/android/android3DModelLoaderExample/addons.make @@ -0,0 +1,3 @@ +ofxAndroid +ofxAccelerometer +ofx3DModelLoader \ No newline at end of file diff --git a/examples/android/android3DModelLoaderExample/bin/data/.gitkeep b/examples/android/android3DModelLoaderExample/bin/data/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/examples/android/android3DModelLoaderExample/bin/data/squirrel/NewSquirrel.3ds b/examples/android/android3DModelLoaderExample/bin/data/squirrel/NewSquirrel.3ds new file mode 100644 index 00000000000..c189b2d7a9c Binary files /dev/null and b/examples/android/android3DModelLoaderExample/bin/data/squirrel/NewSquirrel.3ds differ diff --git a/examples/android/android3DModelLoaderExample/bin/data/squirrel/Squirrel.jpg b/examples/android/android3DModelLoaderExample/bin/data/squirrel/Squirrel.jpg new file mode 100644 index 00000000000..3f3c8460704 Binary files /dev/null and b/examples/android/android3DModelLoaderExample/bin/data/squirrel/Squirrel.jpg differ diff --git a/examples/android/android3DModelLoaderExample/bin/data/squirrel/readme.txt b/examples/android/android3DModelLoaderExample/bin/data/squirrel/readme.txt new file mode 100644 index 00000000000..a6a52b638ba --- /dev/null +++ b/examples/android/android3DModelLoaderExample/bin/data/squirrel/readme.txt @@ -0,0 +1,30 @@ +-- 3dvia.com -- + +The zip file NewSquirrel.3ds.zip contains the following files : +- readme.txt +- NewSquirrel.3ds +- Squirrel.jpg + + +-- Model information -- + +Model Name : New Squirrel +Author : Bruce Lehmann +Publisher : Omind + +You can view this model here : +http://www.3dvia.com/Omind/media/64EAC75A6C7E5062 +More models about this author : +http://www.3dvia.com/Omind + + +-- Attached license -- + +A license is attached to the New Squirrel model and all related media. +You must agree with this licence before using the enclosed media. + +License : Attribution License 2.5 +Detailled license : http://creativecommons.org/licenses/by/2.5/ + +The licenses used by 3dvia are based on Creative Commons Licenses. +More info: http://creativecommons.org/about/licenses/meet-the-licenses diff --git a/examples/android/android3DModelLoaderExample/build.xml b/examples/android/android3DModelLoaderExample/build.xml new file mode 100644 index 00000000000..024f138d46d --- /dev/null +++ b/examples/android/android3DModelLoaderExample/build.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/android/android3DModelLoaderExample/config.make b/examples/android/android3DModelLoaderExample/config.make new file mode 100644 index 00000000000..5ecc800806b --- /dev/null +++ b/examples/android/android3DModelLoaderExample/config.make @@ -0,0 +1,35 @@ +# add custom variables to this file + +# OF_ROOT allows to move projects outside apps/* just set this variable to the +# absoulte path to the OF root folder + +OF_ROOT = ../../.. + + +# USER_CFLAGS allows to pass custom flags to the compiler +# for example search paths like: +# USER_CFLAGS = -I src/objects + +USER_CFLAGS = + + +# USER_LDFLAGS allows to pass custom flags to the linker +# for example libraries like: +# USER_LD_FLAGS = libs/libawesomelib.a + +USER_LDFLAGS = + +# android specific, in case you want to use different optimizations +USER_LIBS_ARM = +USER_LIBS_ARM7 = +USER_LIBS_NEON = + +# android optimizations + +ANDROID_COMPILER_OPTIMIZATION = -Os + + +EXCLUDE_FROM_SOURCE="bin,.xcodeproj,obj" + +ANDROID_BUILD_ARCHS_RELEASE=armv7 armv5 neon + diff --git a/examples/android/androidAdvanced3DExample/res/drawable/ofwgreen.png b/examples/android/android3DModelLoaderExample/ic_launcher-web.png similarity index 100% rename from examples/android/androidAdvanced3DExample/res/drawable/ofwgreen.png rename to examples/android/android3DModelLoaderExample/ic_launcher-web.png diff --git a/examples/android/android3DModelLoaderExample/libs/android-support-v4.jar b/examples/android/android3DModelLoaderExample/libs/android-support-v4.jar new file mode 100644 index 00000000000..6080877d4ad Binary files /dev/null and b/examples/android/android3DModelLoaderExample/libs/android-support-v4.jar differ diff --git a/examples/android/android3DModelLoaderExample/proguard-project.txt b/examples/android/android3DModelLoaderExample/proguard-project.txt new file mode 100644 index 00000000000..f2fe1559a21 --- /dev/null +++ b/examples/android/android3DModelLoaderExample/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/examples/android/android3DModelLoaderExample/project.properties b/examples/android/android3DModelLoaderExample/project.properties new file mode 100644 index 00000000000..8f26b0b4760 --- /dev/null +++ b/examples/android/android3DModelLoaderExample/project.properties @@ -0,0 +1,15 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-17 +android.library.reference.1=../../../addons/ofxAndroid/ofAndroidLib diff --git a/examples/android/androidAssimpExample/res/drawable/ofwgreen.png b/examples/android/android3DModelLoaderExample/res/drawable/ic_launcher.png similarity index 100% rename from examples/android/androidAssimpExample/res/drawable/ofwgreen.png rename to examples/android/android3DModelLoaderExample/res/drawable/ic_launcher.png diff --git a/examples/android/android3DModelLoaderExample/res/layout/main_layout.xml b/examples/android/android3DModelLoaderExample/res/layout/main_layout.xml new file mode 100644 index 00000000000..80964ddd72d --- /dev/null +++ b/examples/android/android3DModelLoaderExample/res/layout/main_layout.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/examples/android/android3DModelLoaderExample/res/menu/main_layout.xml b/examples/android/android3DModelLoaderExample/res/menu/main_layout.xml new file mode 100644 index 00000000000..7ddcfbee35e --- /dev/null +++ b/examples/android/android3DModelLoaderExample/res/menu/main_layout.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/examples/android/android3DModelLoaderExample/res/values-v11/styles.xml b/examples/android/android3DModelLoaderExample/res/values-v11/styles.xml new file mode 100644 index 00000000000..541752f6edf --- /dev/null +++ b/examples/android/android3DModelLoaderExample/res/values-v11/styles.xml @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file diff --git a/examples/android/android3DModelLoaderExample/res/values-v14/styles.xml b/examples/android/android3DModelLoaderExample/res/values-v14/styles.xml new file mode 100644 index 00000000000..f20e01501df --- /dev/null +++ b/examples/android/android3DModelLoaderExample/res/values-v14/styles.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/examples/android/android3DModelLoaderExample/res/values/strings.xml b/examples/android/android3DModelLoaderExample/res/values/strings.xml new file mode 100644 index 00000000000..ab192957750 --- /dev/null +++ b/examples/android/android3DModelLoaderExample/res/values/strings.xml @@ -0,0 +1,8 @@ + + + + android3DModelLoaderExample + Hello world! + Settings + + \ No newline at end of file diff --git a/examples/android/android3DModelLoaderExample/res/values/styles.xml b/examples/android/android3DModelLoaderExample/res/values/styles.xml new file mode 100644 index 00000000000..4a10ca492dd --- /dev/null +++ b/examples/android/android3DModelLoaderExample/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/examples/android/android3DModelLoaderExample/src/main.cpp b/examples/android/android3DModelLoaderExample/src/main.cpp new file mode 100644 index 00000000000..479e967e3e8 --- /dev/null +++ b/examples/android/android3DModelLoaderExample/src/main.cpp @@ -0,0 +1,38 @@ +#include "ofMain.h" +#include "testApp.h" +#ifdef TARGET_ANDROID + #include "ofAppAndroidWindow.h" +#else + #include "ofAppGlutWindow.h" +#endif + + + +int main(){ + +#ifdef TARGET_ANDROID + ofAppAndroidWindow *window = new ofAppAndroidWindow; +#else + ofAppGlutWindow *window = new ofAppGlutWindow; +#endif + ofSetupOpenGL(window, 1024,768, OF_WINDOW); // <-------- setup the GL context + + + // this kicks off the running of my app + // can be OF_WINDOW or OF_FULLSCREEN + // pass in width and height too: + ofRunApp( new testApp() ); + return 0; +} + + +#ifdef TARGET_ANDROID +#include + +//======================================================================== +extern "C"{ + void Java_cc_openframeworks_OFAndroid_init( JNIEnv* env, jobject thiz ){ + main(); + } +} +#endif diff --git a/examples/android/android3DModelLoaderExample/src/testApp.cpp b/examples/android/android3DModelLoaderExample/src/testApp.cpp new file mode 100644 index 00000000000..ad908d4e5d2 --- /dev/null +++ b/examples/android/android3DModelLoaderExample/src/testApp.cpp @@ -0,0 +1,169 @@ +#include "testApp.h" + +GLfloat lightOnePosition[] = {40.0, 40, 100.0, 0.0}; +GLfloat lightOneColor[] = {0.99, 0.99, 0.99, 1.0}; + +GLfloat lightTwoPosition[] = {-40.0, 40, 100.0, 0.0}; +GLfloat lightTwoColor[] = {0.99, 0.99, 0.99, 1.0}; + +//-------------------------------------------------------------- +void testApp::setup(){ + ofBackground(255,255,255); + + //some model / light stuff + glEnable (GL_DEPTH_TEST); + glShadeModel (GL_SMOOTH); + + /* initialize lighting */ + glLightfv (GL_LIGHT0, GL_POSITION, lightOnePosition); + glLightfv (GL_LIGHT0, GL_DIFFUSE, lightOneColor); + glEnable (GL_LIGHT0); + glLightfv (GL_LIGHT1, GL_POSITION, lightTwoPosition); + glLightfv (GL_LIGHT1, GL_DIFFUSE, lightTwoColor); + glEnable (GL_LIGHT1); + glEnable (GL_LIGHTING); + //glColorMaterial (GL_FRONT_AND_BACK, GL_DIFFUSE); + + glEnable (GL_COLOR_MATERIAL); + + //load the squirrel model - the 3ds and the texture file need to be in the same folder + squirrelModel.loadModel("squirrel/NewSquirrel.3ds", 20); + + //you can create as many rotations as you want + //choose which axis you want it to effect + //you can update these rotations later on + squirrelModel.setRotation(0, 90, 1, 0, 0); + squirrelModel.setRotation(1, 270, 0, 0, 1); + squirrelModel.setScale(0.9, 0.9, 0.9); + squirrelModel.setPosition(ofGetWidth()/2, ofGetHeight()/2, 0); +} + +//-------------------------------------------------------------- +void testApp::update(){ + squirrelModel.setRotation(1, 270 + ofGetElapsedTimef() * 60, 0, 0, 1); +} + +//-------------------------------------------------------------- +void testApp::draw(){ + //fake back wall + ofSetColor(20, 20, 20); + + GLfloat vertices1[] = {0.0, ofGetHeight(), -600, + ofGetWidth(), ofGetHeight(), -600, + ofGetWidth(), 0, -600, + 0, 0, -600}; + + GLubyte indices[] = {0, 1, 2, 0, 2, 3}; + + glVertexPointer(3, GL_FLOAT, 0, vertices1); + glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_BYTE, indices); + + //fake wall + ofSetColor(50, 50, 50); + GLfloat vertices2[] = {0, ofGetHeight(), 0, + ofGetWidth(), ofGetHeight(), 0, + ofGetWidth(), ofGetHeight(), -600, + 0, ofGetHeight(), -600 + }; + + glVertexPointer(3, GL_FLOAT, 0, vertices2); + glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_BYTE, indices); + + //lets tumble the world with the mouse + glPushMatrix(); + + //draw in middle of the screen + glTranslatef(ofGetWidth()/2,ofGetHeight()/2,0); + //tumble according to mouse + glRotatef(-mouseY,1,0,0); + glRotatef(mouseX,0,1,0); + glTranslatef(-ofGetWidth()/2,-ofGetHeight()/2,0); + + ofSetColor(255, 255, 255, 255); + squirrelModel.draw(); + + glPopMatrix(); + + ofSetHexColor(0x000000); + ofDrawBitmapString("fps: "+ofToString(ofGetFrameRate(), 2), 10, 15); +} + +//-------------------------------------------------------------- +void testApp::keyPressed (int key){ + +} + +//-------------------------------------------------------------- +void testApp::keyReleased(int key){ + +} + +//-------------------------------------------------------------- +void testApp::windowResized(int w, int h){ + +} + +//-------------------------------------------------------------- +void testApp::touchDown(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::touchMoved(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::touchUp(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::touchDoubleTap(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::touchCancelled(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::swipe(ofxAndroidSwipeDir swipeDir, int id){ + +} + +//-------------------------------------------------------------- +void testApp::pause(){ + +} + +//-------------------------------------------------------------- +void testApp::stop(){ + +} + +//-------------------------------------------------------------- +void testApp::resume(){ + +} + +//-------------------------------------------------------------- +void testApp::reloadTextures(){ + +} + +//-------------------------------------------------------------- +bool testApp::backPressed(){ + return false; +} + +//-------------------------------------------------------------- +void testApp::okPressed(){ + +} + +//-------------------------------------------------------------- +void testApp::cancelPressed(){ + +} diff --git a/examples/android/android3DModelLoaderExample/src/testApp.h b/examples/android/android3DModelLoaderExample/src/testApp.h new file mode 100644 index 00000000000..e9d12003425 --- /dev/null +++ b/examples/android/android3DModelLoaderExample/src/testApp.h @@ -0,0 +1,38 @@ +#pragma once + +#include "ofMain.h" +#include "ofxAndroid.h" +#include "ofx3DModelLoader.h" + +#include + +class testApp : public ofxAndroidApp{ + + public: + + void setup(); + void update(); + void draw(); + + void keyPressed(int key); + void keyReleased(int key); + void windowResized(int w, int h); + + void touchDown(int x, int y, int id); + void touchMoved(int x, int y, int id); + void touchUp(int x, int y, int id); + void touchDoubleTap(int x, int y, int id); + void touchCancelled(int x, int y, int id); + void swipe(ofxAndroidSwipeDir swipeDir, int id); + + void pause(); + void stop(); + void resume(); + void reloadTextures(); + + bool backPressed(); + void okPressed(); + void cancelPressed(); + + ofx3DModelLoader squirrelModel; +}; diff --git a/examples/android/android3DModelLoaderExample/srcJava/cc/openframeworks/android3DModelLoaderExample/OFActivity.java b/examples/android/android3DModelLoaderExample/srcJava/cc/openframeworks/android3DModelLoaderExample/OFActivity.java new file mode 100644 index 00000000000..3c9433da547 --- /dev/null +++ b/examples/android/android3DModelLoaderExample/srcJava/cc/openframeworks/android3DModelLoaderExample/OFActivity.java @@ -0,0 +1,91 @@ +package cc.openframeworks.android3DModelLoaderExample; + +import android.os.Bundle; +import android.view.KeyEvent; +import android.view.Menu; +import android.view.MenuItem; +import cc.openframeworks.OFAndroid; + + +public class OFActivity extends cc.openframeworks.OFActivity{ + + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + String packageName = getPackageName(); + + ofApp = new OFAndroid(packageName,this); + } + + @Override + public void onDetachedFromWindow() { + } + + @Override + protected void onPause() { + super.onPause(); + ofApp.pause(); + } + + @Override + protected void onResume() { + super.onResume(); + ofApp.resume(); + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (OFAndroid.keyDown(keyCode, event)) { + return true; + } else { + return super.onKeyDown(keyCode, event); + } + } + + @Override + public boolean onKeyUp(int keyCode, KeyEvent event) { + if (OFAndroid.keyUp(keyCode, event)) { + return true; + } else { + return super.onKeyUp(keyCode, event); + } + } + + + OFAndroid ofApp; + + + + // Menus + // http://developer.android.com/guide/topics/ui/menus.html + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Create settings menu options from here, one by one or infalting an xml + return super.onCreateOptionsMenu(menu); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // This passes the menu option string to OF + // you can add additional behavior from java modifying this method + // but keep the call to OFAndroid so OF is notified of menu events + if(OFAndroid.menuItemSelected(item.getItemId())){ + + return true; + } + return super.onOptionsItemSelected(item); + } + + + @Override + public boolean onPrepareOptionsMenu (Menu menu){ + // This method is called every time the menu is opened + // you can add or remove menu options from here + return super.onPrepareOptionsMenu(menu); + } + +} + + + diff --git a/examples/android/androidAccelerometerExample/.classpath b/examples/android/androidAccelerometerExample/.classpath new file mode 100644 index 00000000000..296aed65759 --- /dev/null +++ b/examples/android/androidAccelerometerExample/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/examples/android/androidAccelerometerExample/.cproject b/examples/android/androidAccelerometerExample/.cproject new file mode 100644 index 00000000000..ef8384494a7 --- /dev/null +++ b/examples/android/androidAccelerometerExample/.cproject @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/android/androidAccelerometerExample/.project b/examples/android/androidAccelerometerExample/.project new file mode 100644 index 00000000000..ed14604e95f --- /dev/null +++ b/examples/android/androidAccelerometerExample/.project @@ -0,0 +1,50 @@ + + + androidAccelerometerExample + + + openFrameworks + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + + + com.android.ide.eclipse.adt.ResourceManagerBuilder + + + + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + com.android.ide.eclipse.adt.AndroidNature + org.eclipse.jdt.core.javanature + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + diff --git a/examples/android/androidAccelerometerExample/.settings/org.eclipse.cdt.codan.core.prefs b/examples/android/androidAccelerometerExample/.settings/org.eclipse.cdt.codan.core.prefs new file mode 100644 index 00000000000..810101ec581 --- /dev/null +++ b/examples/android/androidAccelerometerExample/.settings/org.eclipse.cdt.codan.core.prefs @@ -0,0 +1,67 @@ +eclipse.preferences.version=1 +org.eclipse.cdt.codan.checkers.errnoreturn=Warning +org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.checkers.errreturnvalue=Error +org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.checkers.noreturn=Error +org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=-Error +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=-Error +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>true,empty_case_param\=>false} +org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning +org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=-Error +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true} +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidArguments=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.OverloadProblem=-Error +org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false} +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false} +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")} +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} diff --git a/examples/android/androidAccelerometerExample/AndroidManifest.xml b/examples/android/androidAccelerometerExample/AndroidManifest.xml new file mode 100644 index 00000000000..befbcc1276e --- /dev/null +++ b/examples/android/androidAccelerometerExample/AndroidManifest.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/android/androidAccelerometerExample/Makefile b/examples/android/androidAccelerometerExample/Makefile new file mode 100644 index 00000000000..2d83a770918 --- /dev/null +++ b/examples/android/androidAccelerometerExample/Makefile @@ -0,0 +1,2 @@ +include config.make +include $(OF_ROOT)/libs/openFrameworksCompiled/project/makefileCommon/Makefile.examples diff --git a/examples/android/androidAccelerometerExample/addons.make b/examples/android/androidAccelerometerExample/addons.make new file mode 100644 index 00000000000..6865074afbe --- /dev/null +++ b/examples/android/androidAccelerometerExample/addons.make @@ -0,0 +1,2 @@ +ofxAndroid +ofxAccelerometer \ No newline at end of file diff --git a/examples/android/androidAccelerometerExample/bin/data/.gitkeep b/examples/android/androidAccelerometerExample/bin/data/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/examples/android/androidAccelerometerExample/bin/data/verdana.ttf b/examples/android/androidAccelerometerExample/bin/data/verdana.ttf new file mode 100644 index 00000000000..8f25a642311 Binary files /dev/null and b/examples/android/androidAccelerometerExample/bin/data/verdana.ttf differ diff --git a/examples/android/androidAccelerometerExample/build.xml b/examples/android/androidAccelerometerExample/build.xml new file mode 100644 index 00000000000..024f138d46d --- /dev/null +++ b/examples/android/androidAccelerometerExample/build.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/android/androidAccelerometerExample/config.make b/examples/android/androidAccelerometerExample/config.make new file mode 100644 index 00000000000..5ecc800806b --- /dev/null +++ b/examples/android/androidAccelerometerExample/config.make @@ -0,0 +1,35 @@ +# add custom variables to this file + +# OF_ROOT allows to move projects outside apps/* just set this variable to the +# absoulte path to the OF root folder + +OF_ROOT = ../../.. + + +# USER_CFLAGS allows to pass custom flags to the compiler +# for example search paths like: +# USER_CFLAGS = -I src/objects + +USER_CFLAGS = + + +# USER_LDFLAGS allows to pass custom flags to the linker +# for example libraries like: +# USER_LD_FLAGS = libs/libawesomelib.a + +USER_LDFLAGS = + +# android specific, in case you want to use different optimizations +USER_LIBS_ARM = +USER_LIBS_ARM7 = +USER_LIBS_NEON = + +# android optimizations + +ANDROID_COMPILER_OPTIMIZATION = -Os + + +EXCLUDE_FROM_SOURCE="bin,.xcodeproj,obj" + +ANDROID_BUILD_ARCHS_RELEASE=armv7 armv5 neon + diff --git a/examples/android/androidAudioExample/res/drawable/ofwgreen.png b/examples/android/androidAccelerometerExample/ic_launcher-web.png similarity index 100% rename from examples/android/androidAudioExample/res/drawable/ofwgreen.png rename to examples/android/androidAccelerometerExample/ic_launcher-web.png diff --git a/examples/android/androidAccelerometerExample/libs/android-support-v4.jar b/examples/android/androidAccelerometerExample/libs/android-support-v4.jar new file mode 100644 index 00000000000..6080877d4ad Binary files /dev/null and b/examples/android/androidAccelerometerExample/libs/android-support-v4.jar differ diff --git a/examples/android/androidAccelerometerExample/proguard-project.txt b/examples/android/androidAccelerometerExample/proguard-project.txt new file mode 100644 index 00000000000..f2fe1559a21 --- /dev/null +++ b/examples/android/androidAccelerometerExample/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/examples/android/androidAccelerometerExample/project.properties b/examples/android/androidAccelerometerExample/project.properties new file mode 100644 index 00000000000..8f26b0b4760 --- /dev/null +++ b/examples/android/androidAccelerometerExample/project.properties @@ -0,0 +1,15 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-17 +android.library.reference.1=../../../addons/ofxAndroid/ofAndroidLib diff --git a/examples/android/androidCameraExample/res/drawable/ofwgreen.png b/examples/android/androidAccelerometerExample/res/drawable/ic_launcher.png similarity index 100% rename from examples/android/androidCameraExample/res/drawable/ofwgreen.png rename to examples/android/androidAccelerometerExample/res/drawable/ic_launcher.png diff --git a/examples/android/androidAccelerometerExample/res/layout/main_layout.xml b/examples/android/androidAccelerometerExample/res/layout/main_layout.xml new file mode 100644 index 00000000000..80964ddd72d --- /dev/null +++ b/examples/android/androidAccelerometerExample/res/layout/main_layout.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/examples/android/androidAccelerometerExample/res/menu/main_layout.xml b/examples/android/androidAccelerometerExample/res/menu/main_layout.xml new file mode 100644 index 00000000000..7ddcfbee35e --- /dev/null +++ b/examples/android/androidAccelerometerExample/res/menu/main_layout.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/examples/android/androidAccelerometerExample/res/values-v11/styles.xml b/examples/android/androidAccelerometerExample/res/values-v11/styles.xml new file mode 100644 index 00000000000..541752f6edf --- /dev/null +++ b/examples/android/androidAccelerometerExample/res/values-v11/styles.xml @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file diff --git a/examples/android/androidAccelerometerExample/res/values-v14/styles.xml b/examples/android/androidAccelerometerExample/res/values-v14/styles.xml new file mode 100644 index 00000000000..f20e01501df --- /dev/null +++ b/examples/android/androidAccelerometerExample/res/values-v14/styles.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/examples/android/androidAccelerometerExample/res/values/strings.xml b/examples/android/androidAccelerometerExample/res/values/strings.xml new file mode 100644 index 00000000000..5fb5266e7ad --- /dev/null +++ b/examples/android/androidAccelerometerExample/res/values/strings.xml @@ -0,0 +1,8 @@ + + + + androidAccelerometerExample + Hello world! + Settings + + \ No newline at end of file diff --git a/examples/android/androidAccelerometerExample/res/values/styles.xml b/examples/android/androidAccelerometerExample/res/values/styles.xml new file mode 100644 index 00000000000..4a10ca492dd --- /dev/null +++ b/examples/android/androidAccelerometerExample/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/examples/android/androidAccelerometerExample/src/main.cpp b/examples/android/androidAccelerometerExample/src/main.cpp new file mode 100644 index 00000000000..8870c46e2ab --- /dev/null +++ b/examples/android/androidAccelerometerExample/src/main.cpp @@ -0,0 +1,37 @@ +#include "ofMain.h" +#include "testApp.h" +#ifdef TARGET_ANDROID + #include "ofAppAndroidWindow.h" +#else + #include "ofAppGlutWindow.h" +#endif + + + +int main(){ + +#ifdef TARGET_ANDROID + ofAppAndroidWindow *window = new ofAppAndroidWindow; +#else + ofAppGlutWindow *window = new ofAppGlutWindow; +#endif + ofSetupOpenGL(window, 1024,768, OF_WINDOW); // <-------- setup the GL context + + // this kicks off the running of my app + // can be OF_WINDOW or OF_FULLSCREEN + // pass in width and height too: + ofRunApp( new testApp() ); + return 0; +} + + +#ifdef TARGET_ANDROID +#include + +//======================================================================== +extern "C"{ + void Java_cc_openframeworks_OFAndroid_init( JNIEnv* env, jobject thiz ){ + main(); + } +} +#endif diff --git a/examples/android/androidAccelerometerExample/src/testApp.cpp b/examples/android/androidAccelerometerExample/src/testApp.cpp new file mode 100644 index 00000000000..b1c54c7974b --- /dev/null +++ b/examples/android/androidAccelerometerExample/src/testApp.cpp @@ -0,0 +1,115 @@ +#include "testApp.h" + +//-------------------------------------------------------------- +void testApp::setup(){ + // initialize the accelerometer + ofxAccelerometer.setup(); + + font.loadFont("verdana.ttf",24); + ofSetLineWidth(10); + ofBackground(0,0,0); +} + +//-------------------------------------------------------------- +void testApp::update(){ + accel = ofxAccelerometer.getForce(); + sprintf(buf[0],"g(x) = %0.2f",accel.x); + sprintf(buf[1],"g(y) = %0.2f",accel.y); + sprintf(buf[2],"g(z) = %0.2f",accel.z); + normAccel = accel.getNormalized(); +} + +//-------------------------------------------------------------- +void testApp::draw(){ + ofSetColor(255,255,0); + font.drawString(buf[0],10,24); + ofSetColor(255,0,255); + font.drawString(buf[1],10,font.stringHeight(buf[0])+24); + + ofTranslate(ofGetWidth()/2, ofGetHeight()/2); + + ofSetColor(255,255,0); + ofLine(0,0,normAccel.x*ofGetWidth()/2,0); + ofSetColor(255,0,255); + ofLine(0,0,0,-normAccel.y*ofGetHeight()/2); +} + +//-------------------------------------------------------------- +void testApp::keyPressed (int key){ + +} + +//-------------------------------------------------------------- +void testApp::keyReleased(int key){ + +} + +//-------------------------------------------------------------- +void testApp::windowResized(int w, int h){ + +} + +//-------------------------------------------------------------- +void testApp::touchDown(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::touchMoved(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::touchUp(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::touchDoubleTap(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::touchCancelled(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::swipe(ofxAndroidSwipeDir swipeDir, int id){ + +} + +//-------------------------------------------------------------- +void testApp::pause(){ + +} + +//-------------------------------------------------------------- +void testApp::stop(){ + +} + +//-------------------------------------------------------------- +void testApp::resume(){ + +} + +//-------------------------------------------------------------- +void testApp::reloadTextures(){ + +} + +//-------------------------------------------------------------- +bool testApp::backPressed(){ + return false; +} + +//-------------------------------------------------------------- +void testApp::okPressed(){ + +} + +//-------------------------------------------------------------- +void testApp::cancelPressed(){ + +} diff --git a/examples/android/androidAccelerometerExample/src/testApp.h b/examples/android/androidAccelerometerExample/src/testApp.h new file mode 100644 index 00000000000..31bcc797e90 --- /dev/null +++ b/examples/android/androidAccelerometerExample/src/testApp.h @@ -0,0 +1,39 @@ +#pragma once + +#include "ofMain.h" +#include "ofxAndroid.h" + +#include "ofxAccelerometer.h" + +class testApp : public ofxAndroidApp{ + + public: + + void setup(); + void update(); + void draw(); + + void keyPressed(int key); + void keyReleased(int key); + void windowResized(int w, int h); + + void touchDown(int x, int y, int id); + void touchMoved(int x, int y, int id); + void touchUp(int x, int y, int id); + void touchDoubleTap(int x, int y, int id); + void touchCancelled(int x, int y, int id); + void swipe(ofxAndroidSwipeDir swipeDir, int id); + + void pause(); + void stop(); + void resume(); + void reloadTextures(); + + bool backPressed(); + void okPressed(); + void cancelPressed(); + + ofTrueTypeFont font; + ofVec3f accel, normAccel; + char buf[3][64]; +}; diff --git a/examples/android/androidAccelerometerExample/srcJava/cc/openframeworks/androidAccelerometerExample/OFActivity.java b/examples/android/androidAccelerometerExample/srcJava/cc/openframeworks/androidAccelerometerExample/OFActivity.java new file mode 100644 index 00000000000..81523351f51 --- /dev/null +++ b/examples/android/androidAccelerometerExample/srcJava/cc/openframeworks/androidAccelerometerExample/OFActivity.java @@ -0,0 +1,91 @@ +package cc.openframeworks.androidAccelerometerExample; + +import android.os.Bundle; +import android.view.KeyEvent; +import android.view.Menu; +import android.view.MenuItem; +import cc.openframeworks.OFAndroid; + + +public class OFActivity extends cc.openframeworks.OFActivity{ + + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + String packageName = getPackageName(); + + ofApp = new OFAndroid(packageName,this); + } + + @Override + public void onDetachedFromWindow() { + } + + @Override + protected void onPause() { + super.onPause(); + ofApp.pause(); + } + + @Override + protected void onResume() { + super.onResume(); + ofApp.resume(); + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (OFAndroid.keyDown(keyCode, event)) { + return true; + } else { + return super.onKeyDown(keyCode, event); + } + } + + @Override + public boolean onKeyUp(int keyCode, KeyEvent event) { + if (OFAndroid.keyUp(keyCode, event)) { + return true; + } else { + return super.onKeyUp(keyCode, event); + } + } + + + OFAndroid ofApp; + + + + // Menus + // http://developer.android.com/guide/topics/ui/menus.html + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Create settings menu options from here, one by one or infalting an xml + return super.onCreateOptionsMenu(menu); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // This passes the menu option string to OF + // you can add additional behavior from java modifying this method + // but keep the call to OFAndroid so OF is notified of menu events + if(OFAndroid.menuItemSelected(item.getItemId())){ + + return true; + } + return super.onOptionsItemSelected(item); + } + + + @Override + public boolean onPrepareOptionsMenu (Menu menu){ + // This method is called every time the menu is opened + // you can add or remove menu options from here + return super.onPrepareOptionsMenu(menu); + } + +} + + + diff --git a/examples/android/androidAdvanced3DExample/.cproject b/examples/android/androidAdvanced3DExample/.cproject index 98799dcecc7..8ba437ccbbd 100644 --- a/examples/android/androidAdvanced3DExample/.cproject +++ b/examples/android/androidAdvanced3DExample/.cproject @@ -1,42 +1,29 @@ - - - + - - + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + @@ -45,1468 +32,58 @@ - - - + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - + - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/examples/android/androidAdvanced3DExample/.project b/examples/android/androidAdvanced3DExample/.project index 6ace1012001..bc363c94177 100644 --- a/examples/android/androidAdvanced3DExample/.project +++ b/examples/android/androidAdvanced3DExample/.project @@ -3,8 +3,6 @@ androidAdvanced3DExample - addons - libs openFrameworks @@ -12,58 +10,6 @@ org.eclipse.cdt.managedbuilder.core.genmakebuilder clean,full,incremental, - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - CleanAndroid - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - AndroidDebug - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - @@ -71,8 +17,24 @@ + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, diff --git a/examples/android/androidAdvanced3DExample/.settings/org.eclipse.cdt.codan.core.prefs b/examples/android/androidAdvanced3DExample/.settings/org.eclipse.cdt.codan.core.prefs new file mode 100644 index 00000000000..810101ec581 --- /dev/null +++ b/examples/android/androidAdvanced3DExample/.settings/org.eclipse.cdt.codan.core.prefs @@ -0,0 +1,67 @@ +eclipse.preferences.version=1 +org.eclipse.cdt.codan.checkers.errnoreturn=Warning +org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.checkers.errreturnvalue=Error +org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.checkers.noreturn=Error +org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=-Error +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=-Error +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>true,empty_case_param\=>false} +org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning +org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=-Error +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true} +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidArguments=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.OverloadProblem=-Error +org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false} +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false} +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")} +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} diff --git a/examples/android/androidAdvanced3DExample/AndroidManifest.xml b/examples/android/androidAdvanced3DExample/AndroidManifest.xml index 4e5fe7a6934..7c6404b56d0 100644 --- a/examples/android/androidAdvanced3DExample/AndroidManifest.xml +++ b/examples/android/androidAdvanced3DExample/AndroidManifest.xml @@ -1,19 +1,30 @@ - - - + package="cc.openframeworks.androidAdvanced3DExample" + android:versionCode="1" + android:versionName="1.0" + android:installLocation="preferExternal"> + + + + + + + + - - + + \ No newline at end of file diff --git a/examples/android/androidAdvanced3DExample/Makefile b/examples/android/androidAdvanced3DExample/Makefile new file mode 100644 index 00000000000..2d83a770918 --- /dev/null +++ b/examples/android/androidAdvanced3DExample/Makefile @@ -0,0 +1,2 @@ +include config.make +include $(OF_ROOT)/libs/openFrameworksCompiled/project/makefileCommon/Makefile.examples diff --git a/examples/android/androidAdvanced3DExample/ant.properties b/examples/android/androidAdvanced3DExample/ant.properties deleted file mode 100644 index 2e076420b47..00000000000 --- a/examples/android/androidAdvanced3DExample/ant.properties +++ /dev/null @@ -1,18 +0,0 @@ -# This file is used to override default values used by the Ant build system. -# -# This file must be checked in Version Control Systems, as it is -# integral to the build system of your project. - -# This file is only used by the Ant script. - -# You can use this to override default values such as -# 'source.dir' for the location of your java source folder and -# 'out.dir' for the location of your output folder. - -# You can also use it define how the release builds are signed by declaring -# the following properties: -# 'key.store' for the location of your keystore and -# 'key.alias' for the name of the key to use. -# The password will be asked during the build when you use the 'release' target. - -source.dir=srcJava \ No newline at end of file diff --git a/examples/android/androidAdvanced3DExample/bin/data/.gitkeep b/examples/android/androidAdvanced3DExample/bin/data/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/examples/android/androidAdvanced3DExample/build.xml b/examples/android/androidAdvanced3DExample/build.xml index f02a845fb8f..024f138d46d 100644 --- a/examples/android/androidAdvanced3DExample/build.xml +++ b/examples/android/androidAdvanced3DExample/build.xml @@ -28,6 +28,15 @@ --> + + + + + + - - - + + + + + \ No newline at end of file diff --git a/examples/android/androidAdvanced3DExample/res/values-v14/styles.xml b/examples/android/androidAdvanced3DExample/res/values-v14/styles.xml new file mode 100644 index 00000000000..f20e01501df --- /dev/null +++ b/examples/android/androidAdvanced3DExample/res/values-v14/styles.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/examples/android/androidAdvanced3DExample/res/values/strings.xml b/examples/android/androidAdvanced3DExample/res/values/strings.xml index 239d31bce55..262f7b3415e 100644 --- a/examples/android/androidAdvanced3DExample/res/values/strings.xml +++ b/examples/android/androidAdvanced3DExample/res/values/strings.xml @@ -1,4 +1,8 @@ + androidAdvanced3DExample - + Hello world! + Settings + + \ No newline at end of file diff --git a/examples/android/androidAdvanced3DExample/res/values/styles.xml b/examples/android/androidAdvanced3DExample/res/values/styles.xml new file mode 100644 index 00000000000..4a10ca492dd --- /dev/null +++ b/examples/android/androidAdvanced3DExample/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/examples/android/androidAdvanced3DExample/src/testApp.cpp b/examples/android/androidAdvanced3DExample/src/testApp.cpp index 0bec5a7f8d2..691149b40d6 100644 --- a/examples/android/androidAdvanced3DExample/src/testApp.cpp +++ b/examples/android/androidAdvanced3DExample/src/testApp.cpp @@ -409,26 +409,76 @@ void testApp::keyPressed(int key){ //-------------------------------------------------------------- void testApp::keyReleased(int key){ + } //-------------------------------------------------------------- -void testApp::mouseMoved(int x, int y ){ +void testApp::windowResized(int w, int h){ + setupViewports(); } + //-------------------------------------------------------------- -void testApp::mouseDragged(int x, int y, int button){ +void testApp::touchDown(int x, int y, int id){ + } //-------------------------------------------------------------- -void testApp::mousePressed(int x, int y, int button){ +void testApp::touchMoved(int x, int y, int id){ + } //-------------------------------------------------------------- -void testApp::mouseReleased(int x, int y, int button){ +void testApp::touchUp(int x, int y, int id){ + } //-------------------------------------------------------------- -void testApp::windowResized(int w, int h){ - setupViewports(); +void testApp::touchDoubleTap(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::touchCancelled(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::swipe(ofxAndroidSwipeDir swipeDir, int id){ + +} + +//-------------------------------------------------------------- +void testApp::pause(){ + } +//-------------------------------------------------------------- +void testApp::stop(){ + +} + +//-------------------------------------------------------------- +void testApp::resume(){ + +} + +//-------------------------------------------------------------- +void testApp::reloadTextures(){ + +} + +//-------------------------------------------------------------- +bool testApp::backPressed(){ + return false; +} + +//-------------------------------------------------------------- +void testApp::okPressed(){ + +} + +//-------------------------------------------------------------- +void testApp::cancelPressed(){ + +} diff --git a/examples/android/androidAdvanced3DExample/src/testApp.h b/examples/android/androidAdvanced3DExample/src/testApp.h index e1ba3a29f51..e0af6c6339b 100644 --- a/examples/android/androidAdvanced3DExample/src/testApp.h +++ b/examples/android/androidAdvanced3DExample/src/testApp.h @@ -18,6 +18,8 @@ /////////////////////////////////////////////////// #include "ofMain.h" +#include "ofxAndroid.h" + #include "Swarm.h" #include "Grid.h" @@ -25,7 +27,7 @@ #define N_CAMERAS 4 -class testApp : public ofBaseApp{ +class testApp : public ofxAndroidApp{ public: void setup(); @@ -38,12 +40,24 @@ class testApp : public ofBaseApp{ void keyPressed (int key); void keyReleased(int key); - void mouseMoved(int x, int y ); - void mouseDragged(int x, int y, int button); - void mousePressed(int x, int y, int button); - void mouseReleased(int x, int y, int button); void windowResized(int w, int h); + void touchDown(int x, int y, int id); + void touchMoved(int x, int y, int id); + void touchUp(int x, int y, int id); + void touchDoubleTap(int x, int y, int id); + void touchCancelled(int x, int y, int id); + void swipe(ofxAndroidSwipeDir swipeDir, int id); + + void pause(); + void stop(); + void resume(); + void reloadTextures(); + + bool backPressed(); + void okPressed(); + void cancelPressed(); + //cameras (all these inherit from ofCamera) ofEasyCam camEasyCam; OrthoCamera camFront; @@ -88,4 +102,4 @@ class testApp : public ofBaseApp{ test isActive on camera end -*/ \ No newline at end of file +*/ diff --git a/examples/android/androidAdvanced3DExample/srcJava/cc/openframeworks/androidAdvanced3DExample/OFActivity.java b/examples/android/androidAdvanced3DExample/srcJava/cc/openframeworks/androidAdvanced3DExample/OFActivity.java index f8e72aa8c66..fdadc8b04fd 100644 --- a/examples/android/androidAdvanced3DExample/srcJava/cc/openframeworks/androidAdvanced3DExample/OFActivity.java +++ b/examples/android/androidAdvanced3DExample/srcJava/cc/openframeworks/androidAdvanced3DExample/OFActivity.java @@ -1,6 +1,5 @@ package cc.openframeworks.androidAdvanced3DExample; -import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.Menu; @@ -8,7 +7,7 @@ import cc.openframeworks.OFAndroid; -public class OFActivity extends Activity{ +public class OFActivity extends cc.openframeworks.OFActivity{ @Override public void onCreate(Bundle savedInstanceState) diff --git a/examples/android/androidAssimpExample/.classpath b/examples/android/androidAssimpExample/.classpath index a93be331700..296aed65759 100644 --- a/examples/android/androidAssimpExample/.classpath +++ b/examples/android/androidAssimpExample/.classpath @@ -3,6 +3,6 @@ - + diff --git a/examples/android/androidAssimpExample/.cproject b/examples/android/androidAssimpExample/.cproject index 111ca01fc34..b1f428e42de 100644 --- a/examples/android/androidAssimpExample/.cproject +++ b/examples/android/androidAssimpExample/.cproject @@ -1,42 +1,29 @@ - - - + - - + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + @@ -45,1472 +32,58 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - - + - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/examples/android/androidAssimpExample/.project b/examples/android/androidAssimpExample/.project index abc4a6cb262..bbfa1346df3 100644 --- a/examples/android/androidAssimpExample/.project +++ b/examples/android/androidAssimpExample/.project @@ -3,8 +3,6 @@ androidAssimpExample - addons - libs openFrameworks @@ -12,58 +10,6 @@ org.eclipse.cdt.managedbuilder.core.genmakebuilder clean,full,incremental, - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - CleanAndroid - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - AndroidDebug - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - @@ -71,8 +17,24 @@ + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, diff --git a/examples/android/androidAssimpExample/.settings/org.eclipse.cdt.codan.core.prefs b/examples/android/androidAssimpExample/.settings/org.eclipse.cdt.codan.core.prefs new file mode 100644 index 00000000000..810101ec581 --- /dev/null +++ b/examples/android/androidAssimpExample/.settings/org.eclipse.cdt.codan.core.prefs @@ -0,0 +1,67 @@ +eclipse.preferences.version=1 +org.eclipse.cdt.codan.checkers.errnoreturn=Warning +org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.checkers.errreturnvalue=Error +org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.checkers.noreturn=Error +org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=-Error +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=-Error +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>true,empty_case_param\=>false} +org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning +org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=-Error +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true} +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidArguments=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.OverloadProblem=-Error +org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false} +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false} +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")} +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} diff --git a/examples/android/androidAssimpExample/AndroidManifest.xml b/examples/android/androidAssimpExample/AndroidManifest.xml index 09c46449210..bf9e83e8230 100644 --- a/examples/android/androidAssimpExample/AndroidManifest.xml +++ b/examples/android/androidAssimpExample/AndroidManifest.xml @@ -1,20 +1,30 @@ - - - + package="cc.openframeworks.androidAssimpExample" + android:versionCode="1" + android:versionName="1.0" + android:installLocation="preferExternal"> + + + + + + + + - - - + + \ No newline at end of file diff --git a/examples/android/androidAssimpExample/ant.properties b/examples/android/androidAssimpExample/ant.properties deleted file mode 100644 index 76b8dfd891b..00000000000 --- a/examples/android/androidAssimpExample/ant.properties +++ /dev/null @@ -1 +0,0 @@ -source.dir=srcJava diff --git a/examples/android/androidAssimpExample/build.properties b/examples/android/androidAssimpExample/build.properties deleted file mode 100644 index 0cc5e9dbfec..00000000000 --- a/examples/android/androidAssimpExample/build.properties +++ /dev/null @@ -1,3 +0,0 @@ -source.dir=srcJava -#key.store=${HOME}/.android/debug.keystore -#key.alias=debug \ No newline at end of file diff --git a/examples/android/androidAssimpExample/build.xml b/examples/android/androidAssimpExample/build.xml index f02a845fb8f..024f138d46d 100644 --- a/examples/android/androidAssimpExample/build.xml +++ b/examples/android/androidAssimpExample/build.xml @@ -28,6 +28,15 @@ --> + + + + + + - - - + + + + + \ No newline at end of file diff --git a/examples/android/androidAssimpExample/res/values-v14/styles.xml b/examples/android/androidAssimpExample/res/values-v14/styles.xml new file mode 100644 index 00000000000..c57a2d8d0a9 --- /dev/null +++ b/examples/android/androidAssimpExample/res/values-v14/styles.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/examples/android/androidAssimpExample/res/values/strings.xml b/examples/android/androidAssimpExample/res/values/strings.xml index 1ab4022b99e..3ddad042ab0 100644 --- a/examples/android/androidAssimpExample/res/values/strings.xml +++ b/examples/android/androidAssimpExample/res/values/strings.xml @@ -1,4 +1,8 @@ + androidAssimpExample - + Hello world! + Settings + + \ No newline at end of file diff --git a/examples/android/androidAssimpExample/res/values/styles.xml b/examples/android/androidAssimpExample/res/values/styles.xml new file mode 100644 index 00000000000..d4984e93aaa --- /dev/null +++ b/examples/android/androidAssimpExample/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/examples/android/androidAssimpExample/src/testApp.cpp b/examples/android/androidAssimpExample/src/testApp.cpp index c2e8372c919..0643b528f3b 100644 --- a/examples/android/androidAssimpExample/src/testApp.cpp +++ b/examples/android/androidAssimpExample/src/testApp.cpp @@ -3,7 +3,7 @@ //-------------------------------------------------------------- void testApp::setup(){ - ofSetLogLevel(OF_LOG_VERBOSE); + ofSetLogLevel(OF_LOG_VERBOSE); // we need GL_TEXTURE_2D for our models coords. ofDisableArbTex(); @@ -82,41 +82,73 @@ void testApp::keyReleased(int key){ } //-------------------------------------------------------------- -void testApp::mouseMoved(int x, int y ){ +void testApp::windowResized(int w, int h){ + model.calculateDimensions(); + model.setPosition(ofGetWidth() * 0.5, (float)ofGetHeight() * 0.5 , 0); +} + +//-------------------------------------------------------------- +void testApp::touchDown(int x, int y, int id){ } //-------------------------------------------------------------- -void testApp::mouseDragged(int x, int y, int button){ +void testApp::touchMoved(int x, int y, int id){ bAnimateMouse = true; animationTime = float(y)/float(ofGetHeight()); } //-------------------------------------------------------------- -void testApp::mousePressed(int x, int y, int button){ +void testApp::touchUp(int x, int y, int id){ + bAnimateMouse = false; +} + +//-------------------------------------------------------------- +void testApp::touchDoubleTap(int x, int y, int id){ } //-------------------------------------------------------------- -void testApp::mouseReleased(int x, int y, int button){ - bAnimateMouse = false; +void testApp::touchCancelled(int x, int y, int id){ } //-------------------------------------------------------------- -void testApp::windowResized(int w, int h){ - model.calculateDimensions(); - model.setPosition(ofGetWidth() * 0.5, (float)ofGetHeight() * 0.5 , 0); +void testApp::swipe(ofxAndroidSwipeDir swipeDir, int id){ + +} + +//-------------------------------------------------------------- +void testApp::pause(){ + +} + +//-------------------------------------------------------------- +void testApp::stop(){ + +} + +//-------------------------------------------------------------- +void testApp::resume(){ } //-------------------------------------------------------------- -void testApp::gotMessage(ofMessage msg){ +void testApp::reloadTextures(){ + +} +//-------------------------------------------------------------- +bool testApp::backPressed(){ + return false; } //-------------------------------------------------------------- -void testApp::dragEvent(ofDragInfo dragInfo){ +void testApp::okPressed(){ } +//-------------------------------------------------------------- +void testApp::cancelPressed(){ + +} diff --git a/examples/android/androidAssimpExample/src/testApp.h b/examples/android/androidAssimpExample/src/testApp.h index 143b43bf826..900995a603a 100644 --- a/examples/android/androidAssimpExample/src/testApp.h +++ b/examples/android/androidAssimpExample/src/testApp.h @@ -1,11 +1,12 @@ -#ifndef _TEST_APP -#define _TEST_APP +#pragma once #include "ofMain.h" +#include "ofxAndroid.h" + #include "ofxAssimpModelLoader.h" #include "ofVboMesh.h" -class testApp : public ofBaseApp{ +class testApp : public ofxAndroidApp{ public: void setup(); @@ -14,14 +15,24 @@ class testApp : public ofBaseApp{ void keyPressed(int key); void keyReleased(int key); - void mouseMoved(int x, int y ); - void mouseDragged(int x, int y, int button); - void mousePressed(int x, int y, int button); - void mouseReleased(int x, int y, int button); void windowResized(int w, int h); - void dragEvent(ofDragInfo dragInfo); - void gotMessage(ofMessage msg); - + + void touchDown(int x, int y, int id); + void touchMoved(int x, int y, int id); + void touchUp(int x, int y, int id); + void touchDoubleTap(int x, int y, int id); + void touchCancelled(int x, int y, int id); + void swipe(ofxAndroidSwipeDir swipeDir, int id); + + void pause(); + void stop(); + void resume(); + void reloadTextures(); + + bool backPressed(); + void okPressed(); + void cancelPressed(); + bool bAnimate; bool bAnimateMouse; float animationTime; @@ -30,5 +41,3 @@ class testApp : public ofBaseApp{ bool loaded; }; - -#endif diff --git a/examples/android/androidAssimpExample/srcJava/cc/openframeworks/androidAssimpExample/OFActivity.java b/examples/android/androidAssimpExample/srcJava/cc/openframeworks/androidAssimpExample/OFActivity.java index 11fb40e895d..84bad590eca 100644 --- a/examples/android/androidAssimpExample/srcJava/cc/openframeworks/androidAssimpExample/OFActivity.java +++ b/examples/android/androidAssimpExample/srcJava/cc/openframeworks/androidAssimpExample/OFActivity.java @@ -1,6 +1,5 @@ package cc.openframeworks.androidAssimpExample; -import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.Menu; @@ -8,7 +7,7 @@ import cc.openframeworks.OFAndroid; -public class OFActivity extends Activity{ +public class OFActivity extends cc.openframeworks.OFActivity{ @Override public void onCreate(Bundle savedInstanceState) diff --git a/examples/android/androidAudioExample/.classpath b/examples/android/androidAudioExample/.classpath index 673bcc150b4..296aed65759 100644 --- a/examples/android/androidAudioExample/.classpath +++ b/examples/android/androidAudioExample/.classpath @@ -3,7 +3,6 @@ - - + diff --git a/examples/android/androidAudioExample/.cproject b/examples/android/androidAudioExample/.cproject index 0dea92c1cd2..0740a9c223f 100644 --- a/examples/android/androidAudioExample/.cproject +++ b/examples/android/androidAudioExample/.cproject @@ -1,43 +1,29 @@ - - - + - - + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + @@ -46,1554 +32,58 @@ - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - + - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/examples/android/androidAudioExample/.project b/examples/android/androidAudioExample/.project index 84534cb2a76..ac03f6f3961 100644 --- a/examples/android/androidAudioExample/.project +++ b/examples/android/androidAudioExample/.project @@ -3,8 +3,6 @@ androidAudioExample - addons - libs openFrameworks @@ -12,58 +10,6 @@ org.eclipse.cdt.managedbuilder.core.genmakebuilder clean,full,incremental, - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - CleanDebug - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - AndroidDebug - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - @@ -71,8 +17,24 @@ + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, diff --git a/examples/android/androidAudioExample/.settings/org.eclipse.cdt.codan.core.prefs b/examples/android/androidAudioExample/.settings/org.eclipse.cdt.codan.core.prefs new file mode 100644 index 00000000000..810101ec581 --- /dev/null +++ b/examples/android/androidAudioExample/.settings/org.eclipse.cdt.codan.core.prefs @@ -0,0 +1,67 @@ +eclipse.preferences.version=1 +org.eclipse.cdt.codan.checkers.errnoreturn=Warning +org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.checkers.errreturnvalue=Error +org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.checkers.noreturn=Error +org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=-Error +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=-Error +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>true,empty_case_param\=>false} +org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning +org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=-Error +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true} +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidArguments=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.OverloadProblem=-Error +org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false} +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false} +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")} +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} diff --git a/examples/android/androidAudioExample/AndroidManifest.xml b/examples/android/androidAudioExample/AndroidManifest.xml index 1d74cf70d57..e4d37921a49 100644 --- a/examples/android/androidAudioExample/AndroidManifest.xml +++ b/examples/android/androidAudioExample/AndroidManifest.xml @@ -1,21 +1,31 @@ - - - + package="cc.openframeworks.androidAudioExample" + android:versionCode="1" + android:versionName="1.0" + android:installLocation="preferExternal"> + + + + + + + + + - - - - + + \ No newline at end of file diff --git a/examples/android/androidAudioExample/ant.properties b/examples/android/androidAudioExample/ant.properties deleted file mode 100644 index 76b8dfd891b..00000000000 --- a/examples/android/androidAudioExample/ant.properties +++ /dev/null @@ -1 +0,0 @@ -source.dir=srcJava diff --git a/examples/android/androidAudioExample/bin/data/.gitkeep b/examples/android/androidAudioExample/bin/data/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/examples/android/androidAudioExample/build.properties b/examples/android/androidAudioExample/build.properties deleted file mode 100644 index 0cc5e9dbfec..00000000000 --- a/examples/android/androidAudioExample/build.properties +++ /dev/null @@ -1,3 +0,0 @@ -source.dir=srcJava -#key.store=${HOME}/.android/debug.keystore -#key.alias=debug \ No newline at end of file diff --git a/examples/android/androidAudioExample/build.xml b/examples/android/androidAudioExample/build.xml index f02a845fb8f..024f138d46d 100644 --- a/examples/android/androidAudioExample/build.xml +++ b/examples/android/androidAudioExample/build.xml @@ -28,6 +28,15 @@ --> + + + + + + - - - + + + + + \ No newline at end of file diff --git a/examples/android/androidAudioExample/res/values-v14/styles.xml b/examples/android/androidAudioExample/res/values-v14/styles.xml new file mode 100644 index 00000000000..f20e01501df --- /dev/null +++ b/examples/android/androidAudioExample/res/values-v14/styles.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/examples/android/androidAudioExample/res/values/strings.xml b/examples/android/androidAudioExample/res/values/strings.xml index 73be88b240c..8acf6096af9 100644 --- a/examples/android/androidAudioExample/res/values/strings.xml +++ b/examples/android/androidAudioExample/res/values/strings.xml @@ -1,4 +1,8 @@ + androidAudioExample - + Hello world! + Settings + + \ No newline at end of file diff --git a/examples/android/androidAudioExample/res/values/styles.xml b/examples/android/androidAudioExample/res/values/styles.xml new file mode 100644 index 00000000000..4a10ca492dd --- /dev/null +++ b/examples/android/androidAudioExample/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/examples/android/androidAudioExample/src/testApp.cpp b/examples/android/androidAudioExample/src/testApp.cpp index e912ac456ca..b613bb24352 100644 --- a/examples/android/androidAudioExample/src/testApp.cpp +++ b/examples/android/androidAudioExample/src/testApp.cpp @@ -61,7 +61,17 @@ void testApp::keyReleased(int key){ } //-------------------------------------------------------------- -void testApp::mouseMoved(int x, int y ){ +void testApp::windowResized(int w, int h){ + +} + +//-------------------------------------------------------------- +void testApp::touchDown(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::touchMoved(int x, int y, int id){ int width = ofGetWidth(); pan = (float)x / (float)width; float height = (float)ofGetHeight(); @@ -71,25 +81,61 @@ void testApp::mouseMoved(int x, int y ){ } //-------------------------------------------------------------- -void testApp::mouseDragged(int x, int y, int button){ - +void testApp::touchUp(int x, int y, int id){ + } //-------------------------------------------------------------- -void testApp::mousePressed(int x, int y, int button){ +void testApp::touchDoubleTap(int x, int y, int id){ } //-------------------------------------------------------------- -void testApp::mouseReleased(int x, int y, int button){ +void testApp::touchCancelled(int x, int y, int id){ } //-------------------------------------------------------------- -void testApp::windowResized(int w, int h){ +void testApp::swipe(ofxAndroidSwipeDir swipeDir, int id){ + +} + +//-------------------------------------------------------------- +void testApp::pause(){ + +} + +//-------------------------------------------------------------- +void testApp::stop(){ } +//-------------------------------------------------------------- +void testApp::resume(){ + +} + +//-------------------------------------------------------------- +void testApp::reloadTextures(){ + +} + +//-------------------------------------------------------------- +bool testApp::backPressed(){ + return false; +} + +//-------------------------------------------------------------- +void testApp::okPressed(){ + +} + +//-------------------------------------------------------------- +void testApp::cancelPressed(){ + +} + + void testApp::audioRequested(float * output,int bufferSize,int nChannels){ //pan = 0.5f; float leftScale = 1 - pan; diff --git a/examples/android/androidAudioExample/src/testApp.h b/examples/android/androidAudioExample/src/testApp.h index a05591d3523..47be730773a 100644 --- a/examples/android/androidAudioExample/src/testApp.h +++ b/examples/android/androidAudioExample/src/testApp.h @@ -1,6 +1,4 @@ -#ifndef _TEST_APP -#define _TEST_APP - +#pragma once #include "ofMain.h" #include "ofxAndroid.h" @@ -16,12 +14,24 @@ class testApp : public ofxAndroidApp{ void keyPressed(int key); void keyReleased(int key); - void mouseMoved(int x, int y ); - void mouseDragged(int x, int y, int button); - void mousePressed(int x, int y, int button); - void mouseReleased(int x, int y, int button); void windowResized(int w, int h); + void touchDown(int x, int y, int id); + void touchMoved(int x, int y, int id); + void touchUp(int x, int y, int id); + void touchDoubleTap(int x, int y, int id); + void touchCancelled(int x, int y, int id); + void swipe(ofxAndroidSwipeDir swipeDir, int id); + + void pause(); + void stop(); + void resume(); + void reloadTextures(); + + bool backPressed(); + void okPressed(); + void cancelPressed(); + void audioRequested(float * output,int bufferSize,int nChannels); void audioReceived(float * input,int bufferSize,int nChannels); @@ -41,6 +51,3 @@ class testApp : public ofxAndroidApp{ ofSoundStream soundStream; }; - -#endif - diff --git a/examples/android/androidAudioExample/srcJava/cc/openframeworks/androidAudioExample/OFActivity.java b/examples/android/androidAudioExample/srcJava/cc/openframeworks/androidAudioExample/OFActivity.java index 8e6fe2961c5..61a6952796a 100644 --- a/examples/android/androidAudioExample/srcJava/cc/openframeworks/androidAudioExample/OFActivity.java +++ b/examples/android/androidAudioExample/srcJava/cc/openframeworks/androidAudioExample/OFActivity.java @@ -1,6 +1,5 @@ package cc.openframeworks.androidAudioExample; -import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.Menu; @@ -8,7 +7,7 @@ import cc.openframeworks.OFAndroid; -public class OFActivity extends Activity{ +public class OFActivity extends cc.openframeworks.OFActivity{ @Override public void onCreate(Bundle savedInstanceState) diff --git a/examples/android/androidCameraExample/.classpath b/examples/android/androidCameraExample/.classpath index a93be331700..296aed65759 100644 --- a/examples/android/androidCameraExample/.classpath +++ b/examples/android/androidCameraExample/.classpath @@ -3,6 +3,6 @@ - + diff --git a/examples/android/androidCameraExample/.cproject b/examples/android/androidCameraExample/.cproject index e01832a4efb..cdcd40792d0 100644 --- a/examples/android/androidCameraExample/.cproject +++ b/examples/android/androidCameraExample/.cproject @@ -1,42 +1,29 @@ - - - + - - + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + @@ -45,1638 +32,58 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - - + - + - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + diff --git a/examples/android/androidCameraExample/.project b/examples/android/androidCameraExample/.project index e3dc30cf255..915af46c23f 100644 --- a/examples/android/androidCameraExample/.project +++ b/examples/android/androidCameraExample/.project @@ -3,8 +3,6 @@ androidCameraExample - addons - libs openFrameworks @@ -12,58 +10,6 @@ org.eclipse.cdt.managedbuilder.core.genmakebuilder clean,full,incremental, - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - CleanAndroid - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - AndroidRelease - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - @@ -71,8 +17,24 @@ + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, @@ -85,17 +47,4 @@ org.eclipse.cdt.managedbuilder.core.managedBuildNature org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - - ofxAndroid - 2 - OF_ADDONS/ofxAndroid - - - - - OF_ADDONS - file:/home/arturo/Desktop/openFrameworks/addons - - diff --git a/examples/android/androidCameraExample/.settings/org.eclipse.cdt.codan.core.prefs b/examples/android/androidCameraExample/.settings/org.eclipse.cdt.codan.core.prefs new file mode 100644 index 00000000000..810101ec581 --- /dev/null +++ b/examples/android/androidCameraExample/.settings/org.eclipse.cdt.codan.core.prefs @@ -0,0 +1,67 @@ +eclipse.preferences.version=1 +org.eclipse.cdt.codan.checkers.errnoreturn=Warning +org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.checkers.errreturnvalue=Error +org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.checkers.noreturn=Error +org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=-Error +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=-Error +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>true,empty_case_param\=>false} +org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning +org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=-Error +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true} +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidArguments=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.OverloadProblem=-Error +org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false} +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false} +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")} +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} diff --git a/examples/android/androidCameraExample/AndroidManifest.xml b/examples/android/androidCameraExample/AndroidManifest.xml index b523451e140..2fe8bbce43f 100644 --- a/examples/android/androidCameraExample/AndroidManifest.xml +++ b/examples/android/androidCameraExample/AndroidManifest.xml @@ -1,22 +1,31 @@ - - - + package="cc.openframeworks.androidCameraExample" + android:versionCode="1" + android:versionName="1.0" + android:installLocation="preferExternal"> + + + + + + + + + - - - - - + + \ No newline at end of file diff --git a/examples/android/androidCameraExample/ant.properties b/examples/android/androidCameraExample/ant.properties deleted file mode 100644 index 76b8dfd891b..00000000000 --- a/examples/android/androidCameraExample/ant.properties +++ /dev/null @@ -1 +0,0 @@ -source.dir=srcJava diff --git a/examples/android/androidCameraExample/bin/data/.gitkeep b/examples/android/androidCameraExample/bin/data/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/examples/android/androidCameraExample/build.properties b/examples/android/androidCameraExample/build.properties deleted file mode 100644 index 0cc5e9dbfec..00000000000 --- a/examples/android/androidCameraExample/build.properties +++ /dev/null @@ -1,3 +0,0 @@ -source.dir=srcJava -#key.store=${HOME}/.android/debug.keystore -#key.alias=debug \ No newline at end of file diff --git a/examples/android/androidCameraExample/build.xml b/examples/android/androidCameraExample/build.xml index f02a845fb8f..024f138d46d 100644 --- a/examples/android/androidCameraExample/build.xml +++ b/examples/android/androidCameraExample/build.xml @@ -28,6 +28,15 @@ --> + + + + + + - - - + + + + + \ No newline at end of file diff --git a/examples/android/androidCameraExample/res/values-v14/styles.xml b/examples/android/androidCameraExample/res/values-v14/styles.xml new file mode 100644 index 00000000000..f20e01501df --- /dev/null +++ b/examples/android/androidCameraExample/res/values-v14/styles.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/examples/android/androidCameraExample/res/values/strings.xml b/examples/android/androidCameraExample/res/values/strings.xml index 380c78eb476..066bc59730f 100644 --- a/examples/android/androidCameraExample/res/values/strings.xml +++ b/examples/android/androidCameraExample/res/values/strings.xml @@ -1,4 +1,8 @@ + androidCameraExample - + Hello world! + Settings + + \ No newline at end of file diff --git a/examples/android/androidCameraExample/res/values/styles.xml b/examples/android/androidCameraExample/res/values/styles.xml new file mode 100644 index 00000000000..4a10ca492dd --- /dev/null +++ b/examples/android/androidCameraExample/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/examples/android/androidCameraExample/src/testApp.cpp b/examples/android/androidCameraExample/src/testApp.cpp index 4c3888e3bb1..ba273bc9825 100644 --- a/examples/android/androidCameraExample/src/testApp.cpp +++ b/examples/android/androidCameraExample/src/testApp.cpp @@ -46,25 +46,71 @@ void testApp::keyReleased(int key){ } //-------------------------------------------------------------- -void testApp::mouseMoved(int x, int y ){ +void testApp::windowResized(int w, int h){ + } //-------------------------------------------------------------- -void testApp::mouseDragged(int x, int y, int button){ - +void testApp::touchDown(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::touchMoved(int x, int y, int id){ + } //-------------------------------------------------------------- -void testApp::mousePressed(int x, int y, int button){ +void testApp::touchUp(int x, int y, int id){ } //-------------------------------------------------------------- -void testApp::mouseReleased(int x, int y, int button){ +void testApp::touchDoubleTap(int x, int y, int id){ + } //-------------------------------------------------------------- -void testApp::windowResized(int w, int h){ +void testApp::touchCancelled(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::swipe(ofxAndroidSwipeDir swipeDir, int id){ + +} + +//-------------------------------------------------------------- +void testApp::pause(){ + +} + +//-------------------------------------------------------------- +void testApp::stop(){ + +} + +//-------------------------------------------------------------- +void testApp::resume(){ + +} + +//-------------------------------------------------------------- +void testApp::reloadTextures(){ } +//-------------------------------------------------------------- +bool testApp::backPressed(){ + return false; +} + +//-------------------------------------------------------------- +void testApp::okPressed(){ + +} + +//-------------------------------------------------------------- +void testApp::cancelPressed(){ + +} diff --git a/examples/android/androidCameraExample/src/testApp.h b/examples/android/androidCameraExample/src/testApp.h index 4a65e31a41d..683c9f29ccc 100644 --- a/examples/android/androidCameraExample/src/testApp.h +++ b/examples/android/androidCameraExample/src/testApp.h @@ -1,6 +1,4 @@ -#ifndef _TEST_APP -#define _TEST_APP - +#pragma once #include "ofMain.h" #include "ofxAndroid.h" @@ -15,12 +13,24 @@ class testApp : public ofxAndroidApp{ void keyPressed(int key); void keyReleased(int key); - void mouseMoved(int x, int y ); - void mouseDragged(int x, int y, int button); - void mousePressed(int x, int y, int button); - void mouseReleased(int x, int y, int button); void windowResized(int w, int h); + void touchDown(int x, int y, int id); + void touchMoved(int x, int y, int id); + void touchUp(int x, int y, int id); + void touchDoubleTap(int x, int y, int id); + void touchCancelled(int x, int y, int id); + void swipe(ofxAndroidSwipeDir swipeDir, int id); + + void pause(); + void stop(); + void resume(); + void reloadTextures(); + + bool backPressed(); + void okPressed(); + void cancelPressed(); + ofVideoGrabber grabber; int one_second_time; @@ -28,6 +38,3 @@ class testApp : public ofxAndroidApp{ int frames_one_sec; }; - -#endif - diff --git a/examples/android/androidCameraExample/srcJava/cc/openframeworks/androidCameraExample/OFActivity.java b/examples/android/androidCameraExample/srcJava/cc/openframeworks/androidCameraExample/OFActivity.java index 0eea096b0b0..79e6430d2a7 100644 --- a/examples/android/androidCameraExample/srcJava/cc/openframeworks/androidCameraExample/OFActivity.java +++ b/examples/android/androidCameraExample/srcJava/cc/openframeworks/androidCameraExample/OFActivity.java @@ -1,6 +1,5 @@ package cc.openframeworks.androidCameraExample; -import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.Menu; @@ -8,7 +7,7 @@ import cc.openframeworks.OFAndroid; -public class OFActivity extends Activity{ +public class OFActivity extends cc.openframeworks.OFActivity{ @Override public void onCreate(Bundle savedInstanceState) diff --git a/examples/android/androidEmptyExample/.cproject b/examples/android/androidEmptyExample/.cproject index 931616bde66..b47885251a8 100644 --- a/examples/android/androidEmptyExample/.cproject +++ b/examples/android/androidEmptyExample/.cproject @@ -1,29 +1,29 @@ - - + + + + + - - - - - - - - - - + + + + + + + @@ -32,1006 +32,57 @@ - - - + + + + + - - - - - - - - - - + + + + + + + - - - - + - + + - + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/android/androidEmptyExample/.project b/examples/android/androidEmptyExample/.project index 2bb2e080647..d322950e32d 100644 --- a/examples/android/androidEmptyExample/.project +++ b/examples/android/androidEmptyExample/.project @@ -3,7 +3,6 @@ androidEmptyExample - libs openFrameworks @@ -11,58 +10,6 @@ org.eclipse.cdt.managedbuilder.core.genmakebuilder clean,full,incremental, - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - CleanAndroid - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - AndroidDebug - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - @@ -70,8 +17,24 @@ + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, diff --git a/examples/android/androidEmptyExample/.settings/org.eclipse.cdt.codan.core.prefs b/examples/android/androidEmptyExample/.settings/org.eclipse.cdt.codan.core.prefs new file mode 100644 index 00000000000..810101ec581 --- /dev/null +++ b/examples/android/androidEmptyExample/.settings/org.eclipse.cdt.codan.core.prefs @@ -0,0 +1,67 @@ +eclipse.preferences.version=1 +org.eclipse.cdt.codan.checkers.errnoreturn=Warning +org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.checkers.errreturnvalue=Error +org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.checkers.noreturn=Error +org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=-Error +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=-Error +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>true,empty_case_param\=>false} +org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning +org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=-Error +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true} +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidArguments=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.OverloadProblem=-Error +org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false} +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false} +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")} +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} diff --git a/examples/android/androidEmptyExample/AndroidManifest.xml b/examples/android/androidEmptyExample/AndroidManifest.xml index a784393cacd..39782d8c4a5 100644 --- a/examples/android/androidEmptyExample/AndroidManifest.xml +++ b/examples/android/androidEmptyExample/AndroidManifest.xml @@ -1,19 +1,30 @@ - - - + package="cc.openframeworks.androidEmptyExample" + android:versionCode="1" + android:versionName="1.0" + android:installLocation="preferExternal"> + + + + + + + + - - + + \ No newline at end of file diff --git a/examples/android/androidEmptyExample/ant.properties b/examples/android/androidEmptyExample/ant.properties deleted file mode 100644 index 76b8dfd891b..00000000000 --- a/examples/android/androidEmptyExample/ant.properties +++ /dev/null @@ -1 +0,0 @@ -source.dir=srcJava diff --git a/examples/android/androidEmptyExample/bin/data/.gitkeep b/examples/android/androidEmptyExample/bin/data/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/examples/android/androidEmptyExample/build.xml b/examples/android/androidEmptyExample/build.xml index f02a845fb8f..024f138d46d 100644 --- a/examples/android/androidEmptyExample/build.xml +++ b/examples/android/androidEmptyExample/build.xml @@ -28,6 +28,15 @@ --> + + + + + + - - - + + + + + \ No newline at end of file diff --git a/examples/android/androidEmptyExample/res/values-v14/styles.xml b/examples/android/androidEmptyExample/res/values-v14/styles.xml new file mode 100644 index 00000000000..f20e01501df --- /dev/null +++ b/examples/android/androidEmptyExample/res/values-v14/styles.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/examples/android/androidEmptyExample/res/values/strings.xml b/examples/android/androidEmptyExample/res/values/strings.xml index 411060fc2eb..e1163437ec6 100644 --- a/examples/android/androidEmptyExample/res/values/strings.xml +++ b/examples/android/androidEmptyExample/res/values/strings.xml @@ -1,4 +1,8 @@ + androidEmptyExample - + Hello world! + Settings + + \ No newline at end of file diff --git a/examples/android/androidEmptyExample/res/values/styles.xml b/examples/android/androidEmptyExample/res/values/styles.xml new file mode 100644 index 00000000000..4a10ca492dd --- /dev/null +++ b/examples/android/androidEmptyExample/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/examples/android/androidEmptyExample/src/testApp.cpp b/examples/android/androidEmptyExample/src/testApp.cpp index 32c7523fb06..cd90e354562 100644 --- a/examples/android/androidEmptyExample/src/testApp.cpp +++ b/examples/android/androidEmptyExample/src/testApp.cpp @@ -30,7 +30,6 @@ void testApp::windowResized(int w, int h){ } - //-------------------------------------------------------------- void testApp::touchDown(int x, int y, int id){ @@ -89,9 +88,9 @@ bool testApp::backPressed(){ //-------------------------------------------------------------- void testApp::okPressed(){ -}; +} //-------------------------------------------------------------- void testApp::cancelPressed(){ -}; +} diff --git a/examples/android/androidEmptyExample/src/testApp.h b/examples/android/androidEmptyExample/src/testApp.h index cb7dc8929a9..680bc6acec9 100644 --- a/examples/android/androidEmptyExample/src/testApp.h +++ b/examples/android/androidEmptyExample/src/testApp.h @@ -1,11 +1,9 @@ -#ifndef _TEST_APP -#define _TEST_APP - +#pragma once #include "ofMain.h" #include "ofxAndroid.h" -class testApp : public ofBaseApp{ +class testApp : public ofxAndroidApp{ public: @@ -33,6 +31,3 @@ class testApp : public ofBaseApp{ void okPressed(); void cancelPressed(); }; - -#endif - diff --git a/examples/android/androidEmptyExample/srcJava/cc/openframeworks/androidEmptyExample/OFActivity.java b/examples/android/androidEmptyExample/srcJava/cc/openframeworks/androidEmptyExample/OFActivity.java index d8342590ac2..61cb76bdd39 100644 --- a/examples/android/androidEmptyExample/srcJava/cc/openframeworks/androidEmptyExample/OFActivity.java +++ b/examples/android/androidEmptyExample/srcJava/cc/openframeworks/androidEmptyExample/OFActivity.java @@ -1,6 +1,5 @@ package cc.openframeworks.androidEmptyExample; -import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.Menu; @@ -8,7 +7,7 @@ import cc.openframeworks.OFAndroid; -public class OFActivity extends Activity{ +public class OFActivity extends cc.openframeworks.OFActivity{ @Override public void onCreate(Bundle savedInstanceState) diff --git a/examples/android/androidFontExample/.classpath b/examples/android/androidFontExample/.classpath index a93be331700..296aed65759 100644 --- a/examples/android/androidFontExample/.classpath +++ b/examples/android/androidFontExample/.classpath @@ -3,6 +3,6 @@ - + diff --git a/examples/android/androidFontExample/.cproject b/examples/android/androidFontExample/.cproject index a488ebd677b..274c7ac756c 100644 --- a/examples/android/androidFontExample/.cproject +++ b/examples/android/androidFontExample/.cproject @@ -1,43 +1,29 @@ - - - + - - + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + @@ -46,1718 +32,58 @@ - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - + - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/examples/android/androidFontExample/.project b/examples/android/androidFontExample/.project index 3d70e64fcfe..516c08933ef 100644 --- a/examples/android/androidFontExample/.project +++ b/examples/android/androidFontExample/.project @@ -3,8 +3,6 @@ androidFontExample - addons - libs openFrameworks @@ -12,58 +10,6 @@ org.eclipse.cdt.managedbuilder.core.genmakebuilder clean,full,incremental, - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - CleanDebug - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - AndroidDebug - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - @@ -71,8 +17,24 @@ + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, diff --git a/examples/android/androidFontExample/.settings/org.eclipse.cdt.codan.core.prefs b/examples/android/androidFontExample/.settings/org.eclipse.cdt.codan.core.prefs new file mode 100644 index 00000000000..810101ec581 --- /dev/null +++ b/examples/android/androidFontExample/.settings/org.eclipse.cdt.codan.core.prefs @@ -0,0 +1,67 @@ +eclipse.preferences.version=1 +org.eclipse.cdt.codan.checkers.errnoreturn=Warning +org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.checkers.errreturnvalue=Error +org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.checkers.noreturn=Error +org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=-Error +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=-Error +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>true,empty_case_param\=>false} +org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning +org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=-Error +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true} +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidArguments=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.OverloadProblem=-Error +org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false} +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false} +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")} +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} diff --git a/examples/android/androidFontExample/AndroidManifest.xml b/examples/android/androidFontExample/AndroidManifest.xml index e9c9a3647a0..6664731bdce 100644 --- a/examples/android/androidFontExample/AndroidManifest.xml +++ b/examples/android/androidFontExample/AndroidManifest.xml @@ -1,19 +1,30 @@ - - - + package="cc.openframeworks.androidFontExample" + android:versionCode="1" + android:versionName="1.0" + android:installLocation="preferExternal"> + + + + + + + + - - + + \ No newline at end of file diff --git a/examples/android/androidFontExample/ant.properties b/examples/android/androidFontExample/ant.properties deleted file mode 100644 index 76b8dfd891b..00000000000 --- a/examples/android/androidFontExample/ant.properties +++ /dev/null @@ -1 +0,0 @@ -source.dir=srcJava diff --git a/examples/android/androidFontExample/build.properties b/examples/android/androidFontExample/build.properties deleted file mode 100644 index 0cc5e9dbfec..00000000000 --- a/examples/android/androidFontExample/build.properties +++ /dev/null @@ -1,3 +0,0 @@ -source.dir=srcJava -#key.store=${HOME}/.android/debug.keystore -#key.alias=debug \ No newline at end of file diff --git a/examples/android/androidFontExample/build.xml b/examples/android/androidFontExample/build.xml index f02a845fb8f..024f138d46d 100644 --- a/examples/android/androidFontExample/build.xml +++ b/examples/android/androidFontExample/build.xml @@ -28,6 +28,15 @@ --> + + + + + + - - - + + + + + \ No newline at end of file diff --git a/examples/android/androidFontExample/res/values-v14/styles.xml b/examples/android/androidFontExample/res/values-v14/styles.xml new file mode 100644 index 00000000000..f20e01501df --- /dev/null +++ b/examples/android/androidFontExample/res/values-v14/styles.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/examples/android/androidFontExample/res/values/strings.xml b/examples/android/androidFontExample/res/values/strings.xml index 1d611fb0f5c..625880076a6 100644 --- a/examples/android/androidFontExample/res/values/strings.xml +++ b/examples/android/androidFontExample/res/values/strings.xml @@ -1,4 +1,8 @@ + androidFontExample - + Hello world! + Settings + + \ No newline at end of file diff --git a/examples/android/androidFontExample/res/values/styles.xml b/examples/android/androidFontExample/res/values/styles.xml new file mode 100644 index 00000000000..4a10ca492dd --- /dev/null +++ b/examples/android/androidFontExample/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/examples/android/androidFontExample/src/testApp.cpp b/examples/android/androidFontExample/src/testApp.cpp index 2eca5befa1d..dcee45b7ae6 100644 --- a/examples/android/androidFontExample/src/testApp.cpp +++ b/examples/android/androidFontExample/src/testApp.cpp @@ -30,27 +30,71 @@ void testApp::keyReleased(int key){ } //-------------------------------------------------------------- -void testApp::mouseMoved(int x, int y ){ - +void testApp::windowResized(int w, int h){ + } //-------------------------------------------------------------- -void testApp::mouseDragged(int x, int y, int button){ - +void testApp::touchDown(int x, int y, int id){ + } //-------------------------------------------------------------- -void testApp::mousePressed(int x, int y, int button){ - +void testApp::touchMoved(int x, int y, int id){ + } //-------------------------------------------------------------- -void testApp::mouseReleased(int x, int y, int button){ +void testApp::touchUp(int x, int y, int id){ } //-------------------------------------------------------------- -void testApp::windowResized(int w, int h){ +void testApp::touchDoubleTap(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::touchCancelled(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::swipe(ofxAndroidSwipeDir swipeDir, int id){ + +} + +//-------------------------------------------------------------- +void testApp::pause(){ + +} + +//-------------------------------------------------------------- +void testApp::stop(){ + +} + +//-------------------------------------------------------------- +void testApp::resume(){ + +} + +//-------------------------------------------------------------- +void testApp::reloadTextures(){ } +//-------------------------------------------------------------- +bool testApp::backPressed(){ + return false; +} + +//-------------------------------------------------------------- +void testApp::okPressed(){ + +} + +//-------------------------------------------------------------- +void testApp::cancelPressed(){ + +} diff --git a/examples/android/androidFontExample/src/testApp.h b/examples/android/androidFontExample/src/testApp.h index f1d836413ab..f98428cc4de 100644 --- a/examples/android/androidFontExample/src/testApp.h +++ b/examples/android/androidFontExample/src/testApp.h @@ -1,10 +1,9 @@ -#ifndef _TEST_APP -#define _TEST_APP - +#pragma once #include "ofMain.h" +#include "ofxAndroid.h" -class testApp : public ofBaseApp{ +class testApp : public ofxAndroidApp{ public: @@ -14,14 +13,23 @@ class testApp : public ofBaseApp{ void keyPressed(int key); void keyReleased(int key); - void mouseMoved(int x, int y ); - void mouseDragged(int x, int y, int button); - void mousePressed(int x, int y, int button); - void mouseReleased(int x, int y, int button); void windowResized(int w, int h); - ofTrueTypeFont font; -}; + void touchDown(int x, int y, int id); + void touchMoved(int x, int y, int id); + void touchUp(int x, int y, int id); + void touchDoubleTap(int x, int y, int id); + void touchCancelled(int x, int y, int id); + void swipe(ofxAndroidSwipeDir swipeDir, int id); -#endif + void pause(); + void stop(); + void resume(); + void reloadTextures(); + bool backPressed(); + void okPressed(); + void cancelPressed(); + + ofTrueTypeFont font; +}; diff --git a/examples/android/androidFontExample/srcJava/cc/openframeworks/androidFontExample/OFActivity.java b/examples/android/androidFontExample/srcJava/cc/openframeworks/androidFontExample/OFActivity.java index 5f62464a150..c6de43b099b 100644 --- a/examples/android/androidFontExample/srcJava/cc/openframeworks/androidFontExample/OFActivity.java +++ b/examples/android/androidFontExample/srcJava/cc/openframeworks/androidFontExample/OFActivity.java @@ -1,6 +1,5 @@ package cc.openframeworks.androidFontExample; -import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.Menu; @@ -8,7 +7,7 @@ import cc.openframeworks.OFAndroid; -public class OFActivity extends Activity{ +public class OFActivity extends cc.openframeworks.OFActivity{ @Override public void onCreate(Bundle savedInstanceState) diff --git a/examples/android/androidImageExample/.classpath b/examples/android/androidImageExample/.classpath index a93be331700..296aed65759 100644 --- a/examples/android/androidImageExample/.classpath +++ b/examples/android/androidImageExample/.classpath @@ -3,6 +3,6 @@ - + diff --git a/examples/android/androidImageExample/.cproject b/examples/android/androidImageExample/.cproject index be49b035757..293e3cebf77 100644 --- a/examples/android/androidImageExample/.cproject +++ b/examples/android/androidImageExample/.cproject @@ -1,42 +1,29 @@ - - - + - - + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + @@ -45,1468 +32,58 @@ - - - + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - + - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/examples/android/androidImageExample/.project b/examples/android/androidImageExample/.project index d6fefd57f57..d7ceb3dafa4 100644 --- a/examples/android/androidImageExample/.project +++ b/examples/android/androidImageExample/.project @@ -3,8 +3,6 @@ androidImageExample - addons - libs openFrameworks @@ -12,58 +10,6 @@ org.eclipse.cdt.managedbuilder.core.genmakebuilder clean,full,incremental, - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - CleanDebug - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - AndroidDebug - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - @@ -71,8 +17,24 @@ + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, diff --git a/examples/android/androidImageExample/.settings/org.eclipse.cdt.codan.core.prefs b/examples/android/androidImageExample/.settings/org.eclipse.cdt.codan.core.prefs new file mode 100644 index 00000000000..810101ec581 --- /dev/null +++ b/examples/android/androidImageExample/.settings/org.eclipse.cdt.codan.core.prefs @@ -0,0 +1,67 @@ +eclipse.preferences.version=1 +org.eclipse.cdt.codan.checkers.errnoreturn=Warning +org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.checkers.errreturnvalue=Error +org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.checkers.noreturn=Error +org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=-Error +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=-Error +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>true,empty_case_param\=>false} +org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning +org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=-Error +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true} +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidArguments=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.OverloadProblem=-Error +org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false} +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false} +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")} +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} diff --git a/examples/android/androidImageExample/AndroidManifest.xml b/examples/android/androidImageExample/AndroidManifest.xml index d5a3ade6aa6..14568e5a4e3 100644 --- a/examples/android/androidImageExample/AndroidManifest.xml +++ b/examples/android/androidImageExample/AndroidManifest.xml @@ -1,18 +1,30 @@ - - - + package="cc.openframeworks.androidImageExample" + android:versionCode="1" + android:versionName="1.0" + android:installLocation="preferExternal"> + + + + + + + + - - + + \ No newline at end of file diff --git a/examples/android/androidImageExample/ant.properties b/examples/android/androidImageExample/ant.properties deleted file mode 100644 index 76b8dfd891b..00000000000 --- a/examples/android/androidImageExample/ant.properties +++ /dev/null @@ -1 +0,0 @@ -source.dir=srcJava diff --git a/examples/android/androidImageExample/build.properties b/examples/android/androidImageExample/build.properties deleted file mode 100644 index 0cc5e9dbfec..00000000000 --- a/examples/android/androidImageExample/build.properties +++ /dev/null @@ -1,3 +0,0 @@ -source.dir=srcJava -#key.store=${HOME}/.android/debug.keystore -#key.alias=debug \ No newline at end of file diff --git a/examples/android/androidImageExample/build.xml b/examples/android/androidImageExample/build.xml index f02a845fb8f..024f138d46d 100644 --- a/examples/android/androidImageExample/build.xml +++ b/examples/android/androidImageExample/build.xml @@ -28,6 +28,15 @@ --> + + + + + + - - - + + + + + \ No newline at end of file diff --git a/examples/android/androidImageExample/res/values-v14/styles.xml b/examples/android/androidImageExample/res/values-v14/styles.xml new file mode 100644 index 00000000000..f20e01501df --- /dev/null +++ b/examples/android/androidImageExample/res/values-v14/styles.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/examples/android/androidImageExample/res/values/strings.xml b/examples/android/androidImageExample/res/values/strings.xml index 90ae45caa07..30df58c0fc0 100644 --- a/examples/android/androidImageExample/res/values/strings.xml +++ b/examples/android/androidImageExample/res/values/strings.xml @@ -1,4 +1,8 @@ + androidImageExample - + Hello world! + Settings + + \ No newline at end of file diff --git a/examples/android/androidImageExample/res/values/styles.xml b/examples/android/androidImageExample/res/values/styles.xml new file mode 100644 index 00000000000..4a10ca492dd --- /dev/null +++ b/examples/android/androidImageExample/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/examples/android/androidImageExample/src/testApp.cpp b/examples/android/androidImageExample/src/testApp.cpp index d3a2872e700..ee0d894aa1f 100644 --- a/examples/android/androidImageExample/src/testApp.cpp +++ b/examples/android/androidImageExample/src/testApp.cpp @@ -2,13 +2,11 @@ //-------------------------------------------------------------- void testApp::setup(){ - ofSetLogLevel(OF_LOG_VERBOSE); image.loadImage("images/bikers.jpg"); ofBackground(255,255,255); ofSetColor(255,255,255); } - //-------------------------------------------------------------- void testApp::update(){ } @@ -29,27 +27,71 @@ void testApp::keyReleased(int key){ } //-------------------------------------------------------------- -void testApp::mouseMoved(int x, int y ){ - ofLog(OF_LOG_WARNING,"%i,%i",x,y); +void testApp::windowResized(int w, int h){ + } //-------------------------------------------------------------- -void testApp::mouseDragged(int x, int y, int button){ - +void testApp::touchDown(int x, int y, int id){ + } //-------------------------------------------------------------- -void testApp::mousePressed(int x, int y, int button){ - +void testApp::touchMoved(int x, int y, int id){ + } //-------------------------------------------------------------- -void testApp::mouseReleased(int x, int y, int button){ +void testApp::touchUp(int x, int y, int id){ } //-------------------------------------------------------------- -void testApp::windowResized(int w, int h){ +void testApp::touchDoubleTap(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::touchCancelled(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::swipe(ofxAndroidSwipeDir swipeDir, int id){ + +} + +//-------------------------------------------------------------- +void testApp::pause(){ + +} + +//-------------------------------------------------------------- +void testApp::stop(){ + +} + +//-------------------------------------------------------------- +void testApp::resume(){ + +} + +//-------------------------------------------------------------- +void testApp::reloadTextures(){ } +//-------------------------------------------------------------- +bool testApp::backPressed(){ + return false; +} + +//-------------------------------------------------------------- +void testApp::okPressed(){ + +} + +//-------------------------------------------------------------- +void testApp::cancelPressed(){ + +} diff --git a/examples/android/androidImageExample/src/testApp.h b/examples/android/androidImageExample/src/testApp.h index eb1885eba6d..49e5b3d102a 100644 --- a/examples/android/androidImageExample/src/testApp.h +++ b/examples/android/androidImageExample/src/testApp.h @@ -1,6 +1,4 @@ -#ifndef _TEST_APP -#define _TEST_APP - +#pragma once #include "ofMain.h" #include "ofxAndroid.h" @@ -15,14 +13,23 @@ class testApp : public ofxAndroidApp{ void keyPressed(int key); void keyReleased(int key); - void mouseMoved(int x, int y ); - void mouseDragged(int x, int y, int button); - void mousePressed(int x, int y, int button); - void mouseReleased(int x, int y, int button); void windowResized(int w, int h); - ofImage image; -}; + void touchDown(int x, int y, int id); + void touchMoved(int x, int y, int id); + void touchUp(int x, int y, int id); + void touchDoubleTap(int x, int y, int id); + void touchCancelled(int x, int y, int id); + void swipe(ofxAndroidSwipeDir swipeDir, int id); -#endif + void pause(); + void stop(); + void resume(); + void reloadTextures(); + bool backPressed(); + void okPressed(); + void cancelPressed(); + + ofImage image; +}; diff --git a/examples/android/androidImageExample/srcJava/cc/openframeworks/androidImageExample/OFActivity.java b/examples/android/androidImageExample/srcJava/cc/openframeworks/androidImageExample/OFActivity.java index 940b5fb14ce..05dab698467 100644 --- a/examples/android/androidImageExample/srcJava/cc/openframeworks/androidImageExample/OFActivity.java +++ b/examples/android/androidImageExample/srcJava/cc/openframeworks/androidImageExample/OFActivity.java @@ -1,6 +1,5 @@ package cc.openframeworks.androidImageExample; -import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.Menu; @@ -8,7 +7,7 @@ import cc.openframeworks.OFAndroid; -public class OFActivity extends Activity{ +public class OFActivity extends cc.openframeworks.OFActivity{ @Override public void onCreate(Bundle savedInstanceState) diff --git a/examples/android/androidOpenCVExample/.classpath b/examples/android/androidOpenCVExample/.classpath index a93be331700..296aed65759 100644 --- a/examples/android/androidOpenCVExample/.classpath +++ b/examples/android/androidOpenCVExample/.classpath @@ -3,6 +3,6 @@ - + diff --git a/examples/android/androidOpenCVExample/.cproject b/examples/android/androidOpenCVExample/.cproject index 0b347d62f36..d7a966e456a 100644 --- a/examples/android/androidOpenCVExample/.cproject +++ b/examples/android/androidOpenCVExample/.cproject @@ -1,43 +1,29 @@ - - - + - - + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + @@ -46,1388 +32,58 @@ - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - + - + - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + diff --git a/examples/android/androidOpenCVExample/.project b/examples/android/androidOpenCVExample/.project index 7b744176f79..ffb4b2c61a1 100644 --- a/examples/android/androidOpenCVExample/.project +++ b/examples/android/androidOpenCVExample/.project @@ -3,8 +3,6 @@ androidOpenCVExample - addons - libs openFrameworks @@ -12,58 +10,6 @@ org.eclipse.cdt.managedbuilder.core.genmakebuilder clean,full,incremental, - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - CleanAndroid - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - AndroidRelease - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - @@ -71,8 +17,24 @@ + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, @@ -85,11 +47,4 @@ org.eclipse.cdt.managedbuilder.core.managedBuildNature org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - - ofxOpenCv - 2 - /home/arturo/Desktop/openFrameworks/addons/ofxOpenCv - - diff --git a/examples/android/androidOpenCVExample/.settings/org.eclipse.cdt.codan.core.prefs b/examples/android/androidOpenCVExample/.settings/org.eclipse.cdt.codan.core.prefs new file mode 100644 index 00000000000..810101ec581 --- /dev/null +++ b/examples/android/androidOpenCVExample/.settings/org.eclipse.cdt.codan.core.prefs @@ -0,0 +1,67 @@ +eclipse.preferences.version=1 +org.eclipse.cdt.codan.checkers.errnoreturn=Warning +org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.checkers.errreturnvalue=Error +org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.checkers.noreturn=Error +org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=-Error +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=-Error +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>true,empty_case_param\=>false} +org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning +org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=-Error +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true} +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidArguments=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.OverloadProblem=-Error +org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false} +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false} +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")} +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} diff --git a/examples/android/androidOpenCVExample/AndroidManifest.xml b/examples/android/androidOpenCVExample/AndroidManifest.xml index d2e56583119..fd6764d18ae 100644 --- a/examples/android/androidOpenCVExample/AndroidManifest.xml +++ b/examples/android/androidOpenCVExample/AndroidManifest.xml @@ -1,21 +1,31 @@ - - - + package="cc.openframeworks.androidOpenCVExample" + android:versionCode="1" + android:versionName="1.0" + android:installLocation="preferExternal"> + + + + + + + + + - - - - + + \ No newline at end of file diff --git a/examples/android/androidOpenCVExample/ant.properties b/examples/android/androidOpenCVExample/ant.properties deleted file mode 100644 index 76b8dfd891b..00000000000 --- a/examples/android/androidOpenCVExample/ant.properties +++ /dev/null @@ -1 +0,0 @@ -source.dir=srcJava diff --git a/examples/android/androidOpenCVExample/bin/data/.gitkeep b/examples/android/androidOpenCVExample/bin/data/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/examples/android/androidOpenCVExample/build.properties b/examples/android/androidOpenCVExample/build.properties deleted file mode 100644 index 0cc5e9dbfec..00000000000 --- a/examples/android/androidOpenCVExample/build.properties +++ /dev/null @@ -1,3 +0,0 @@ -source.dir=srcJava -#key.store=${HOME}/.android/debug.keystore -#key.alias=debug \ No newline at end of file diff --git a/examples/android/androidOpenCVExample/build.xml b/examples/android/androidOpenCVExample/build.xml index f02a845fb8f..024f138d46d 100644 --- a/examples/android/androidOpenCVExample/build.xml +++ b/examples/android/androidOpenCVExample/build.xml @@ -28,6 +28,15 @@ --> + + + + + + - - - + + + + + \ No newline at end of file diff --git a/examples/android/androidOpenCVExample/res/values-v14/styles.xml b/examples/android/androidOpenCVExample/res/values-v14/styles.xml new file mode 100644 index 00000000000..f20e01501df --- /dev/null +++ b/examples/android/androidOpenCVExample/res/values-v14/styles.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/examples/android/androidOpenCVExample/res/values/strings.xml b/examples/android/androidOpenCVExample/res/values/strings.xml index 5453dfc6bb2..814763f1889 100644 --- a/examples/android/androidOpenCVExample/res/values/strings.xml +++ b/examples/android/androidOpenCVExample/res/values/strings.xml @@ -1,4 +1,8 @@ + androidOpenCVExample - + Hello world! + Settings + + \ No newline at end of file diff --git a/examples/android/androidOpenCVExample/res/values/styles.xml b/examples/android/androidOpenCVExample/res/values/styles.xml new file mode 100644 index 00000000000..4a10ca492dd --- /dev/null +++ b/examples/android/androidOpenCVExample/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/examples/android/androidOpenCVExample/src/testApp.cpp b/examples/android/androidOpenCVExample/src/testApp.cpp index 0ac765c8959..797774c2d30 100644 --- a/examples/android/androidOpenCVExample/src/testApp.cpp +++ b/examples/android/androidOpenCVExample/src/testApp.cpp @@ -42,7 +42,7 @@ void testApp::update(){ //-------------------------------------------------------------- void testApp::draw(){ - ofSetColor(0xFFFFFF); + ofSetHexColor(0xFFFFFF); gray.draw(5,5); contourFinder.draw(5,5); ofSetColor(0x000000); @@ -61,25 +61,71 @@ void testApp::keyReleased(int key){ } //-------------------------------------------------------------- -void testApp::mouseMoved(int x, int y ){ +void testApp::windowResized(int w, int h){ + } //-------------------------------------------------------------- -void testApp::mouseDragged(int x, int y, int button){ - +void testApp::touchDown(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::touchMoved(int x, int y, int id){ + } //-------------------------------------------------------------- -void testApp::mousePressed(int x, int y, int button){ +void testApp::touchUp(int x, int y, int id){ } //-------------------------------------------------------------- -void testApp::mouseReleased(int x, int y, int button){ +void testApp::touchDoubleTap(int x, int y, int id){ + } //-------------------------------------------------------------- -void testApp::windowResized(int w, int h){ +void testApp::touchCancelled(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::swipe(ofxAndroidSwipeDir swipeDir, int id){ + +} + +//-------------------------------------------------------------- +void testApp::pause(){ + +} + +//-------------------------------------------------------------- +void testApp::stop(){ + +} + +//-------------------------------------------------------------- +void testApp::resume(){ + +} + +//-------------------------------------------------------------- +void testApp::reloadTextures(){ } +//-------------------------------------------------------------- +bool testApp::backPressed(){ + return false; +} + +//-------------------------------------------------------------- +void testApp::okPressed(){ + +} + +//-------------------------------------------------------------- +void testApp::cancelPressed(){ + +} diff --git a/examples/android/androidOpenCVExample/src/testApp.h b/examples/android/androidOpenCVExample/src/testApp.h index aad6fbb7a74..58235534899 100644 --- a/examples/android/androidOpenCVExample/src/testApp.h +++ b/examples/android/androidOpenCVExample/src/testApp.h @@ -1,11 +1,11 @@ -#ifndef _TEST_APP -#define _TEST_APP - +#pragma once #include "ofMain.h" +#include "ofxAndroid.h" + #include "ofxOpenCv.h" -class testApp : public ofBaseApp{ +class testApp : public ofxAndroidApp{ public: @@ -15,12 +15,23 @@ class testApp : public ofBaseApp{ void keyPressed(int key); void keyReleased(int key); - void mouseMoved(int x, int y ); - void mouseDragged(int x, int y, int button); - void mousePressed(int x, int y, int button); - void mouseReleased(int x, int y, int button); void windowResized(int w, int h); + void touchDown(int x, int y, int id); + void touchMoved(int x, int y, int id); + void touchUp(int x, int y, int id); + void touchDoubleTap(int x, int y, int id); + void touchCancelled(int x, int y, int id); + void swipe(ofxAndroidSwipeDir swipeDir, int id); + + void pause(); + void stop(); + void resume(); + void reloadTextures(); + + bool backPressed(); + void okPressed(); + void cancelPressed(); ofVideoGrabber grabber; ofxCvGrayscaleImage gray, bg;//, diff; @@ -33,6 +44,3 @@ class testApp : public ofBaseApp{ int frames_one_sec; }; - -#endif - diff --git a/examples/android/androidOpenCVExample/srcJava/cc/openframeworks/androidOpenCVExample/OFActivity.java b/examples/android/androidOpenCVExample/srcJava/cc/openframeworks/androidOpenCVExample/OFActivity.java index add23b39925..bbeb975ea3d 100644 --- a/examples/android/androidOpenCVExample/srcJava/cc/openframeworks/androidOpenCVExample/OFActivity.java +++ b/examples/android/androidOpenCVExample/srcJava/cc/openframeworks/androidOpenCVExample/OFActivity.java @@ -1,6 +1,5 @@ package cc.openframeworks.androidOpenCVExample; -import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.Menu; @@ -8,7 +7,7 @@ import cc.openframeworks.OFAndroid; -public class OFActivity extends Activity{ +public class OFActivity extends cc.openframeworks.OFActivity{ @Override public void onCreate(Bundle savedInstanceState) diff --git a/examples/android/androidOpenCVFaceExample/.classpath b/examples/android/androidOpenCVFaceExample/.classpath index a93be331700..296aed65759 100644 --- a/examples/android/androidOpenCVFaceExample/.classpath +++ b/examples/android/androidOpenCVFaceExample/.classpath @@ -3,6 +3,6 @@ - + diff --git a/examples/android/androidOpenCVFaceExample/.cproject b/examples/android/androidOpenCVFaceExample/.cproject index 5252d53d0a1..141a80c5082 100644 --- a/examples/android/androidOpenCVFaceExample/.cproject +++ b/examples/android/androidOpenCVFaceExample/.cproject @@ -1,43 +1,29 @@ - - - + - - + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + @@ -46,1388 +32,57 @@ - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - + - + - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + diff --git a/examples/android/androidOpenCVFaceExample/.project b/examples/android/androidOpenCVFaceExample/.project index 7b744176f79..50d30869940 100644 --- a/examples/android/androidOpenCVFaceExample/.project +++ b/examples/android/androidOpenCVFaceExample/.project @@ -1,10 +1,8 @@ - androidOpenCVExample + androidOpenCVFaceExample - addons - libs openFrameworks @@ -12,58 +10,6 @@ org.eclipse.cdt.managedbuilder.core.genmakebuilder clean,full,incremental, - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - CleanAndroid - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - AndroidRelease - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - @@ -71,8 +17,24 @@ + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, @@ -85,11 +47,4 @@ org.eclipse.cdt.managedbuilder.core.managedBuildNature org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - - ofxOpenCv - 2 - /home/arturo/Desktop/openFrameworks/addons/ofxOpenCv - - diff --git a/examples/android/androidOpenCVFaceExample/.settings/org.eclipse.cdt.codan.core.prefs b/examples/android/androidOpenCVFaceExample/.settings/org.eclipse.cdt.codan.core.prefs new file mode 100644 index 00000000000..810101ec581 --- /dev/null +++ b/examples/android/androidOpenCVFaceExample/.settings/org.eclipse.cdt.codan.core.prefs @@ -0,0 +1,67 @@ +eclipse.preferences.version=1 +org.eclipse.cdt.codan.checkers.errnoreturn=Warning +org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.checkers.errreturnvalue=Error +org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.checkers.noreturn=Error +org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=-Error +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=-Error +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>true,empty_case_param\=>false} +org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning +org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=-Error +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true} +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidArguments=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.OverloadProblem=-Error +org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false} +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false} +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")} +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} diff --git a/examples/android/androidOpenCVFaceExample/AndroidManifest.xml b/examples/android/androidOpenCVFaceExample/AndroidManifest.xml index 8c5bea9708c..afc1f38436d 100644 --- a/examples/android/androidOpenCVFaceExample/AndroidManifest.xml +++ b/examples/android/androidOpenCVFaceExample/AndroidManifest.xml @@ -1,21 +1,31 @@ - - - + package="cc.openframeworks.androidOpenCVFaceExample" + android:versionCode="1" + android:versionName="1.0" + android:installLocation="preferExternal"> + + + + + + + + + - - - - + + \ No newline at end of file diff --git a/examples/android/androidOpenCVFaceExample/ant.properties b/examples/android/androidOpenCVFaceExample/ant.properties deleted file mode 100644 index 76b8dfd891b..00000000000 --- a/examples/android/androidOpenCVFaceExample/ant.properties +++ /dev/null @@ -1 +0,0 @@ -source.dir=srcJava diff --git a/examples/android/androidOpenCVFaceExample/build.properties b/examples/android/androidOpenCVFaceExample/build.properties deleted file mode 100644 index 0cc5e9dbfec..00000000000 --- a/examples/android/androidOpenCVFaceExample/build.properties +++ /dev/null @@ -1,3 +0,0 @@ -source.dir=srcJava -#key.store=${HOME}/.android/debug.keystore -#key.alias=debug \ No newline at end of file diff --git a/examples/android/androidOpenCVFaceExample/build.xml b/examples/android/androidOpenCVFaceExample/build.xml index f02a845fb8f..024f138d46d 100644 --- a/examples/android/androidOpenCVFaceExample/build.xml +++ b/examples/android/androidOpenCVFaceExample/build.xml @@ -28,6 +28,15 @@ --> + + + + + + - - - + + + + + \ No newline at end of file diff --git a/examples/android/androidOpenCVFaceExample/res/values-v14/styles.xml b/examples/android/androidOpenCVFaceExample/res/values-v14/styles.xml new file mode 100644 index 00000000000..f20e01501df --- /dev/null +++ b/examples/android/androidOpenCVFaceExample/res/values-v14/styles.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/examples/android/androidOpenCVFaceExample/res/values/strings.xml b/examples/android/androidOpenCVFaceExample/res/values/strings.xml index 79919781e5e..a411b42ecba 100644 --- a/examples/android/androidOpenCVFaceExample/res/values/strings.xml +++ b/examples/android/androidOpenCVFaceExample/res/values/strings.xml @@ -1,4 +1,8 @@ + androidOpenCVFaceExample - + Hello world! + Settings + + \ No newline at end of file diff --git a/examples/android/androidOpenCVFaceExample/res/values/styles.xml b/examples/android/androidOpenCVFaceExample/res/values/styles.xml new file mode 100644 index 00000000000..4a10ca492dd --- /dev/null +++ b/examples/android/androidOpenCVFaceExample/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/examples/android/androidOpenCVFaceExample/src/testApp.cpp b/examples/android/androidOpenCVFaceExample/src/testApp.cpp index ff9b09a1146..3d2d204871e 100644 --- a/examples/android/androidOpenCVFaceExample/src/testApp.cpp +++ b/examples/android/androidOpenCVFaceExample/src/testApp.cpp @@ -74,27 +74,71 @@ void testApp::keyReleased(int key){ } //-------------------------------------------------------------- -void testApp::mouseMoved(int x, int y ){ +void testApp::windowResized(int w, int h){ + } //-------------------------------------------------------------- -void testApp::mouseDragged(int x, int y, int button){ +void testApp::touchDown(int x, int y, int id){ + } //-------------------------------------------------------------- -void testApp::mousePressed(int x, int y, int button){ +void testApp::touchMoved(int x, int y, int id){ + } //-------------------------------------------------------------- -void testApp::mouseReleased(int x, int y, int button){ +void testApp::touchUp(int x, int y, int id){ } //-------------------------------------------------------------- -void testApp::windowResized(int w, int h){ +void testApp::touchDoubleTap(int x, int y, int id){ } -void testApp::exit() { +//-------------------------------------------------------------- +void testApp::touchCancelled(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::swipe(ofxAndroidSwipeDir swipeDir, int id){ + +} + +//-------------------------------------------------------------- +void testApp::pause(){ + +} + +//-------------------------------------------------------------- +void testApp::stop(){ + +} + +//-------------------------------------------------------------- +void testApp::resume(){ + +} + +//-------------------------------------------------------------- +void testApp::reloadTextures(){ + +} + +//-------------------------------------------------------------- +bool testApp::backPressed(){ + return false; +} + +//-------------------------------------------------------------- +void testApp::okPressed(){ + +} + +//-------------------------------------------------------------- +void testApp::cancelPressed(){ } diff --git a/examples/android/androidOpenCVFaceExample/src/testApp.h b/examples/android/androidOpenCVFaceExample/src/testApp.h index b181de23dbf..31fae0709e2 100644 --- a/examples/android/androidOpenCVFaceExample/src/testApp.h +++ b/examples/android/androidOpenCVFaceExample/src/testApp.h @@ -1,12 +1,12 @@ -#ifndef _TEST_APP -#define _TEST_APP - +#pragma once #include "ofMain.h" +#include "ofxAndroid.h" + #include "ofxOpenCv.h" #include -class testApp : public ofBaseApp{ +class testApp : public ofxAndroidApp{ public: @@ -16,14 +16,23 @@ class testApp : public ofBaseApp{ void keyPressed(int key); void keyReleased(int key); - void mouseMoved(int x, int y ); - void mouseDragged(int x, int y, int button); - void mousePressed(int x, int y, int button); - void mouseReleased(int x, int y, int button); void windowResized(int w, int h); + void touchDown(int x, int y, int id); + void touchMoved(int x, int y, int id); + void touchUp(int x, int y, int id); + void touchDoubleTap(int x, int y, int id); + void touchCancelled(int x, int y, int id); + void swipe(ofxAndroidSwipeDir swipeDir, int id); + + void pause(); + void stop(); + void resume(); + void reloadTextures(); - void drawButton(const string& s, int x, int y, int w, int h, bool isToggled); + bool backPressed(); + void okPressed(); + void cancelPressed(); ofVideoGrabber grabber; ofxCvColorImage colorCv; @@ -32,12 +41,7 @@ class testApp : public ofBaseApp{ ofxCvHaarFinder faceFinder; std::vector faces; - void exit(); - int one_second_time; int camera_fps; int frames_one_sec; }; - -#endif - diff --git a/examples/android/androidOpenCVFaceExample/srcJava/cc/openframeworks/androidOpenCVFaceExample/OFActivity.java b/examples/android/androidOpenCVFaceExample/srcJava/cc/openframeworks/androidOpenCVFaceExample/OFActivity.java index b6249d3d96e..859c9756e77 100644 --- a/examples/android/androidOpenCVFaceExample/srcJava/cc/openframeworks/androidOpenCVFaceExample/OFActivity.java +++ b/examples/android/androidOpenCVFaceExample/srcJava/cc/openframeworks/androidOpenCVFaceExample/OFActivity.java @@ -1,6 +1,5 @@ package cc.openframeworks.androidOpenCVFaceExample; -import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.Menu; @@ -8,7 +7,7 @@ import cc.openframeworks.OFAndroid; -public class OFActivity extends Activity{ +public class OFActivity extends cc.openframeworks.OFActivity{ @Override public void onCreate(Bundle savedInstanceState) diff --git a/examples/android/androidPolygonExample/.classpath b/examples/android/androidPolygonExample/.classpath index a93be331700..296aed65759 100644 --- a/examples/android/androidPolygonExample/.classpath +++ b/examples/android/androidPolygonExample/.classpath @@ -3,6 +3,6 @@ - + diff --git a/examples/android/androidPolygonExample/.cproject b/examples/android/androidPolygonExample/.cproject index 64cac9b6db5..f2f036c07f4 100644 --- a/examples/android/androidPolygonExample/.cproject +++ b/examples/android/androidPolygonExample/.cproject @@ -1,42 +1,29 @@ - - - + - - + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + @@ -45,1468 +32,58 @@ - - - + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - + - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/examples/android/androidPolygonExample/.project b/examples/android/androidPolygonExample/.project index 82dba292523..d2747d4e476 100644 --- a/examples/android/androidPolygonExample/.project +++ b/examples/android/androidPolygonExample/.project @@ -3,8 +3,6 @@ androidPolygonExample - addons - libs openFrameworks @@ -12,58 +10,6 @@ org.eclipse.cdt.managedbuilder.core.genmakebuilder clean,full,incremental, - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - CleanDebug - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - AndroidDebug - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - @@ -71,8 +17,24 @@ + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, diff --git a/examples/android/androidPolygonExample/.settings/org.eclipse.cdt.codan.core.prefs b/examples/android/androidPolygonExample/.settings/org.eclipse.cdt.codan.core.prefs new file mode 100644 index 00000000000..810101ec581 --- /dev/null +++ b/examples/android/androidPolygonExample/.settings/org.eclipse.cdt.codan.core.prefs @@ -0,0 +1,67 @@ +eclipse.preferences.version=1 +org.eclipse.cdt.codan.checkers.errnoreturn=Warning +org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.checkers.errreturnvalue=Error +org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.checkers.noreturn=Error +org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=-Error +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=-Error +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>true,empty_case_param\=>false} +org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning +org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=-Error +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true} +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidArguments=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.OverloadProblem=-Error +org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false} +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false} +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")} +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} diff --git a/examples/android/androidPolygonExample/AndroidManifest.xml b/examples/android/androidPolygonExample/AndroidManifest.xml index 5d340d8382d..62ca92955e5 100644 --- a/examples/android/androidPolygonExample/AndroidManifest.xml +++ b/examples/android/androidPolygonExample/AndroidManifest.xml @@ -1,19 +1,30 @@ - - - + package="cc.openframeworks.androidPolygonExample" + android:versionCode="1" + android:versionName="1.0" + android:installLocation="preferExternal"> + + + + + + + + - - + + \ No newline at end of file diff --git a/examples/android/androidPolygonExample/ant.properties b/examples/android/androidPolygonExample/ant.properties deleted file mode 100644 index 76b8dfd891b..00000000000 --- a/examples/android/androidPolygonExample/ant.properties +++ /dev/null @@ -1 +0,0 @@ -source.dir=srcJava diff --git a/examples/android/androidPolygonExample/bin/data/.gitkeep b/examples/android/androidPolygonExample/bin/data/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/examples/android/androidPolygonExample/build.properties b/examples/android/androidPolygonExample/build.properties deleted file mode 100644 index 0cc5e9dbfec..00000000000 --- a/examples/android/androidPolygonExample/build.properties +++ /dev/null @@ -1,3 +0,0 @@ -source.dir=srcJava -#key.store=${HOME}/.android/debug.keystore -#key.alias=debug \ No newline at end of file diff --git a/examples/android/androidPolygonExample/build.xml b/examples/android/androidPolygonExample/build.xml index f02a845fb8f..024f138d46d 100644 --- a/examples/android/androidPolygonExample/build.xml +++ b/examples/android/androidPolygonExample/build.xml @@ -28,6 +28,15 @@ --> + + + + + + - - - + + + + + \ No newline at end of file diff --git a/examples/android/androidPolygonExample/res/values-v14/styles.xml b/examples/android/androidPolygonExample/res/values-v14/styles.xml new file mode 100644 index 00000000000..f20e01501df --- /dev/null +++ b/examples/android/androidPolygonExample/res/values-v14/styles.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/examples/android/androidPolygonExample/res/values/strings.xml b/examples/android/androidPolygonExample/res/values/strings.xml index 23cd4d97713..ec2276ae129 100644 --- a/examples/android/androidPolygonExample/res/values/strings.xml +++ b/examples/android/androidPolygonExample/res/values/strings.xml @@ -1,4 +1,8 @@ + androidPolygonExample - + Hello world! + Settings + + \ No newline at end of file diff --git a/examples/android/androidPolygonExample/res/values/styles.xml b/examples/android/androidPolygonExample/res/values/styles.xml new file mode 100644 index 00000000000..4a10ca492dd --- /dev/null +++ b/examples/android/androidPolygonExample/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/examples/android/androidPolygonExample/src/testApp.cpp b/examples/android/androidPolygonExample/src/testApp.cpp index 7370d3b5ab7..3fbe7f716a8 100644 --- a/examples/android/androidPolygonExample/src/testApp.cpp +++ b/examples/android/androidPolygonExample/src/testApp.cpp @@ -2,10 +2,6 @@ //-------------------------------------------------------------- void testApp::setup(){ - - // register touch events - ofRegisterTouchEvents(this); - //ofSetOrientation(OF_ORIENTATION_90_RIGHT); //this is to scale down the example for the iphone screen @@ -414,48 +410,103 @@ void testApp::draw(){ } //-------------------------------------------------------------- -void testApp::touchDown(ofTouchEventArgs &touch){ - if( touch.id == 0 ){ +void testApp::keyPressed (int key){ + +} + +//-------------------------------------------------------------- +void testApp::keyReleased(int key){ + +} + +//-------------------------------------------------------------- +void testApp::windowResized(int w, int h){ + +} + +//-------------------------------------------------------------- +void testApp::touchDown(int x, int y, int id){ + if( id == 0 ){ for (int i = 0; i < nCurveVertices; i++){ - float diffx = touch.x/appIphoneScale - curveVertices[i].x; - float diffy = touch.y/appIphoneScale - curveVertices[i].y; + float diffx = x/appIphoneScale - curveVertices[i].x; + float diffy = y/appIphoneScale - curveVertices[i].y; float dist = sqrt(diffx*diffx + diffy*diffy); if (dist < 45 ){ curveVertices[i].bBeingDragged = true; } else { curveVertices[i].bBeingDragged = false; - } + } } } } //-------------------------------------------------------------- -void testApp::touchMoved(ofTouchEventArgs &touch){ - if( touch.id == 0 ){ +void testApp::touchMoved(int x, int y, int id){ + if( id == 0 ){ for (int i = 0; i < nCurveVertices; i++){ - if (curveVertices[i].bBeingDragged == true){ - curveVertices[i].x = touch.x/appIphoneScale; - curveVertices[i].y = touch.y/appIphoneScale; + if (curveVertices[i].bBeingDragged == true){ + curveVertices[i].x = x/appIphoneScale; + curveVertices[i].y = y/appIphoneScale; + } } } - } } //-------------------------------------------------------------- -void testApp::touchUp(ofTouchEventArgs &touch){ - if( touch.id == 0 ){ +void testApp::touchUp(int x, int y, int id){ + if( id == 0 ){ for (int i = 0; i < nCurveVertices; i++){ - curveVertices[i].bBeingDragged = false; + curveVertices[i].bBeingDragged = false; } } } //-------------------------------------------------------------- -void testApp::touchDoubleTap(ofTouchEventArgs &touch){ +void testApp::touchDoubleTap(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::touchCancelled(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::swipe(ofxAndroidSwipeDir swipeDir, int id){ + +} + +//-------------------------------------------------------------- +void testApp::pause(){ + +} + +//-------------------------------------------------------------- +void testApp::stop(){ + +} + +//-------------------------------------------------------------- +void testApp::resume(){ + +} + +//-------------------------------------------------------------- +void testApp::reloadTextures(){ + +} + +//-------------------------------------------------------------- +bool testApp::backPressed(){ + return false; +} + +//-------------------------------------------------------------- +void testApp::okPressed(){ } //-------------------------------------------------------------- -void testApp::touchCancelled(ofTouchEventArgs &touch){ +void testApp::cancelPressed(){ } diff --git a/examples/android/androidPolygonExample/src/testApp.h b/examples/android/androidPolygonExample/src/testApp.h index 9daf0e7e1a7..4eeb0c031d1 100644 --- a/examples/android/androidPolygonExample/src/testApp.h +++ b/examples/android/androidPolygonExample/src/testApp.h @@ -20,12 +20,26 @@ class testApp : public ofxAndroidApp { void setup(); void update(); void draw(); - - void touchDown(ofTouchEventArgs &touch); - void touchMoved(ofTouchEventArgs &touch); - void touchUp(ofTouchEventArgs &touch); - void touchDoubleTap(ofTouchEventArgs &touch); - void touchCancelled(ofTouchEventArgs &touch); + + void keyPressed(int key); + void keyReleased(int key); + void windowResized(int w, int h); + + void touchDown(int x, int y, int id); + void touchMoved(int x, int y, int id); + void touchUp(int x, int y, int id); + void touchDoubleTap(int x, int y, int id); + void touchCancelled(int x, int y, int id); + void swipe(ofxAndroidSwipeDir swipeDir, int id); + + void pause(); + void stop(); + void resume(); + void reloadTextures(); + + bool backPressed(); + void okPressed(); + void cancelPressed(); int nCurveVertices; draggableVertex curveVertices[7]; @@ -34,5 +48,3 @@ class testApp : public ofxAndroidApp { float appIphoneScale; }; - - diff --git a/examples/android/androidPolygonExample/srcJava/cc/openframeworks/androidPolygonExample/OFActivity.java b/examples/android/androidPolygonExample/srcJava/cc/openframeworks/androidPolygonExample/OFActivity.java index 12ee51ffb05..17bd5cc50e6 100644 --- a/examples/android/androidPolygonExample/srcJava/cc/openframeworks/androidPolygonExample/OFActivity.java +++ b/examples/android/androidPolygonExample/srcJava/cc/openframeworks/androidPolygonExample/OFActivity.java @@ -1,6 +1,5 @@ package cc.openframeworks.androidPolygonExample; -import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.Menu; @@ -8,7 +7,7 @@ import cc.openframeworks.OFAndroid; -public class OFActivity extends Activity{ +public class OFActivity extends cc.openframeworks.OFActivity{ @Override public void onCreate(Bundle savedInstanceState) diff --git a/examples/android/androidSoundPlayerExample/.classpath b/examples/android/androidSoundPlayerExample/.classpath index a93be331700..296aed65759 100644 --- a/examples/android/androidSoundPlayerExample/.classpath +++ b/examples/android/androidSoundPlayerExample/.classpath @@ -3,6 +3,6 @@ - + diff --git a/examples/android/androidSoundPlayerExample/.cproject b/examples/android/androidSoundPlayerExample/.cproject index b61c6030985..7fd6d09c361 100644 --- a/examples/android/androidSoundPlayerExample/.cproject +++ b/examples/android/androidSoundPlayerExample/.cproject @@ -1,42 +1,29 @@ - - - + - - + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + @@ -45,1468 +32,58 @@ - - - + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - + - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/examples/android/androidSoundPlayerExample/.project b/examples/android/androidSoundPlayerExample/.project index 35143ad2948..a212c19b68c 100644 --- a/examples/android/androidSoundPlayerExample/.project +++ b/examples/android/androidSoundPlayerExample/.project @@ -3,8 +3,6 @@ androidSoundPlayerExample - addons - libs openFrameworks @@ -12,58 +10,6 @@ org.eclipse.cdt.managedbuilder.core.genmakebuilder clean,full,incremental, - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - CleanAndroid - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - AndroidDebug - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - @@ -71,8 +17,24 @@ + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, diff --git a/examples/android/androidSoundPlayerExample/.settings/org.eclipse.cdt.codan.core.prefs b/examples/android/androidSoundPlayerExample/.settings/org.eclipse.cdt.codan.core.prefs new file mode 100644 index 00000000000..810101ec581 --- /dev/null +++ b/examples/android/androidSoundPlayerExample/.settings/org.eclipse.cdt.codan.core.prefs @@ -0,0 +1,67 @@ +eclipse.preferences.version=1 +org.eclipse.cdt.codan.checkers.errnoreturn=Warning +org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.checkers.errreturnvalue=Error +org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.checkers.noreturn=Error +org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=-Error +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=-Error +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>true,empty_case_param\=>false} +org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning +org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=-Error +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true} +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidArguments=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.OverloadProblem=-Error +org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false} +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false} +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")} +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} diff --git a/examples/android/androidSoundPlayerExample/AndroidManifest.xml b/examples/android/androidSoundPlayerExample/AndroidManifest.xml index c623e6890cb..088cf6c588b 100644 --- a/examples/android/androidSoundPlayerExample/AndroidManifest.xml +++ b/examples/android/androidSoundPlayerExample/AndroidManifest.xml @@ -1,18 +1,30 @@ - - - + package="cc.openframeworks.androidSoundPlayerExample" + android:versionCode="1" + android:versionName="1.0" + android:installLocation="preferExternal"> + + + + + + + + - - + + \ No newline at end of file diff --git a/examples/android/androidSoundPlayerExample/ant.properties b/examples/android/androidSoundPlayerExample/ant.properties deleted file mode 100644 index 76b8dfd891b..00000000000 --- a/examples/android/androidSoundPlayerExample/ant.properties +++ /dev/null @@ -1 +0,0 @@ -source.dir=srcJava diff --git a/examples/android/androidSoundPlayerExample/build.properties b/examples/android/androidSoundPlayerExample/build.properties deleted file mode 100644 index 0cc5e9dbfec..00000000000 --- a/examples/android/androidSoundPlayerExample/build.properties +++ /dev/null @@ -1,3 +0,0 @@ -source.dir=srcJava -#key.store=${HOME}/.android/debug.keystore -#key.alias=debug \ No newline at end of file diff --git a/examples/android/androidSoundPlayerExample/build.xml b/examples/android/androidSoundPlayerExample/build.xml index f02a845fb8f..024f138d46d 100644 --- a/examples/android/androidSoundPlayerExample/build.xml +++ b/examples/android/androidSoundPlayerExample/build.xml @@ -28,6 +28,15 @@ --> + + + + + + - - - + + + + + \ No newline at end of file diff --git a/examples/android/androidSoundPlayerExample/res/values-v14/styles.xml b/examples/android/androidSoundPlayerExample/res/values-v14/styles.xml new file mode 100644 index 00000000000..f20e01501df --- /dev/null +++ b/examples/android/androidSoundPlayerExample/res/values-v14/styles.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/examples/android/androidSoundPlayerExample/res/values/strings.xml b/examples/android/androidSoundPlayerExample/res/values/strings.xml index 3ed45f64792..cb7f45166d3 100644 --- a/examples/android/androidSoundPlayerExample/res/values/strings.xml +++ b/examples/android/androidSoundPlayerExample/res/values/strings.xml @@ -1,4 +1,8 @@ + androidSoundPlayerExample - + Hello world! + Settings + + \ No newline at end of file diff --git a/examples/android/androidSoundPlayerExample/res/values/styles.xml b/examples/android/androidSoundPlayerExample/res/values/styles.xml new file mode 100644 index 00000000000..4a10ca492dd --- /dev/null +++ b/examples/android/androidSoundPlayerExample/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/examples/android/androidSoundPlayerExample/src/testApp.cpp b/examples/android/androidSoundPlayerExample/src/testApp.cpp index 0087a3315a4..cf410fcf370 100644 --- a/examples/android/androidSoundPlayerExample/src/testApp.cpp +++ b/examples/android/androidSoundPlayerExample/src/testApp.cpp @@ -1,7 +1,7 @@ #include "testApp.h" //-------------------------------------------------------------- -void testApp::setup(){ +void testApp::setup(){ ofSetOrientation(OF_ORIENTATION_90_LEFT); synth.loadSound("sounds/synth.wav"); beats.loadSound("sounds/1085.mp3"); @@ -15,17 +15,14 @@ void testApp::setup(){ } //-------------------------------------------------------------- -void testApp::update(){ - - ofBackground(255,255,255); - +void testApp::update(){ // update the sound playing system: ofSoundUpdate(); - } //-------------------------------------------------------------- void testApp::draw(){ + ofBackground(255,255,255); char tempStr[255]; @@ -65,14 +62,14 @@ void testApp::draw(){ font.drawString("vocals !!", widthDiv*2+50,50); ofSetHexColor(0x000000); - sprintf(tempStr, "click to play (multiplay)\npct done: %f\nspeed: %f", vocals.getPosition(), vocals.getSpeed()); + sprintf(tempStr, "click to play (multiplay)\npct done: %f\nspeed: %f\npan: %f", vocals.getPosition(), vocals.getSpeed(), vocals.getPan()); ofDrawBitmapString(tempStr, widthDiv*2+50,ofGetHeight()-50); - } //-------------------------------------------------------------- void testApp::keyPressed (int key){ + } //-------------------------------------------------------------- @@ -81,54 +78,88 @@ void testApp::keyReleased(int key){ } //-------------------------------------------------------------- -void testApp::mouseMoved(int x, int y ){ - -} - -//-------------------------------------------------------------- -void testApp::mouseDragged(int x, int y, int button){ - // continuously control the speed of the beat sample via drag, - // when in the "beat" region: - float widthStep = ofGetWidth() / 3.0f; - if (x >= widthStep && x < widthStep*2){ - beats.setSpeed( 0.5f + ((float)(ofGetHeight() - y) / (float)ofGetHeight())*1.0f); - } +void testApp::windowResized(int w, int h){ } //-------------------------------------------------------------- -void testApp::mousePressed(int x, int y, int button){ +void testApp::touchDown(int x, int y, int id){ float widthStep = ofGetWidth() / 3.0f; if (x < widthStep){ float pct = x / widthStep; synth.play(); - synth.setSpeed( 0.1f + ((float)(ofGetHeight() - y) / (float)ofGetHeight())*10); - synth.setPan(pct); + synth.setSpeed( 0.1f + ((float)(ofGetHeight() - y) / (float)ofGetHeight())*2.0f); + synth.setPan(2.0*pct-1.0); } else if (x >= widthStep && x < widthStep*2){ beats.play(); } else { vocals.play(); - vocals.setSpeed( 0.1f + ((float)(ofGetHeight() - y) / (float)ofGetHeight())*3); - vocals.setPan((float)(x - widthStep*2) / (float)widthStep); + vocals.setSpeed( 0.1f + ((float)(ofGetHeight() - y) / (float)ofGetHeight())*2.0f); + vocals.setPan(2.0*(float)(x - widthStep*2) / (float)widthStep-1.0); } } //-------------------------------------------------------------- -void testApp::mouseReleased(int x, int y, int button){ +void testApp::touchMoved(int x, int y, int id){ + // continuously control the speed of the beat sample via drag, + // when in the "beat" region: + float widthStep = ofGetWidth() / 3.0f; + if (x >= widthStep && x < widthStep*2){ + beats.setSpeed( 0.5f + ((float)(ofGetHeight() - y) / (float)ofGetHeight())*1.0f); + } +} + +//-------------------------------------------------------------- +void testApp::touchUp(int x, int y, int id){ } //-------------------------------------------------------------- -void testApp::windowResized(int w, int h){ +void testApp::touchDoubleTap(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::touchCancelled(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::swipe(ofxAndroidSwipeDir swipeDir, int id){ + +} + +//-------------------------------------------------------------- +void testApp::pause(){ + +} +//-------------------------------------------------------------- +void testApp::stop(){ + +} + +//-------------------------------------------------------------- +void testApp::resume(){ + +} + +//-------------------------------------------------------------- +void testApp::reloadTextures(){ + +} + +//-------------------------------------------------------------- +bool testApp::backPressed(){ + return false; } //-------------------------------------------------------------- -void testApp::gotMessage(ofMessage msg){ +void testApp::okPressed(){ } //-------------------------------------------------------------- -void testApp::dragEvent(ofDragInfo dragInfo){ +void testApp::cancelPressed(){ } diff --git a/examples/android/androidSoundPlayerExample/src/testApp.h b/examples/android/androidSoundPlayerExample/src/testApp.h index 03430ebf0bb..0902cd1c8cb 100644 --- a/examples/android/androidSoundPlayerExample/src/testApp.h +++ b/examples/android/androidSoundPlayerExample/src/testApp.h @@ -1,8 +1,9 @@ #pragma once #include "ofMain.h" +#include "ofxAndroid.h" -class testApp : public ofBaseApp{ +class testApp : public ofxAndroidApp{ public: void setup(); @@ -11,20 +12,27 @@ class testApp : public ofBaseApp{ void keyPressed (int key); void keyReleased(int key); - void mouseMoved(int x, int y ); - void mouseDragged(int x, int y, int button); - void mousePressed(int x, int y, int button); - void mouseReleased(int x, int y, int button); void windowResized(int w, int h); - void dragEvent(ofDragInfo dragInfo); - void gotMessage(ofMessage msg); - + + void touchDown(int x, int y, int id); + void touchMoved(int x, int y, int id); + void touchUp(int x, int y, int id); + void touchDoubleTap(int x, int y, int id); + void touchCancelled(int x, int y, int id); + void swipe(ofxAndroidSwipeDir swipeDir, int id); + + void pause(); + void stop(); + void resume(); + void reloadTextures(); + + bool backPressed(); + void okPressed(); + void cancelPressed(); + ofSoundPlayer beats; ofSoundPlayer synth; ofSoundPlayer vocals; ofTrueTypeFont font; - float synthPosition; - }; - diff --git a/examples/android/androidSoundPlayerExample/srcJava/cc/openframeworks/androidSoundPlayerExample/OFActivity.java b/examples/android/androidSoundPlayerExample/srcJava/cc/openframeworks/androidSoundPlayerExample/OFActivity.java index 3f9f6d440b4..daf4d53b9f6 100644 --- a/examples/android/androidSoundPlayerExample/srcJava/cc/openframeworks/androidSoundPlayerExample/OFActivity.java +++ b/examples/android/androidSoundPlayerExample/srcJava/cc/openframeworks/androidSoundPlayerExample/OFActivity.java @@ -1,6 +1,5 @@ package cc.openframeworks.androidSoundPlayerExample; -import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.Menu; @@ -8,7 +7,7 @@ import cc.openframeworks.OFAndroid; -public class OFActivity extends Activity{ +public class OFActivity extends cc.openframeworks.OFActivity{ @Override public void onCreate(Bundle savedInstanceState) diff --git a/examples/android/androidSwipeExample/.classpath b/examples/android/androidSwipeExample/.classpath new file mode 100644 index 00000000000..296aed65759 --- /dev/null +++ b/examples/android/androidSwipeExample/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/examples/android/androidSwipeExample/.cproject b/examples/android/androidSwipeExample/.cproject new file mode 100644 index 00000000000..4dc68934ad8 --- /dev/null +++ b/examples/android/androidSwipeExample/.cproject @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/android/androidSwipeExample/.project b/examples/android/androidSwipeExample/.project new file mode 100644 index 00000000000..bfd6a519c34 --- /dev/null +++ b/examples/android/androidSwipeExample/.project @@ -0,0 +1,50 @@ + + + androidSwipeExample + + + openFrameworks + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + + + com.android.ide.eclipse.adt.ResourceManagerBuilder + + + + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + com.android.ide.eclipse.adt.AndroidNature + org.eclipse.jdt.core.javanature + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + diff --git a/examples/android/androidSwipeExample/.settings/org.eclipse.cdt.codan.core.prefs b/examples/android/androidSwipeExample/.settings/org.eclipse.cdt.codan.core.prefs new file mode 100644 index 00000000000..810101ec581 --- /dev/null +++ b/examples/android/androidSwipeExample/.settings/org.eclipse.cdt.codan.core.prefs @@ -0,0 +1,67 @@ +eclipse.preferences.version=1 +org.eclipse.cdt.codan.checkers.errnoreturn=Warning +org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.checkers.errreturnvalue=Error +org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.checkers.noreturn=Error +org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=-Error +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=-Error +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>true,empty_case_param\=>false} +org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning +org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=-Error +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true} +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidArguments=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.OverloadProblem=-Error +org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false} +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false} +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")} +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} diff --git a/examples/android/androidSwipeExample/AndroidManifest.xml b/examples/android/androidSwipeExample/AndroidManifest.xml new file mode 100644 index 00000000000..f0f78db6baf --- /dev/null +++ b/examples/android/androidSwipeExample/AndroidManifest.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/android/androidSwipeExample/Makefile b/examples/android/androidSwipeExample/Makefile new file mode 100644 index 00000000000..2d83a770918 --- /dev/null +++ b/examples/android/androidSwipeExample/Makefile @@ -0,0 +1,2 @@ +include config.make +include $(OF_ROOT)/libs/openFrameworksCompiled/project/makefileCommon/Makefile.examples diff --git a/examples/android/androidSwipeExample/addons.make b/examples/android/androidSwipeExample/addons.make new file mode 100644 index 00000000000..6865074afbe --- /dev/null +++ b/examples/android/androidSwipeExample/addons.make @@ -0,0 +1,2 @@ +ofxAndroid +ofxAccelerometer \ No newline at end of file diff --git a/examples/android/androidSwipeExample/bin/data/.gitkeep b/examples/android/androidSwipeExample/bin/data/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/examples/android/androidSwipeExample/build.xml b/examples/android/androidSwipeExample/build.xml new file mode 100644 index 00000000000..024f138d46d --- /dev/null +++ b/examples/android/androidSwipeExample/build.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/android/androidSwipeExample/config.make b/examples/android/androidSwipeExample/config.make new file mode 100644 index 00000000000..5ecc800806b --- /dev/null +++ b/examples/android/androidSwipeExample/config.make @@ -0,0 +1,35 @@ +# add custom variables to this file + +# OF_ROOT allows to move projects outside apps/* just set this variable to the +# absoulte path to the OF root folder + +OF_ROOT = ../../.. + + +# USER_CFLAGS allows to pass custom flags to the compiler +# for example search paths like: +# USER_CFLAGS = -I src/objects + +USER_CFLAGS = + + +# USER_LDFLAGS allows to pass custom flags to the linker +# for example libraries like: +# USER_LD_FLAGS = libs/libawesomelib.a + +USER_LDFLAGS = + +# android specific, in case you want to use different optimizations +USER_LIBS_ARM = +USER_LIBS_ARM7 = +USER_LIBS_NEON = + +# android optimizations + +ANDROID_COMPILER_OPTIMIZATION = -Os + + +EXCLUDE_FROM_SOURCE="bin,.xcodeproj,obj" + +ANDROID_BUILD_ARCHS_RELEASE=armv7 armv5 neon + diff --git a/examples/android/androidSwipeExample/ic_launcher-web.png b/examples/android/androidSwipeExample/ic_launcher-web.png new file mode 100644 index 00000000000..70b562fba01 Binary files /dev/null and b/examples/android/androidSwipeExample/ic_launcher-web.png differ diff --git a/examples/android/androidSwipeExample/libs/android-support-v4.jar b/examples/android/androidSwipeExample/libs/android-support-v4.jar new file mode 100644 index 00000000000..6080877d4ad Binary files /dev/null and b/examples/android/androidSwipeExample/libs/android-support-v4.jar differ diff --git a/examples/android/androidSwipeExample/proguard-project.txt b/examples/android/androidSwipeExample/proguard-project.txt new file mode 100644 index 00000000000..f2fe1559a21 --- /dev/null +++ b/examples/android/androidSwipeExample/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/examples/android/androidSwipeExample/project.properties b/examples/android/androidSwipeExample/project.properties new file mode 100644 index 00000000000..8f26b0b4760 --- /dev/null +++ b/examples/android/androidSwipeExample/project.properties @@ -0,0 +1,15 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-17 +android.library.reference.1=../../../addons/ofxAndroid/ofAndroidLib diff --git a/examples/android/androidSwipeExample/res/drawable/ic_launcher.png b/examples/android/androidSwipeExample/res/drawable/ic_launcher.png new file mode 100644 index 00000000000..70b562fba01 Binary files /dev/null and b/examples/android/androidSwipeExample/res/drawable/ic_launcher.png differ diff --git a/examples/android/androidSwipeExample/res/layout/main_layout.xml b/examples/android/androidSwipeExample/res/layout/main_layout.xml new file mode 100644 index 00000000000..80964ddd72d --- /dev/null +++ b/examples/android/androidSwipeExample/res/layout/main_layout.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/examples/android/androidSwipeExample/res/menu/main_layout.xml b/examples/android/androidSwipeExample/res/menu/main_layout.xml new file mode 100644 index 00000000000..7ddcfbee35e --- /dev/null +++ b/examples/android/androidSwipeExample/res/menu/main_layout.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/examples/android/androidSwipeExample/res/values-v11/styles.xml b/examples/android/androidSwipeExample/res/values-v11/styles.xml new file mode 100644 index 00000000000..541752f6edf --- /dev/null +++ b/examples/android/androidSwipeExample/res/values-v11/styles.xml @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file diff --git a/examples/android/androidSwipeExample/res/values-v14/styles.xml b/examples/android/androidSwipeExample/res/values-v14/styles.xml new file mode 100644 index 00000000000..f20e01501df --- /dev/null +++ b/examples/android/androidSwipeExample/res/values-v14/styles.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/examples/android/androidSwipeExample/res/values/strings.xml b/examples/android/androidSwipeExample/res/values/strings.xml new file mode 100644 index 00000000000..1505ea2a2eb --- /dev/null +++ b/examples/android/androidSwipeExample/res/values/strings.xml @@ -0,0 +1,8 @@ + + + + androidSwipeExample + Hello world! + Settings + + \ No newline at end of file diff --git a/examples/android/androidSwipeExample/res/values/styles.xml b/examples/android/androidSwipeExample/res/values/styles.xml new file mode 100644 index 00000000000..4a10ca492dd --- /dev/null +++ b/examples/android/androidSwipeExample/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/examples/android/androidSwipeExample/src/main.cpp b/examples/android/androidSwipeExample/src/main.cpp new file mode 100644 index 00000000000..8870c46e2ab --- /dev/null +++ b/examples/android/androidSwipeExample/src/main.cpp @@ -0,0 +1,37 @@ +#include "ofMain.h" +#include "testApp.h" +#ifdef TARGET_ANDROID + #include "ofAppAndroidWindow.h" +#else + #include "ofAppGlutWindow.h" +#endif + + + +int main(){ + +#ifdef TARGET_ANDROID + ofAppAndroidWindow *window = new ofAppAndroidWindow; +#else + ofAppGlutWindow *window = new ofAppGlutWindow; +#endif + ofSetupOpenGL(window, 1024,768, OF_WINDOW); // <-------- setup the GL context + + // this kicks off the running of my app + // can be OF_WINDOW or OF_FULLSCREEN + // pass in width and height too: + ofRunApp( new testApp() ); + return 0; +} + + +#ifdef TARGET_ANDROID +#include + +//======================================================================== +extern "C"{ + void Java_cc_openframeworks_OFAndroid_init( JNIEnv* env, jobject thiz ){ + main(); + } +} +#endif diff --git a/examples/android/androidSwipeExample/src/testApp.cpp b/examples/android/androidSwipeExample/src/testApp.cpp new file mode 100644 index 00000000000..ca19e0fb4e4 --- /dev/null +++ b/examples/android/androidSwipeExample/src/testApp.cpp @@ -0,0 +1,79 @@ +#include "testApp.h" + +//-------------------------------------------------------------- +void testApp::setup(){ + ofRegisterTouchEvents((ofxAndroidApp*)this); +} + +//-------------------------------------------------------------- +void testApp::update(){ + +} + +//-------------------------------------------------------------- +void testApp::draw(){ +} + +//-------------------------------------------------------------- +void testApp::keyPressed (int key){ + +} + +//-------------------------------------------------------------- +void testApp::keyReleased(int key){ + +} + +//-------------------------------------------------------------- +void testApp::mouseMoved(int x, int y ){ + +} + +//-------------------------------------------------------------- +void testApp::mouseDragged(int x, int y, int button){ + +} + +//-------------------------------------------------------------- +void testApp::mousePressed(int x, int y, int button){ + +} + +//-------------------------------------------------------------- +void testApp::mouseReleased(int x, int y, int button){ + +} + +//-------------------------------------------------------------- +void testApp::windowResized(int w, int h){ + +} + +void testApp::touchDown(int x, int y, int id){ + ofLogNotice() << "touch down " << x << "," << y << ":" << id; + +} + +void testApp::touchMoved(int x, int y, int id){ + ofLogNotice() << "touch moved " << x << "," << y << ":" << id; + +} + +void testApp::touchUp(int x, int y, int id){ + ofLogNotice() << "touch up " << x << "," << y << ":" << id; + +} + +void testApp::touchDoubleTap(int x, int y, int id){ + ofLogNotice() << "touch double " << x << "," << y << ":" << id; + +} + +void testApp::touchCancelled(int x, int y, int id){ + ofLogNotice() << "touch cacelled " << x << "," << y << ":" << id; + +} + +void testApp::swipe(ofxAndroidSwipeDir swipeDir, int id){ + ofLogNotice() << "swipes " << swipeDir << id; +} diff --git a/examples/android/androidSwipeExample/src/testApp.h b/examples/android/androidSwipeExample/src/testApp.h new file mode 100644 index 00000000000..ebebbf08077 --- /dev/null +++ b/examples/android/androidSwipeExample/src/testApp.h @@ -0,0 +1,33 @@ +#ifndef _TEST_APP +#define _TEST_APP + + +#include "ofMain.h" +#include "ofxAndroid.h" + +class testApp : public ofxAndroidApp{ + + public: + + void setup(); + void update(); + void draw(); + + void keyPressed(int key); + void keyReleased(int key); + void mouseMoved(int x, int y ); + void mouseDragged(int x, int y, int button); + void mousePressed(int x, int y, int button); + void mouseReleased(int x, int y, int button); + void windowResized(int w, int h); + + void touchDown(int x, int y, int id); + void touchMoved(int x, int y, int id); + void touchUp(int x, int y, int id); + void touchDoubleTap(int x, int y, int id); + void touchCancelled(int x, int y, int id); + void swipe(ofxAndroidSwipeDir swipeDir, int id); +}; + +#endif + diff --git a/examples/android/androidSwipeExample/srcJava/cc/openframeworks/androidSwipeExample/OFActivity.java b/examples/android/androidSwipeExample/srcJava/cc/openframeworks/androidSwipeExample/OFActivity.java new file mode 100644 index 00000000000..10fe0c29c48 --- /dev/null +++ b/examples/android/androidSwipeExample/srcJava/cc/openframeworks/androidSwipeExample/OFActivity.java @@ -0,0 +1,91 @@ +package cc.openframeworks.androidSwipeExample; + +import android.os.Bundle; +import android.view.KeyEvent; +import android.view.Menu; +import android.view.MenuItem; +import cc.openframeworks.OFAndroid; + + +public class OFActivity extends cc.openframeworks.OFActivity{ + + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + String packageName = getPackageName(); + + ofApp = new OFAndroid(packageName,this); + } + + @Override + public void onDetachedFromWindow() { + } + + @Override + protected void onPause() { + super.onPause(); + ofApp.pause(); + } + + @Override + protected void onResume() { + super.onResume(); + ofApp.resume(); + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (OFAndroid.keyDown(keyCode, event)) { + return true; + } else { + return super.onKeyDown(keyCode, event); + } + } + + @Override + public boolean onKeyUp(int keyCode, KeyEvent event) { + if (OFAndroid.keyUp(keyCode, event)) { + return true; + } else { + return super.onKeyUp(keyCode, event); + } + } + + + OFAndroid ofApp; + + + + // Menus + // http://developer.android.com/guide/topics/ui/menus.html + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Create settings menu options from here, one by one or infalting an xml + return super.onCreateOptionsMenu(menu); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // This passes the menu option string to OF + // you can add additional behavior from java modifying this method + // but keep the call to OFAndroid so OF is notified of menu events + if(OFAndroid.menuItemSelected(item.getItemId())){ + + return true; + } + return super.onOptionsItemSelected(item); + } + + + @Override + public boolean onPrepareOptionsMenu (Menu menu){ + // This method is called every time the menu is opened + // you can add or remove menu options from here + return super.onPrepareOptionsMenu(menu); + } + +} + + + diff --git a/examples/android/androidTouchExample/.classpath b/examples/android/androidTouchExample/.classpath index a93be331700..296aed65759 100644 --- a/examples/android/androidTouchExample/.classpath +++ b/examples/android/androidTouchExample/.classpath @@ -3,6 +3,6 @@ - + diff --git a/examples/android/androidTouchExample/.cproject b/examples/android/androidTouchExample/.cproject index 0422975bd53..f1f7626bbe6 100644 --- a/examples/android/androidTouchExample/.cproject +++ b/examples/android/androidTouchExample/.cproject @@ -1,43 +1,29 @@ - - - + - - + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + @@ -46,1471 +32,58 @@ - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - + - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/examples/android/androidTouchExample/.project b/examples/android/androidTouchExample/.project index 6bc886a79b0..e56d54ba419 100644 --- a/examples/android/androidTouchExample/.project +++ b/examples/android/androidTouchExample/.project @@ -3,7 +3,6 @@ androidTouchExample - libs openFrameworks @@ -11,58 +10,6 @@ org.eclipse.cdt.managedbuilder.core.genmakebuilder clean,full,incremental, - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - CleanAndroid - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - AndroidDebug - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - @@ -70,8 +17,24 @@ + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, diff --git a/examples/android/androidTouchExample/.settings/org.eclipse.cdt.codan.core.prefs b/examples/android/androidTouchExample/.settings/org.eclipse.cdt.codan.core.prefs new file mode 100644 index 00000000000..810101ec581 --- /dev/null +++ b/examples/android/androidTouchExample/.settings/org.eclipse.cdt.codan.core.prefs @@ -0,0 +1,67 @@ +eclipse.preferences.version=1 +org.eclipse.cdt.codan.checkers.errnoreturn=Warning +org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.checkers.errreturnvalue=Error +org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.checkers.noreturn=Error +org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=-Error +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=-Error +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>true,empty_case_param\=>false} +org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning +org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=-Error +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true} +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidArguments=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.OverloadProblem=-Error +org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false} +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false} +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")} +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} diff --git a/examples/android/androidTouchExample/AndroidManifest.xml b/examples/android/androidTouchExample/AndroidManifest.xml index 01a49a7d41d..980ef7b87eb 100644 --- a/examples/android/androidTouchExample/AndroidManifest.xml +++ b/examples/android/androidTouchExample/AndroidManifest.xml @@ -1,21 +1,28 @@ - - - + package="cc.openframeworks.androidTouchExample" + android:versionCode="1" + android:versionName="1.0" + android:installLocation="preferExternal"> + + + + + + - - - + \ No newline at end of file diff --git a/examples/android/androidTouchExample/ant.properties b/examples/android/androidTouchExample/ant.properties deleted file mode 100644 index 76b8dfd891b..00000000000 --- a/examples/android/androidTouchExample/ant.properties +++ /dev/null @@ -1 +0,0 @@ -source.dir=srcJava diff --git a/examples/android/androidTouchExample/bin/data/.gitkeep b/examples/android/androidTouchExample/bin/data/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/examples/android/androidTouchExample/build.properties b/examples/android/androidTouchExample/build.properties deleted file mode 100644 index 0cc5e9dbfec..00000000000 --- a/examples/android/androidTouchExample/build.properties +++ /dev/null @@ -1,3 +0,0 @@ -source.dir=srcJava -#key.store=${HOME}/.android/debug.keystore -#key.alias=debug \ No newline at end of file diff --git a/examples/android/androidTouchExample/build.xml b/examples/android/androidTouchExample/build.xml index f02a845fb8f..024f138d46d 100644 --- a/examples/android/androidTouchExample/build.xml +++ b/examples/android/androidTouchExample/build.xml @@ -28,6 +28,15 @@ --> + + + + + + - - - + + + + + \ No newline at end of file diff --git a/examples/android/androidTouchExample/res/values-v14/styles.xml b/examples/android/androidTouchExample/res/values-v14/styles.xml new file mode 100644 index 00000000000..f20e01501df --- /dev/null +++ b/examples/android/androidTouchExample/res/values-v14/styles.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/examples/android/androidTouchExample/res/values/strings.xml b/examples/android/androidTouchExample/res/values/strings.xml index 4a4ef450f49..0e0688b4073 100644 --- a/examples/android/androidTouchExample/res/values/strings.xml +++ b/examples/android/androidTouchExample/res/values/strings.xml @@ -1,4 +1,8 @@ + androidTouchExample - + Hello world! + Settings + + \ No newline at end of file diff --git a/examples/android/androidTouchExample/res/values/styles.xml b/examples/android/androidTouchExample/res/values/styles.xml new file mode 100644 index 00000000000..4a10ca492dd --- /dev/null +++ b/examples/android/androidTouchExample/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/examples/android/androidTouchExample/src/testApp.cpp b/examples/android/androidTouchExample/src/testApp.cpp index 450c974be91..e712263cf11 100644 --- a/examples/android/androidTouchExample/src/testApp.cpp +++ b/examples/android/androidTouchExample/src/testApp.cpp @@ -2,9 +2,6 @@ //-------------------------------------------------------------- void testApp::setup(){ - // register touch events - ofxRegisterMultitouch(this); - // initialize the accelerometer ofxAccelerometer.setup(); @@ -12,7 +9,6 @@ void testApp::setup(){ for(int i=0; i - + diff --git a/examples/android/androidVBOExample/.cproject b/examples/android/androidVBOExample/.cproject index 382f306e5d5..d5a5b34ebb2 100644 --- a/examples/android/androidVBOExample/.cproject +++ b/examples/android/androidVBOExample/.cproject @@ -1,42 +1,29 @@ - - - + - - + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + @@ -45,1472 +32,58 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - - + - + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/examples/android/androidVBOExample/.project b/examples/android/androidVBOExample/.project index a375d982b78..3629950ab47 100644 --- a/examples/android/androidVBOExample/.project +++ b/examples/android/androidVBOExample/.project @@ -3,8 +3,6 @@ androidVBOExample - addons - libs openFrameworks @@ -12,58 +10,6 @@ org.eclipse.cdt.managedbuilder.core.genmakebuilder clean,full,incremental, - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - CleanDebug - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - AndroidDebug - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - @@ -71,8 +17,24 @@ + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, diff --git a/examples/android/androidVBOExample/.settings/org.eclipse.cdt.codan.core.prefs b/examples/android/androidVBOExample/.settings/org.eclipse.cdt.codan.core.prefs new file mode 100644 index 00000000000..810101ec581 --- /dev/null +++ b/examples/android/androidVBOExample/.settings/org.eclipse.cdt.codan.core.prefs @@ -0,0 +1,67 @@ +eclipse.preferences.version=1 +org.eclipse.cdt.codan.checkers.errnoreturn=Warning +org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.checkers.errreturnvalue=Error +org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.checkers.noreturn=Error +org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=-Error +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=-Error +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>true,empty_case_param\=>false} +org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning +org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=-Error +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true} +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidArguments=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=-Error +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.OverloadProblem=-Error +org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false} +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false} +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")} +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=-Error +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} diff --git a/examples/android/androidVBOExample/AndroidManifest.xml b/examples/android/androidVBOExample/AndroidManifest.xml index aeae9a6d203..d4d26b7b730 100644 --- a/examples/android/androidVBOExample/AndroidManifest.xml +++ b/examples/android/androidVBOExample/AndroidManifest.xml @@ -1,19 +1,28 @@ - - - + package="cc.openframeworks.androidVBOExample" + android:versionCode="1" + android:versionName="1.0" + android:installLocation="preferExternal"> + + + + + + - - + + \ No newline at end of file diff --git a/examples/android/androidVBOExample/ant.properties b/examples/android/androidVBOExample/ant.properties deleted file mode 100644 index 76b8dfd891b..00000000000 --- a/examples/android/androidVBOExample/ant.properties +++ /dev/null @@ -1 +0,0 @@ -source.dir=srcJava diff --git a/examples/android/androidVBOExample/bin/data/.gitkeep b/examples/android/androidVBOExample/bin/data/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/examples/android/androidVBOExample/build.properties b/examples/android/androidVBOExample/build.properties deleted file mode 100644 index 0cc5e9dbfec..00000000000 --- a/examples/android/androidVBOExample/build.properties +++ /dev/null @@ -1,3 +0,0 @@ -source.dir=srcJava -#key.store=${HOME}/.android/debug.keystore -#key.alias=debug \ No newline at end of file diff --git a/examples/android/androidVBOExample/build.xml b/examples/android/androidVBOExample/build.xml index f02a845fb8f..024f138d46d 100644 --- a/examples/android/androidVBOExample/build.xml +++ b/examples/android/androidVBOExample/build.xml @@ -28,6 +28,15 @@ --> + + + + + + - - - + + + + + \ No newline at end of file diff --git a/examples/android/androidVBOExample/res/values-v14/styles.xml b/examples/android/androidVBOExample/res/values-v14/styles.xml new file mode 100644 index 00000000000..f20e01501df --- /dev/null +++ b/examples/android/androidVBOExample/res/values-v14/styles.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/examples/android/androidVBOExample/res/values/strings.xml b/examples/android/androidVBOExample/res/values/strings.xml index d9ab37baf72..571614bd32c 100644 --- a/examples/android/androidVBOExample/res/values/strings.xml +++ b/examples/android/androidVBOExample/res/values/strings.xml @@ -1,4 +1,8 @@ + androidVBOExample - + Hello world! + Settings + + \ No newline at end of file diff --git a/examples/android/androidVBOExample/res/values/styles.xml b/examples/android/androidVBOExample/res/values/styles.xml new file mode 100644 index 00000000000..4a10ca492dd --- /dev/null +++ b/examples/android/androidVBOExample/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/examples/android/androidVBOExample/src/testApp.cpp b/examples/android/androidVBOExample/src/testApp.cpp index 1a158f39565..a059037365f 100644 --- a/examples/android/androidVBOExample/src/testApp.cpp +++ b/examples/android/androidVBOExample/src/testApp.cpp @@ -2,10 +2,7 @@ //-------------------------------------------------------------- void testApp::setup(){ - ofBackground(0,0,0); - ofRegisterTouchEvents(this); - //ofxiPhoneSetOrientation(OFXIPHONE_ORIENTATION_LANDSCAPE_RIGHT); bPause = false; restLength = 3.0; @@ -44,17 +41,9 @@ void testApp::setup(){ } -// android destroys the gl context when it pauses apps -// most OF textures are automatically regenerated -// but you'll need to regenerate the vbo yourself -void testApp::resume(){ - vbo.setVertexData(pos, total, GL_DYNAMIC_DRAW); -} - //-------------------------------------------------------------- void testApp::update(){ - if(!bPause) { ofVec3f vec; float r = 0.3; @@ -82,7 +71,6 @@ void testApp::update(){ } } - zoom += (zoomTarget-zoom) * 0.04; } @@ -90,7 +78,6 @@ void testApp::update(){ //-------------------------------------------------------------- void testApp::draw() { - ofPushMatrix(); ofTranslate(ofGetWidth()/2, ofGetHeight()/2, zoom); @@ -121,28 +108,86 @@ void testApp::draw() { } //-------------------------------------------------------------- -void testApp::touchDown(ofTouchEventArgs &touch){ - if(touch.id == 2) bPause = !bPause; +void testApp::keyPressed (int key){ + +} + +//-------------------------------------------------------------- +void testApp::keyReleased(int key){ + +} + +//-------------------------------------------------------------- +void testApp::windowResized(int w, int h){ + } //-------------------------------------------------------------- -void testApp::touchMoved(ofTouchEventArgs &touch){ - if(touch.id == 1) { - zoomTarget = ofMap(touch.x, 0.0, ofGetWidth(), 100, 500); +void testApp::touchDown(int x, int y, int id){ + if(id == 2) bPause = !bPause; +} + +//-------------------------------------------------------------- +void testApp::touchMoved(int x, int y, int id){ + if(id == 1) { + zoomTarget = ofMap(x, 0.0, ofGetWidth(), 100, 500); } } //-------------------------------------------------------------- -void testApp::touchUp(ofTouchEventArgs &touch){ - +void testApp::touchUp(int x, int y, int id){ + +} + +//-------------------------------------------------------------- +void testApp::touchDoubleTap(int x, int y, int id){ + } //-------------------------------------------------------------- -void testApp::touchDoubleTap(ofTouchEventArgs &touch){ - +void testApp::touchCancelled(int x, int y, int id){ + } //-------------------------------------------------------------- -void testApp::touchCancelled(ofTouchEventArgs &touch){ - +void testApp::swipe(ofxAndroidSwipeDir swipeDir, int id){ + +} + +//-------------------------------------------------------------- +void testApp::pause(){ + +} + +//-------------------------------------------------------------- +void testApp::stop(){ + +} + +//-------------------------------------------------------------- +void testApp::resume(){ + // android destroys the gl context when it pauses apps + // most OF textures are automatically regenerated + // but you'll need to regenerate the vbo yourself + vbo.setVertexData(pos, total, GL_DYNAMIC_DRAW); +} + +//-------------------------------------------------------------- +void testApp::reloadTextures(){ + +} + +//-------------------------------------------------------------- +bool testApp::backPressed(){ + return false; +} + +//-------------------------------------------------------------- +void testApp::okPressed(){ + +} + +//-------------------------------------------------------------- +void testApp::cancelPressed(){ + } diff --git a/examples/android/androidVBOExample/src/testApp.h b/examples/android/androidVBOExample/src/testApp.h index 9604f4d5fdf..d90afa7f519 100644 --- a/examples/android/androidVBOExample/src/testApp.h +++ b/examples/android/androidVBOExample/src/testApp.h @@ -14,17 +14,26 @@ class testApp : public ofxAndroidApp { void update(); void draw(); - // android destroys the gl context when it pauses apps - // most OF textures are automatically regenerated - // but you'll need to regenerate the vbo yourself + void keyPressed(int key); + void keyReleased(int key); + void windowResized(int w, int h); + + void touchDown(int x, int y, int id); + void touchMoved(int x, int y, int id); + void touchUp(int x, int y, int id); + void touchDoubleTap(int x, int y, int id); + void touchCancelled(int x, int y, int id); + void swipe(ofxAndroidSwipeDir swipeDir, int id); + + void pause(); + void stop(); void resume(); + void reloadTextures(); + + bool backPressed(); + void okPressed(); + void cancelPressed(); - void touchDown(ofTouchEventArgs &touch); - void touchMoved(ofTouchEventArgs &touch); - void touchUp(ofTouchEventArgs &touch); - void touchDoubleTap(ofTouchEventArgs &touch); - void touchCancelled(ofTouchEventArgs &touch); - ofVbo vbo; ofVec3f pos[GRID_WIDTH*GRID_HEIGHT*LENGTH]; ofVec3f center; @@ -36,5 +45,3 @@ class testApp : public ofxAndroidApp { bool bPause; int zoom, zoomTarget; }; - - diff --git a/examples/android/androidVBOExample/srcJava/cc/openframeworks/androidVBOExample/OFActivity.java b/examples/android/androidVBOExample/srcJava/cc/openframeworks/androidVBOExample/OFActivity.java index 053b5616dfd..2564458a78f 100644 --- a/examples/android/androidVBOExample/srcJava/cc/openframeworks/androidVBOExample/OFActivity.java +++ b/examples/android/androidVBOExample/srcJava/cc/openframeworks/androidVBOExample/OFActivity.java @@ -1,6 +1,5 @@ package cc.openframeworks.androidVBOExample; -import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.Menu; @@ -8,7 +7,7 @@ import cc.openframeworks.OFAndroid; -public class OFActivity extends Activity{ +public class OFActivity extends cc.openframeworks.OFActivity{ @Override public void onCreate(Bundle savedInstanceState) diff --git a/examples/communication/firmataExample/src/testApp.h b/examples/communication/firmataExample/src/testApp.h index fc13e6edfc3..fcf1d000f6b 100644 --- a/examples/communication/firmataExample/src/testApp.h +++ b/examples/communication/firmataExample/src/testApp.h @@ -4,7 +4,7 @@ #include "ofEvents.h" -class testApp : public ofSimpleApp{ +class testApp : public ofBaseApp{ public: diff --git a/examples/gl/GPUparticleSystemExample/bin/data/shaders/render.vert b/examples/gl/GPUparticleSystemExample/bin/data/shaders/render.vert index e20c7ecc41f..c81be1ab669 100644 --- a/examples/gl/GPUparticleSystemExample/bin/data/shaders/render.vert +++ b/examples/gl/GPUparticleSystemExample/bin/data/shaders/render.vert @@ -7,17 +7,11 @@ uniform vec2 screen; uniform float resolution; void main() { - // Takes the position of a vertex that was send on porpuse to the same - // position on the texture were it´s the information stored on the Red Green channels - // - vec4 verPos = gl_Vertex; - - // Moves the position of each vertex (that are from -1.0 to 1.0) - // to the right one on the texture (that are from 0.0 to 1.0) - // - verPos.x = abs(verPos.x * 0.5 + resolution * 0.5); - verPos.y = abs(verPos.y * 0.5 + resolution * 0.5); - vec4 pixPos = texture2DRect( posTex, verPos.xy ); + // use the texture coordinates as an index into the position texture + vec2 verPos = gl_MultiTexCoord0.xy; + + // read position data from texture + vec4 pixPos = texture2DRect( posTex, verPos ); // Maps the position from the texture (from 0.0 to 1.0) to // the screen position (0 - screenWidth/screenHeight) diff --git a/examples/gl/GPUparticleSystemExample/src/testApp.cpp b/examples/gl/GPUparticleSystemExample/src/testApp.cpp index a5aaa40ee16..4312e5ea1a6 100644 --- a/examples/gl/GPUparticleSystemExample/src/testApp.cpp +++ b/examples/gl/GPUparticleSystemExample/src/testApp.cpp @@ -93,14 +93,8 @@ void testApp::update(){ updateVel.setUniform2f("screen", (float)width, (float)height); updateVel.setUniform1f("timestep", (float)timeStep); - // Just a frame to put pixels on - ofSetColor(255,255,255,255); - glBegin(GL_QUADS); - glTexCoord2f(0, 0); glVertex3f(0, 0, 0); - glTexCoord2f(textureRes, 0); glVertex3f(textureRes, 0, 0); - glTexCoord2f(textureRes, textureRes); glVertex3f( textureRes, textureRes, 0); - glTexCoord2f(0, textureRes); glVertex3f(0, textureRes, 0); - glEnd(); + // draw the source velocity texture to be updated + velPingPong.src->draw(0, 0); updateVel.end(); velPingPong.dst->end(); @@ -119,14 +113,8 @@ void testApp::update(){ updatePos.setUniformTexture("velData", velPingPong.src->getTextureReference(), 1); // Velocity updatePos.setUniform1f("timestep",(float) timeStep ); - // Just a frame to put pixels on - ofSetColor(255,255,255,255); - glBegin(GL_QUADS); - glTexCoord2f(0, 0); glVertex3f(0, 0, 0); - glTexCoord2f(textureRes, 0); glVertex3f(textureRes, 0, 0); - glTexCoord2f(textureRes, textureRes); glVertex3f( textureRes, textureRes, 0); - glTexCoord2f(0, textureRes); glVertex3f(0, textureRes, 0); - glEnd(); + // draw the source position texture to be updated + posPingPong.src->draw(0, 0); updatePos.end(); posPingPong.dst->end(); @@ -162,6 +150,7 @@ void testApp::update(){ for(int x = 0; x < textureRes; x++){ for(int y = 0; y < textureRes; y++){ glVertex2d(x,y); + glTexCoord2i(x, y); } } diff --git a/examples/gl/GPUparticleSystemExample/src/testApp.h b/examples/gl/GPUparticleSystemExample/src/testApp.h index 370c0a84790..f45dc9619f3 100644 --- a/examples/gl/GPUparticleSystemExample/src/testApp.h +++ b/examples/gl/GPUparticleSystemExample/src/testApp.h @@ -29,6 +29,7 @@ struct pingPongBuffer { // Allocate for(int i = 0; i < 2; i++){ FBOs[i].allocate(_width,_height, _internalformat ); + FBOs[i].getTextureReference().setTextureMinMagFilter(GL_NEAREST, GL_NEAREST); } // Clean diff --git a/examples/graphics/colorsExtended/addons.make b/examples/graphics/colorsExtended/addons.make new file mode 100644 index 00000000000..e69de29bb2d diff --git a/examples/graphics/colorsExtended/bin/data/.gitkeep b/examples/graphics/colorsExtended/bin/data/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/examples/graphics/colorsExtended/src/main.cpp b/examples/graphics/colorsExtended/src/main.cpp new file mode 100644 index 00000000000..4659dc9f7c3 --- /dev/null +++ b/examples/graphics/colorsExtended/src/main.cpp @@ -0,0 +1,16 @@ +#include "ofMain.h" +#include "testApp.h" +#include "ofAppGlutWindow.h" + +//======================================================================== +int main( ){ + + ofAppGlutWindow window; + ofSetupOpenGL(&window, 700,700, OF_WINDOW); // <-------- setup the GL context + + // this kicks off the running of my app + // can be OF_WINDOW or OF_FULLSCREEN + // pass in width and height too: + ofRunApp( new testApp()); + +} diff --git a/examples/graphics/colorsExtended/src/testApp.cpp b/examples/graphics/colorsExtended/src/testApp.cpp new file mode 100644 index 00000000000..a5c7597e689 --- /dev/null +++ b/examples/graphics/colorsExtended/src/testApp.cpp @@ -0,0 +1,308 @@ +#include "testApp.h" + +bool compareName( const colorNameMapping& s1, const colorNameMapping& s2 ) { + return strcasecmp( s1.name.c_str(), s2.name.c_str() ) <= 0; +} + +bool compareBrightness( const colorNameMapping& s1, const colorNameMapping& s2 ) { + return s1.color.getBrightness() < s2.color.getBrightness(); +} + +bool compareHue( const colorNameMapping& s1, const colorNameMapping& s2 ) { + return s1.color.getHue() < s2.color.getHue(); +} + +bool compareSaturation( const colorNameMapping& s1, const colorNameMapping& s2 ) { + return s1.color.getSaturation() < s2.color.getSaturation(); +} + +//-------------------------------------------------------------- +void testApp::setup(){ + + // build a map from name to ofColor of all the named OF colors; + + colorNameMap["white"] = ofColor::white; + colorNameMap["gray"] = ofColor::gray; + colorNameMap["black"] = ofColor::black; + colorNameMap["red"] = ofColor::red; + colorNameMap["green"] = ofColor::green; + colorNameMap["blue"] = ofColor::blue; + colorNameMap["cyan"] = ofColor::cyan; + colorNameMap["magenta"] = ofColor::magenta; + colorNameMap["yellow"] = ofColor::yellow; + colorNameMap["aliceBlue"] = ofColor::aliceBlue; + colorNameMap["antiqueWhite"] = ofColor::antiqueWhite; + colorNameMap["aqua"] = ofColor::aqua; + colorNameMap["aquamarine"] = ofColor::aquamarine; + colorNameMap["azure"] = ofColor::azure; + colorNameMap["beige"] = ofColor::beige; + colorNameMap["bisque"] = ofColor::bisque; + colorNameMap["blanchedAlmond"] = ofColor::blanchedAlmond; + colorNameMap["blueViolet"] = ofColor::blueViolet; + colorNameMap["brown"] = ofColor::brown; + colorNameMap["burlyWood"] = ofColor::burlyWood; + colorNameMap["cadetBlue"] = ofColor::cadetBlue; + colorNameMap["chartreuse"] = ofColor::chartreuse; + colorNameMap["chocolate"] = ofColor::chocolate; + colorNameMap["coral"] = ofColor::coral; + colorNameMap["cornflowerBlue"] = ofColor::cornflowerBlue; + colorNameMap["cornsilk"] = ofColor::cornsilk; + colorNameMap["crimson"] = ofColor::crimson; + colorNameMap["darkBlue"] = ofColor::darkBlue; + colorNameMap["darkCyan"] = ofColor::darkCyan; + colorNameMap["darkGoldenRod"] = ofColor::darkGoldenRod; + colorNameMap["darkGray"] = ofColor::darkGray; + colorNameMap["darkGrey"] = ofColor::darkGrey; + colorNameMap["darkGreen"] = ofColor::darkGreen; + colorNameMap["darkKhaki"] = ofColor::darkKhaki; + colorNameMap["darkMagenta"] = ofColor::darkMagenta; + colorNameMap["darkOliveGreen"] = ofColor::darkOliveGreen; + colorNameMap["darkorange"] = ofColor::darkorange; + colorNameMap["darkOrchid"] = ofColor::darkOrchid; + colorNameMap["darkRed"] = ofColor::darkRed; + colorNameMap["darkSalmon"] = ofColor::darkSalmon; + colorNameMap["darkSeaGreen"] = ofColor::darkSeaGreen; + colorNameMap["darkSlateBlue"] = ofColor::darkSlateBlue; + colorNameMap["darkSlateGray"] = ofColor::darkSlateGray; + colorNameMap["darkSlateGrey"] = ofColor::darkSlateGrey; + colorNameMap["darkTurquoise"] = ofColor::darkTurquoise; + colorNameMap["darkViolet"] = ofColor::darkViolet; + colorNameMap["deepPink"] = ofColor::deepPink; + colorNameMap["deepSkyBlue"] = ofColor::deepSkyBlue; + colorNameMap["dimGray"] = ofColor::dimGray; + colorNameMap["dimGrey"] = ofColor::dimGrey; + colorNameMap["dodgerBlue"] = ofColor::dodgerBlue; + colorNameMap["fireBrick"] = ofColor::fireBrick; + colorNameMap["floralWhite"] = ofColor::floralWhite; + colorNameMap["forestGreen"] = ofColor::forestGreen; + colorNameMap["fuchsia"] = ofColor::fuchsia; + colorNameMap["gainsboro"] = ofColor::gainsboro; + colorNameMap["ghostWhite"] = ofColor::ghostWhite; + colorNameMap["gold"] = ofColor::gold; + colorNameMap["goldenRod"] = ofColor::goldenRod; + colorNameMap["grey"] = ofColor::grey; + colorNameMap["greenYellow"] = ofColor::greenYellow; + colorNameMap["honeyDew"] = ofColor::honeyDew; + colorNameMap["hotPink"] = ofColor::hotPink; + colorNameMap["indianRed "] = ofColor::indianRed ; + colorNameMap["indigo "] = ofColor::indigo ; + colorNameMap["ivory"] = ofColor::ivory; + colorNameMap["khaki"] = ofColor::khaki; + colorNameMap["lavender"] = ofColor::lavender; + colorNameMap["lavenderBlush"] = ofColor::lavenderBlush; + colorNameMap["lawnGreen"] = ofColor::lawnGreen; + colorNameMap["lemonChiffon"] = ofColor::lemonChiffon; + colorNameMap["lightBlue"] = ofColor::lightBlue; + colorNameMap["lightCoral"] = ofColor::lightCoral; + colorNameMap["lightCyan"] = ofColor::lightCyan; + colorNameMap["lightGoldenRodYellow"] = ofColor::lightGoldenRodYellow; + colorNameMap["lightGray"] = ofColor::lightGray; + colorNameMap["lightGrey"] = ofColor::lightGrey; + colorNameMap["lightGreen"] = ofColor::lightGreen; + colorNameMap["lightPink"] = ofColor::lightPink; + colorNameMap["lightSalmon"] = ofColor::lightSalmon; + colorNameMap["lightSeaGreen"] = ofColor::lightSeaGreen; + colorNameMap["lightSkyBlue"] = ofColor::lightSkyBlue; + colorNameMap["lightSlateGray"] = ofColor::lightSlateGray; + colorNameMap["lightSlateGrey"] = ofColor::lightSlateGrey; + colorNameMap["lightSteelBlue"] = ofColor::lightSteelBlue; + colorNameMap["lightYellow"] = ofColor::lightYellow; + colorNameMap["lime"] = ofColor::lime; + colorNameMap["limeGreen"] = ofColor::limeGreen; + colorNameMap["linen"] = ofColor::linen; + colorNameMap["maroon"] = ofColor::maroon; + colorNameMap["mediumAquaMarine"] = ofColor::mediumAquaMarine; + colorNameMap["mediumBlue"] = ofColor::mediumBlue; + colorNameMap["mediumOrchid"] = ofColor::mediumOrchid; + colorNameMap["mediumPurple"] = ofColor::mediumPurple; + colorNameMap["mediumSeaGreen"] = ofColor::mediumSeaGreen; + colorNameMap["mediumSlateBlue"] = ofColor::mediumSlateBlue; + colorNameMap["mediumSpringGreen"] = ofColor::mediumSpringGreen; + colorNameMap["mediumTurquoise"] = ofColor::mediumTurquoise; + colorNameMap["mediumVioletRed"] = ofColor::mediumVioletRed; + colorNameMap["midnightBlue"] = ofColor::midnightBlue; + colorNameMap["mintCream"] = ofColor::mintCream; + colorNameMap["mistyRose"] = ofColor::mistyRose; + colorNameMap["moccasin"] = ofColor::moccasin; + colorNameMap["navajoWhite"] = ofColor::navajoWhite; + colorNameMap["navy"] = ofColor::navy; + colorNameMap["oldLace"] = ofColor::oldLace; + colorNameMap["olive"] = ofColor::olive; + colorNameMap["oliveDrab"] = ofColor::oliveDrab; + colorNameMap["orange"] = ofColor::orange; + colorNameMap["orangeRed"] = ofColor::orangeRed; + colorNameMap["orchid"] = ofColor::orchid; + colorNameMap["paleGoldenRod"] = ofColor::paleGoldenRod; + colorNameMap["paleGreen"] = ofColor::paleGreen; + colorNameMap["paleTurquoise"] = ofColor::paleTurquoise; + colorNameMap["paleVioletRed"] = ofColor::paleVioletRed; + colorNameMap["papayaWhip"] = ofColor::papayaWhip; + colorNameMap["peachPuff"] = ofColor::peachPuff; + colorNameMap["peru"] = ofColor::peru; + colorNameMap["pink"] = ofColor::pink; + colorNameMap["plum"] = ofColor::plum; + colorNameMap["powderBlue"] = ofColor::powderBlue; + colorNameMap["purple"] = ofColor::purple; + colorNameMap["rosyBrown"] = ofColor::rosyBrown; + colorNameMap["royalBlue"] = ofColor::royalBlue; + colorNameMap["saddleBrown"] = ofColor::saddleBrown; + colorNameMap["salmon"] = ofColor::salmon; + colorNameMap["sandyBrown"] = ofColor::sandyBrown; + colorNameMap["seaGreen"] = ofColor::seaGreen; + colorNameMap["seaShell"] = ofColor::seaShell; + colorNameMap["sienna"] = ofColor::sienna; + colorNameMap["silver"] = ofColor::silver; + colorNameMap["skyBlue"] = ofColor::skyBlue; + colorNameMap["slateBlue"] = ofColor::slateBlue; + colorNameMap["slateGray"] = ofColor::slateGray; + colorNameMap["slateGrey"] = ofColor::slateGrey; + colorNameMap["snow"] = ofColor::snow; + colorNameMap["springGreen"] = ofColor::springGreen; + colorNameMap["steelBlue"] = ofColor::steelBlue; + colorNameMap["tan"] = ofColor::tan; + colorNameMap["teal"] = ofColor::teal; + colorNameMap["thistle"] = ofColor::thistle; + colorNameMap["tomato"] = ofColor::tomato; + colorNameMap["turquoise"] = ofColor::turquoise; + colorNameMap["violet"] = ofColor::violet; + colorNameMap["wheat"] = ofColor::wheat; + colorNameMap["whiteSmoke"] = ofColor::whiteSmoke; + colorNameMap["yellowGreen"] = ofColor::yellowGreen; + + // this map is useful if we want to address the colors by string. + // since we might want to sort this, we can put them in a vector also + + for (int i = 0; i < colorNameMap.size(); i++){ + + map::iterator mapEntry = colorNameMap.begin(); + std::advance( mapEntry, i ); + + colorNameMapping mapping; + mapping.name = mapEntry->first; + mapping.color = mapEntry->second; + colorNames.push_back(mapping); + + } + + ofBackground(255); + + ofSetVerticalSync(true); + + ofEnableAlphaBlending(); + + + sortedType = 1; // by name, at the start + +} + +//-------------------------------------------------------------- +void testApp::update(){ + + // smoothing the mouse a bit over time + + mouseSmoothed = 0.95 * mouseSmoothed + 0.05 * ofPoint(mouseX, mouseY); + +} + +//-------------------------------------------------------------- +void testApp::draw(){ + + // calculate the total size needed to display all the colors + + float totalSize = (ceil(colorNameMap.size()/3.0)) * 50 - ofGetHeight() + 60; + + // map the smoothed mouse to this: + + float offset = ofMap(mouseSmoothed.y, 0, ofGetHeight(), 0, totalSize, true); + + // draw all the colors + // note this could be optimized, since we're drawing plenty that's offscreen here. + + + + for (int i = 0; i < colorNames.size(); i++){ + + int x = (i % 3) * ofGetWidth()/3.0; + int y = (floor(i / 3)) * 50; + + ofSetColor( colorNames[i].color ); + ofRect(0 + x, y - offset, (i%3 == 2) ? ofGetWidth() - x : ofGetWidth()/3.0, 50); + + ofDrawBitmapStringHighlight(colorNames[i].name, 20 + x, y -offset+30, ofColor::white, ofColor::black); + + } + + + + ofSetColor(0); + ofRect(0, ofGetHeight()-60, ofGetWidth(), 60); + ofDrawBitmapStringHighlight("press '1' to sort by name, '2' to sort by hue,\n'3' to sort by brightness, '4' to sort by saturation", 20, ofGetHeight()-60 + 30, ofColor::black, ofColor::white); + + +} + +//-------------------------------------------------------------- +void testApp::keyPressed(int key){ + + if (key == '1'){ + if (sortedType != 1){ + sortedType = 1; + ofSort(colorNames, compareName); + } + } else if (key == '2'){ + if (sortedType != 2){ + sortedType = 2; + ofSort(colorNames, compareHue); + } + } else if (key == '3'){ + if (sortedType != 3){ + sortedType = 3; + ofSort(colorNames, compareBrightness); + } + } else if (key == '4'){ + if (sortedType != 4){ + sortedType = 4; + ofSort(colorNames, compareSaturation); + } + } +} + +//-------------------------------------------------------------- +void testApp::keyReleased(int key){ + +} + +//-------------------------------------------------------------- +void testApp::mouseMoved(int x, int y ){ + +} + +//-------------------------------------------------------------- +void testApp::mouseDragged(int x, int y, int button){ + +} + +//-------------------------------------------------------------- +void testApp::mousePressed(int x, int y, int button){ + +} + +//-------------------------------------------------------------- +void testApp::mouseReleased(int x, int y, int button){ + +} + +//-------------------------------------------------------------- +void testApp::windowResized(int w, int h){ + +} + +//-------------------------------------------------------------- +void testApp::gotMessage(ofMessage msg){ + +} + +//-------------------------------------------------------------- +void testApp::dragEvent(ofDragInfo dragInfo){ + +} \ No newline at end of file diff --git a/examples/graphics/colorsExtended/src/testApp.h b/examples/graphics/colorsExtended/src/testApp.h new file mode 100644 index 00000000000..14ce6b45d84 --- /dev/null +++ b/examples/graphics/colorsExtended/src/testApp.h @@ -0,0 +1,35 @@ +#pragma once + +#include "ofMain.h" + +typedef struct { + string name; + ofColor color; +} colorNameMapping; + +class testApp : public ofBaseApp{ + + public: + void setup(); + void update(); + void draw(); + + void keyPressed (int key); + void keyReleased(int key); + void mouseMoved(int x, int y ); + void mouseDragged(int x, int y, int button); + void mousePressed(int x, int y, int button); + void mouseReleased(int x, int y, int button); + void windowResized(int w, int h); + void dragEvent(ofDragInfo dragInfo); + void gotMessage(ofMessage msg); + + map < string, ofColor > colorNameMap; + + vector < colorNameMapping > colorNames; + + ofPoint mouseSmoothed; + + int sortedType; // keep track of which sort we've done + +}; diff --git a/examples/graphics/fontShapesExample/src/testApp.h b/examples/graphics/fontShapesExample/src/testApp.h index c5e8a9eb64d..621c1d29cf8 100644 --- a/examples/graphics/fontShapesExample/src/testApp.h +++ b/examples/graphics/fontShapesExample/src/testApp.h @@ -2,7 +2,7 @@ #include "ofMain.h" -class testApp : public ofSimpleApp{ +class testApp : public ofBaseApp{ public: diff --git a/examples/ios/assimpExample/src/main.mm b/examples/ios/assimpExample/src/main.mm index 8f55ef298dd..0bec4aeea7c 100644 --- a/examples/ios/assimpExample/src/main.mm +++ b/examples/ios/assimpExample/src/main.mm @@ -5,6 +5,7 @@ int main( ){ ofAppiPhoneWindow * window = new ofAppiPhoneWindow(); + window->enableRetina(); window->enableDepthBuffer(); ofSetupOpenGL(window, 1024,768, OF_FULLSCREEN); // <-------- setup the GL context diff --git a/examples/ios/assimpExample/src/testApp.h b/examples/ios/assimpExample/src/testApp.h index cf5b2a1f1f9..fedfb329af7 100644 --- a/examples/ios/assimpExample/src/testApp.h +++ b/examples/ios/assimpExample/src/testApp.h @@ -28,19 +28,12 @@ class testApp : public ofxiPhoneApp{ void gotFocus(); void gotMemoryWarning(); void deviceOrientationChanged(int newOrientation); + + void loadModel(int modelIndex); - bool bAnimate; - bool bAnimateMouse; - float animationTime; ofxAssimpModelLoader model; - - ofVboMesh mesh; - ofPoint position; - float normScale; - ofPoint scale; - ofPoint sceneCenter; - ofMaterial material; - ofTexture tex; + int modelIndex; + int modelsTotal; ofLight light; }; diff --git a/examples/ios/assimpExample/src/testApp.mm b/examples/ios/assimpExample/src/testApp.mm index c914efadc8c..62825d95984 100644 --- a/examples/ios/assimpExample/src/testApp.mm +++ b/examples/ios/assimpExample/src/testApp.mm @@ -3,82 +3,87 @@ //-------------------------------------------------------------- void testApp::setup(){ - ofSetLogLevel(OF_LOG_VERBOSE); - - // we need GL_TEXTURE_2D for our models coords. - ofDisableArbTex(); - - if(model.loadModel("astroBoy_walk.dae", true)){ - model.setAnimation(0); - model.setPosition(ofGetWidth() / 2, (float)ofGetHeight() * 0.75 , 0); - //model.createLightsFromAiModel(); - //model.disableTextures(); - //model.disableMaterials(); - - mesh = model.getMesh(0); - position = model.getPosition(); - normScale = model.getNormalizedScale(); - scale = model.getScale(); - sceneCenter = model.getSceneCenter(); - material = model.getMaterialForMesh(0); - tex = model.getTextureForMesh(0); - } - - ofEnableBlendMode(OF_BLENDMODE_ALPHA); - - //some model / light stuff - glShadeModel(GL_SMOOTH); + ofSetLogLevel(OF_LOG_VERBOSE); + ofBackground(50, 0); + + ofDisableArbTex(); // we need GL_TEXTURE_2D for our models coords. + + glEnable(GL_DEPTH_TEST); + + glShadeModel(GL_SMOOTH); //some model / light stuff light.enable(); ofEnableSeparateSpecularLight(); + + modelIndex = 0; + modelsTotal = 5; + loadModel(modelIndex); +} - bAnimate = true; - bAnimateMouse = false; - animationTime = 0.0; +void testApp::loadModel(int modelIndex) { + ofPoint modelPosition(ofGetWidth() / 2, (float)ofGetHeight() * 0.75 , 0); + + switch(modelIndex){ + case 0: + model.loadModel("astroBoy_walk.dae"); + model.setPosition(modelPosition.x, modelPosition.y, modelPosition.z); + ofEnableSeparateSpecularLight(); + break; + case 1: + model.loadModel("TurbochiFromXSI.dae"); + model.setPosition(modelPosition.x, modelPosition.y, modelPosition.z); + model.setRotation(0, -180, 1, 0, 0); + model.setScale(1.2, 1.2, 1.2); + ofEnableSeparateSpecularLight(); + break; + case 2: + model.loadModel("dwarf.x"); + model.setPosition(modelPosition.x, modelPosition.y, modelPosition.z); + model.setScale(1.2, 1.2, 1.2); + ofDisableSeparateSpecularLight(); + break; + case 3: + model.loadModel("monster-animated-character-X.X"); + model.setPosition(modelPosition.x, modelPosition.y, modelPosition.z); + model.setRotation(0, -90, 0, 0, 1); + ofDisableSeparateSpecularLight(); + break; + case 4: + model.loadModel("squirrel/NewSquirrel.3ds"); + model.setPosition(modelPosition.x, modelPosition.y, modelPosition.z); + ofDisableSeparateSpecularLight(); + break; + default: + break; + } + + model.setLoopStateForAllAnimations(OF_LOOP_NORMAL); + model.playAllAnimations(); } //-------------------------------------------------------------- void testApp::update(){ - - //this is for animation if the model has it. - if( bAnimate ){ - animationTime += ofGetLastFrameTime(); - if(animationTime >= 1.0){ - animationTime = 0.0; - } - model.setNormalizedTime(animationTime); - mesh = model.getCurrentAnimatedMesh(0); - } - - - if( bAnimateMouse ){ - model.setNormalizedTime(animationTime); - mesh = model.getCurrentAnimatedMesh(0); - } - - + model.update(); } //-------------------------------------------------------------- void testApp::draw(){ - ofBackground(50, 50, 50, 0); - ofSetColor(255, 255, 255, 255); + ofSetColor(255); + ofEnableAlphaBlending(); //note we have to enable depth buffer in main.mm //see: window->enableDepthBuffer(); in main.mm glEnable(GL_DEPTH_TEST); ofPushMatrix(); - ofTranslate(model.getPosition().x, model.getPosition().y, 0); - ofRotate(-mouseX, 0, 1, 0); - ofTranslate(-model.getPosition().x, -model.getPosition().y, 0); - - model.drawFaces(); + ofTranslate(model.getPosition().x, model.getPosition().y, 0); + ofRotate(-mouseX, 0, 1, 0); + ofTranslate(-model.getPosition().x, -model.getPosition().y, 0); + model.drawFaces(); ofPopMatrix(); ofDrawBitmapString("fps: " + ofToString(ofGetFrameRate(), 2), 10, 15); - ofDrawBitmapString("fingers 2-5 load models", 10, 30); - ofDrawBitmapString("num animations for this model: " + ofToString(model.getAnimationCount()), 10, 45); - + ofDrawBitmapString("num animations for this model: " + ofToString(model.getAnimationCount()), 10, 30); + ofDrawBitmapString("double tap to change model", 10, 60); } //-------------------------------------------------------------- @@ -88,49 +93,7 @@ //-------------------------------------------------------------- void testApp::touchDown(ofTouchEventArgs & touch){ - - if(touch.id >= 1){ - - switch(touch.id){ - - case 1: - model.loadModel("dwarf.x"); - model.setPosition(ofGetWidth() / 2, (float)ofGetHeight() * 0.75 , 0); - model.setScale(1.2, 1.2, 1.2); - ofDisableSeparateSpecularLight(); - break; - case 2: - model.loadModel("TurbochiFromXSI.dae"); - model.setPosition(ofGetWidth() / 2, (float)ofGetHeight() * 0.75 , 0); - model.setRotation(0, 90, 1, 0, 0); - model.setScale(1.2, 1.2, 1.2); - ofEnableSeparateSpecularLight(); - break; - case 3: - model.loadModel("squirrel/NewSquirrel.3ds"); - model.setPosition(ofGetWidth() / 2, (float)ofGetHeight() * 0.75 , 0); - model.setRotation(0, -90, 1, 0, 0); - ofDisableSeparateSpecularLight(); - break; - case 4: - model.loadModel("astroBoy_walk.dae"); - model.setPosition(ofGetWidth() / 2, (float)ofGetHeight() * 0.75 , 0); - ofEnableSeparateSpecularLight(); - break; - - default: - break; - } - - - mesh = model.getMesh(0); - position = model.getPosition(); - normScale = model.getNormalizedScale(); - scale = model.getScale(); - sceneCenter = model.getSceneCenter(); - material = model.getMaterialForMesh(0); - tex = model.getTextureForMesh(0); - } + } //-------------------------------------------------------------- @@ -145,7 +108,10 @@ //-------------------------------------------------------------- void testApp::touchDoubleTap(ofTouchEventArgs & touch){ - + if(++modelIndex > modelsTotal - 1){ + modelIndex = 0; + } + loadModel(modelIndex); } //-------------------------------------------------------------- diff --git a/examples/video/videoGrabberExample/src/testApp.cpp b/examples/video/videoGrabberExample/src/testApp.cpp index daf48ac617b..e1c14581bfc 100644 --- a/examples/video/videoGrabberExample/src/testApp.cpp +++ b/examples/video/videoGrabberExample/src/testApp.cpp @@ -7,10 +7,13 @@ void testApp::setup(){ camHeight = 240; vidGrabber.setVerbose(true); + vidGrabber.setDeviceID(1); + vidGrabber.setDesiredFrameRate(60); vidGrabber.initGrabber(camWidth,camHeight); videoInverted = new unsigned char[camWidth*camHeight*3]; videoTexture.allocate(camWidth,camHeight, GL_RGB); + ofSetVerticalSync(true); } diff --git a/examples/video/videoPlayerExample/src/testApp.cpp b/examples/video/videoPlayerExample/src/testApp.cpp index 6dd6098cab0..7d78b0cacfb 100644 --- a/examples/video/videoPlayerExample/src/testApp.cpp +++ b/examples/video/videoPlayerExample/src/testApp.cpp @@ -3,7 +3,7 @@ //-------------------------------------------------------------- void testApp::setup(){ ofBackground(255,255,255); - + ofSetVerticalSync(true); frameByframe = false; // Uncomment this to show movies with alpha channels diff --git a/export/vs2010/FreeImage.dll b/export/vs2010/FreeImage.dll index e5b1afe441c..2155170ecc0 100644 Binary files a/export/vs2010/FreeImage.dll and b/export/vs2010/FreeImage.dll differ diff --git a/libs/FreeImage/include/FreeImage.h b/libs/FreeImage/include/FreeImage.h index 33df0aa132c..ff60dd6facf 100755 --- a/libs/FreeImage/include/FreeImage.h +++ b/libs/FreeImage/include/FreeImage.h @@ -29,8 +29,8 @@ // Version information ------------------------------------------------------ #define FREEIMAGE_MAJOR_VERSION 3 -#define FREEIMAGE_MINOR_VERSION 14 -#define FREEIMAGE_RELEASE_SERIAL 1 +#define FREEIMAGE_MINOR_VERSION 15 +#define FREEIMAGE_RELEASE_SERIAL 3 // Compiler options --------------------------------------------------------- @@ -136,18 +136,22 @@ FI_STRUCT (FIMULTIBITMAP) { void *data; }; #ifndef _MSC_VER // define portable types for 32-bit / 64-bit OS #include -#define BOOL int32_t -#define BYTE uint8_t -#define WORD uint16_t -#define DWORD uint32_t -#define LONG int32_t +typedef int32_t BOOL; +typedef uint8_t BYTE; +typedef uint16_t WORD; +typedef uint32_t DWORD; +typedef int32_t LONG; +typedef int64_t FIINT64; +typedef uint64_t FIUINT64; #else // MS is not C99 ISO compliant -#define BOOL long -#define BYTE unsigned char -#define WORD unsigned short -#define DWORD unsigned long -#define LONG long +typedef long BOOL; +typedef unsigned char BYTE; +typedef unsigned short WORD; +typedef unsigned long DWORD; +typedef long LONG; +typedef signed __int64 FIINT64; +typedef unsigned __int64 FIUINT64; #endif // _MSC_VER #if (defined(_WIN32) || defined(__WIN32__)) @@ -525,7 +529,10 @@ FI_ENUM(FREE_IMAGE_MDTYPE) { FIDT_FLOAT = 11, // 32-bit IEEE floating point FIDT_DOUBLE = 12, // 64-bit IEEE floating point FIDT_IFD = 13, // 32-bit unsigned integer (offset) - FIDT_PALETTE = 14 // 32-bit RGBQUAD + FIDT_PALETTE = 14, // 32-bit RGBQUAD + FIDT_LONG8 = 16, // 64-bit unsigned integer + FIDT_SLONG8 = 17, // 64-bit signed integer + FIDT_IFD8 = 18 // 64-bit unsigned integer (offset) }; /** @@ -682,6 +689,7 @@ typedef void (DLL_CALLCONV *FI_InitProc)(Plugin *plugin, int format_id); #define JPEG_SUBSAMPLING_422 0x8000 // save with low 2x1 chroma subsampling (4:2:2) #define JPEG_SUBSAMPLING_444 0x10000 // save with no chroma subsampling (4:4:4) #define JPEG_OPTIMIZE 0x20000 // on saving, compute optimal Huffman coding tables (can reduce a few percent of file size) +#define JPEG_BASELINE 0x40000 // save basic JPEG, without metadata or any markers #define KOALA_DEFAULT 0 #define LBM_DEFAULT 0 #define MNG_DEFAULT 0 @@ -709,6 +717,7 @@ typedef void (DLL_CALLCONV *FI_InitProc)(Plugin *plugin, int format_id); #define RAW_DEFAULT 0 // load the file as linear RGB 48-bit #define RAW_PREVIEW 1 // try to load the embedded JPEG preview with included Exif Data or default to RGB 24-bit #define RAW_DISPLAY 2 // load the file as RGB 24-bit +#define RAW_HALFSIZE 4 // output a half-size color image #define SGI_DEFAULT 0 #define TARGA_DEFAULT 0 #define TARGA_LOAD_RGB888 1 // If set the loader converts RGB555 and ARGB8888 -> RGB888. @@ -896,6 +905,8 @@ DLL_API BOOL DLL_CALLCONV FreeImage_HasBackgroundColor(FIBITMAP *dib); DLL_API BOOL DLL_CALLCONV FreeImage_GetBackgroundColor(FIBITMAP *dib, RGBQUAD *bkcolor); DLL_API BOOL DLL_CALLCONV FreeImage_SetBackgroundColor(FIBITMAP *dib, RGBQUAD *bkcolor); +DLL_API FIBITMAP *DLL_CALLCONV FreeImage_GetThumbnail(FIBITMAP *dib); +DLL_API BOOL DLL_CALLCONV FreeImage_SetThumbnail(FIBITMAP *dib, FIBITMAP *thumbnail); // ICC profile routines ----------------------------------------------------- @@ -961,6 +972,8 @@ DLL_API void DLL_CALLCONV FreeImage_ConvertToRawBits(BYTE *bits, FIBITMAP *dib, DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ConvertToFloat(FIBITMAP *dib); DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ConvertToRGBF(FIBITMAP *dib); +DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ConvertToUINT16(FIBITMAP *dib); +DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ConvertToRGB16(FIBITMAP *dib); DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ConvertToStandardType(FIBITMAP *src, BOOL scale_linear FI_DEFAULT(TRUE)); DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ConvertToType(FIBITMAP *src, FREE_IMAGE_TYPE dst_type, BOOL scale_linear FI_DEFAULT(TRUE)); @@ -1087,10 +1100,4 @@ DLL_API FIBITMAP *DLL_CALLCONV FreeImage_MultigridPoissonSolver(FIBITMAP *Laplac } #endif -#undef BOOL -#undef BYTE -#undef WORD -#undef DWORD -#undef LONG - #endif // FREEIMAGE_H diff --git a/libs/FreeImage/lib/vs2010/FreeImage.lib b/libs/FreeImage/lib/vs2010/FreeImage.lib index 0d4ad3ddd37..801680cfbfc 100644 Binary files a/libs/FreeImage/lib/vs2010/FreeImage.lib and b/libs/FreeImage/lib/vs2010/FreeImage.lib differ diff --git a/libs/fmodex/lib/osx/libfmodex.dylib b/libs/fmodex/lib/osx/libfmodex.dylib index e868efe1987..bea90a1db4d 100644 Binary files a/libs/fmodex/lib/osx/libfmodex.dylib and b/libs/fmodex/lib/osx/libfmodex.dylib differ diff --git a/libs/freetype/lib/linux/libfreetype.a b/libs/freetype/lib/linux/libfreetype.a deleted file mode 100644 index bdc906f1f60..00000000000 Binary files a/libs/freetype/lib/linux/libfreetype.a and /dev/null differ diff --git a/libs/freetype/lib/linux64/libfreetype.a b/libs/freetype/lib/linux64/libfreetype.a deleted file mode 100644 index 538bf0fdde2..00000000000 Binary files a/libs/freetype/lib/linux64/libfreetype.a and /dev/null differ diff --git a/libs/openFrameworks/.cproject b/libs/openFrameworks/.cproject index f2109945d5e..86323b87460 100644 --- a/libs/openFrameworks/.cproject +++ b/libs/openFrameworks/.cproject @@ -1,7 +1,5 @@ - - - + diff --git a/libs/openFrameworks/.project b/libs/openFrameworks/.project index 6578151cb02..f4e0fdf9d2e 100644 --- a/libs/openFrameworks/.project +++ b/libs/openFrameworks/.project @@ -80,9 +80,9 @@ - linux64 + project 2 - /home/arturo/Desktop/openFrameworks/libs/openFrameworksCompiled/project/linux64 + $%7BPARENT-1-PROJECT_LOC%7D/openFrameworksCompiled/project diff --git a/libs/openFrameworks/3d/ofCamera.cpp b/libs/openFrameworks/3d/ofCamera.cpp index 3830a33cef3..fd12527858d 100644 --- a/libs/openFrameworks/3d/ofCamera.cpp +++ b/libs/openFrameworks/3d/ofCamera.cpp @@ -10,12 +10,14 @@ #include "ofCamera.h" #include "ofLog.h" - +//---------------------------------------- ofCamera::ofCamera() : isOrtho(false), fov(60), nearClip(0), farClip(0), +lensOffset(0.0f, 0.0f), +forceAspectRatio(false), isActive(false) { } @@ -25,10 +27,6 @@ void ofCamera::setFov(float f) { fov = f; } -float ofCamera::getFov(){ - return fov; -} - //---------------------------------------- void ofCamera::setNearClip(float f) { nearClip = f; @@ -40,7 +38,23 @@ void ofCamera::setFarClip(float f) { } //---------------------------------------- -void ofCamera::setupPerspective(bool vFlip, float fov, float nearDist, float farDist){ +void ofCamera::setLensOffset(const ofVec2f & lensOffset){ + this->lensOffset = lensOffset; +} + +//---------------------------------------- +void ofCamera::setAspectRatio(float aspectRatio){ + this->aspectRatio = aspectRatio; + setForceAspectRatio(true); +} + +//---------------------------------------- +void ofCamera::setForceAspectRatio(bool forceAspectRatio){ + this->forceAspectRatio = forceAspectRatio; +} + +//---------------------------------------- +void ofCamera::setupPerspective(bool vFlip, float fov, float nearDist, float farDist, const ofVec2f & lensOffset){ float viewW = ofGetViewportWidth(); float viewH = ofGetViewportHeight(); @@ -56,16 +70,41 @@ void ofCamera::setupPerspective(bool vFlip, float fov, float nearDist, float far setFov(fov); setNearClip(nearDist); setFarClip(farDist); + setLensOffset(lensOffset); + setForceAspectRatio(false); setPosition(eyeX,eyeY,dist); lookAt(ofVec3f(eyeX,eyeY,0),ofVec3f(0,1,0)); - if(vFlip){ setScale(1,-1,1); } } +//---------------------------------------- +void ofCamera::setupOffAxisViewPortal(const ofVec3f & topLeft, const ofVec3f & bottomLeft, const ofVec3f & bottomRight){ + ofVec3f bottomEdge = bottomRight - bottomLeft; // plane x axis + ofVec3f leftEdge = topLeft - bottomLeft; // plane y axis + ofVec3f bottomEdgeNorm = bottomEdge.normalized(); + ofVec3f leftEdgeNorm = leftEdge.normalized(); + ofVec3f bottomLeftToCam = this->getPosition() - bottomLeft; + + ofVec3f cameraLookVector = leftEdgeNorm.getCrossed(bottomEdgeNorm); + + ofVec3f cameraUpVector = bottomEdgeNorm.getCrossed(cameraLookVector); + + this->lookAt(cameraLookVector + this->getPosition(), cameraUpVector); + + //lensoffset + ofVec2f lensOffset; + lensOffset.x = -bottomLeftToCam.dot(bottomEdgeNorm) * 2.0f / bottomEdge.length() + 1.0f; + lensOffset.y = -bottomLeftToCam.dot(leftEdgeNorm) * 2.0f / leftEdge.length() + 1.0f; + setLensOffset(lensOffset); + setAspectRatio( bottomEdge.length() / leftEdge.length() ); + float distanceAlongOpticalAxis = abs(bottomLeftToCam.dot(cameraLookVector)); + setFov(2.0f * RAD_TO_DEG * atan( (leftEdge.length() / 2.0f) / distanceAlongOpticalAxis)); +} + //---------------------------------------- void ofCamera::enableOrtho() { isOrtho = true; @@ -89,7 +128,7 @@ float ofCamera::getImagePlaneDistance(ofRectangle viewport) const { //---------------------------------------- void ofCamera::begin(ofRectangle viewport) { if(!isActive) ofPushView(); - isActive = true; + isActive = true; ofSetCoordHandedness(OF_RIGHT_HANDED); @@ -110,11 +149,7 @@ void ofCamera::begin(ofRectangle viewport) { ofLoadMatrix( ortho ); #endif } else { - - ofMatrix4x4 persp; - persp.makePerspectiveMatrix( fov, viewport.width/viewport.height, nearClip, farClip ); - ofLoadMatrix( persp ); - //gluPerspective(fov, viewport.width/viewport.height, nearClip, farClip); + ofLoadMatrix( this->getProjectionMatrix() ); } glMatrixMode(GL_MODELVIEW); @@ -133,8 +168,10 @@ void ofCamera::end() { } //---------------------------------------- ofMatrix4x4 ofCamera::getProjectionMatrix(ofRectangle viewport) { + float aspect = forceAspectRatio ? aspectRatio : viewport.width/viewport.height; ofMatrix4x4 matProjection; - matProjection.makePerspectiveMatrix(fov, viewport.width/viewport.height, nearClip, farClip); + matProjection.makePerspectiveMatrix(fov, aspect, nearClip, farClip); + matProjection.translate(-lensOffset.x, -lensOffset.y, 0); return matProjection; } //---------------------------------------- @@ -150,7 +187,7 @@ ofMatrix4x4 ofCamera::getModelViewProjectionMatrix(ofRectangle viewport) { //---------------------------------------- ofVec3f ofCamera::worldToScreen(ofVec3f WorldXYZ, ofRectangle viewport) { - ofVec3f CameraXYZ = WorldXYZ * getModelViewProjectionMatrix(); + ofVec3f CameraXYZ = WorldXYZ * getModelViewProjectionMatrix(viewport); ofVec3f ScreenXYZ; ScreenXYZ.x = (CameraXYZ.x + 1.0f) / 2.0f * viewport.width + viewport.x; diff --git a/libs/openFrameworks/3d/ofCamera.h b/libs/openFrameworks/3d/ofCamera.h index eb56bdad29a..73e2bd53614 100644 --- a/libs/openFrameworks/3d/ofCamera.h +++ b/libs/openFrameworks/3d/ofCamera.h @@ -31,17 +31,21 @@ class ofCamera : public ofNode { void setFov(float f); void setNearClip(float f); void setFarClip(float f); - + void setLensOffset(const ofVec2f & lensOffset); + void setAspectRatio(float aspectRatio); + void setForceAspectRatio(bool forceAspectRatio); + float getFov() const { return fov; }; float getNearClip() const { return nearClip; }; float getFarClip() const { return farClip; }; + ofVec2f getLensOffset() const { return lensOffset; }; + + void setupPerspective(bool vFlip = true, float fov = 60, float nearDist = 0, float farDist = 0, const ofVec2f & lensOffset = ofVec2f(0.0f, 0.0f)); + void setupOffAxisViewPortal(const ofVec3f & topLeft, const ofVec3f & bottomLeft, const ofVec3f & bottomRight); - void setupPerspective(bool vFlip = true, float fov = 60, float nearDist = 0, float farDist = 0); - void enableOrtho(); void disableOrtho(); bool getOrtho() const; - float getFov(); float getImagePlaneDistance(ofRectangle viewport = ofGetCurrentViewport()) const; @@ -68,6 +72,9 @@ class ofCamera : public ofNode { float fov; float nearClip; float farClip; + ofVec2f lensOffset; + bool forceAspectRatio; + float aspectRatio; // only used when forceAspect=true, = w / h bool isActive; }; diff --git a/libs/openFrameworks/3d/ofEasyCam.cpp b/libs/openFrameworks/3d/ofEasyCam.cpp index 2c1323854af..ccf7b69969f 100644 --- a/libs/openFrameworks/3d/ofEasyCam.cpp +++ b/libs/openFrameworks/3d/ofEasyCam.cpp @@ -26,7 +26,7 @@ ofEasyCam::ofEasyCam(){ bInsideArcball = true; bValidClick = false; bEnableMouseMiddleButton = true; - + bAutoDistance = true; doTranslationKey = 'm'; reset(); @@ -40,10 +40,11 @@ ofEasyCam::~ofEasyCam(){ } //---------------------------------------- void ofEasyCam::update(ofEventArgs & args){ - if(bMouseInputEnabled){ - if(!bDistanceSet){ - setDistance(getImagePlaneDistance(viewport), true); - } + if(!bDistanceSet && bAutoDistance){ + setDistance(getImagePlaneDistance(viewport), true); + } + if(bMouseInputEnabled){ + rotationFactor = sensitivityRot * 180 / min(viewport.width, viewport.height); if (bMouseInputEnabled) { updateMouse(); @@ -114,6 +115,13 @@ float ofEasyCam::getDistance() const { return target.getPosition().distance(getPosition()); } //---------------------------------------- +void ofEasyCam::setAutoDistance(bool bAutoDistance){ + this->bAutoDistance = bAutoDistance; + if (bAutoDistance) { + bDistanceSet = false; + } +} +//---------------------------------------- void ofEasyCam::setDrag(float drag){ this->drag = drag; } @@ -231,10 +239,10 @@ void ofEasyCam::updateMouse(){ moveY = 0; moveZ = 0; if (ofGetMousePressed(2)) { - moveZ = mouseVel.y * sensitivityZ * getDistance() / viewport.height; + moveZ = mouseVel.y * sensitivityZ * (getDistance() + FLT_EPSILON)/ viewport.height; }else { - moveX = -mouseVel.x * sensitivityXY * getDistance() /viewport.width; - moveY = mouseVel.y * sensitivityXY * getDistance() /viewport.height; + moveX = -mouseVel.x * sensitivityXY * (getDistance() + FLT_EPSILON)/viewport.width; + moveY = mouseVel.y * sensitivityXY * (getDistance() + FLT_EPSILON)/viewport.height; } }else { xRot = 0; diff --git a/libs/openFrameworks/3d/ofEasyCam.h b/libs/openFrameworks/3d/ofEasyCam.h index 899d9678a47..0abe56e1911 100644 --- a/libs/openFrameworks/3d/ofEasyCam.h +++ b/libs/openFrameworks/3d/ofEasyCam.h @@ -46,6 +46,7 @@ class ofEasyCam : public ofCamera { void disableMouseMiddleButton(); bool getMouseMiddleButtonEnabled(); + void setAutoDistance(bool bAutoDistance); private: void setDistance(float distance, bool save); @@ -61,7 +62,7 @@ class ofEasyCam : public ofCamera { bool bInsideArcball; bool bMouseInputEnabled; bool bDistanceSet; - + bool bAutoDistance; float lastDistance; float drag; diff --git a/libs/openFrameworks/3d/ofMesh.cpp b/libs/openFrameworks/3d/ofMesh.cpp index 44573fcc685..8cdb01782d9 100644 --- a/libs/openFrameworks/3d/ofMesh.cpp +++ b/libs/openFrameworks/3d/ofMesh.cpp @@ -725,7 +725,6 @@ void ofMesh::load(string path){ int orderVertices=-1; int orderIndices=-1; - int orderNormals=-1; int vertexCoordsFound=0; int colorCompsFound=0; @@ -735,11 +734,12 @@ void ofMesh::load(string path){ int currentVertex = 0; int currentNormal = 0; int currentFace = 0; + + bool floatColor = false; enum State{ Header, VertexDef, - NormalDef, FaceDef, Vertices, Normals, @@ -772,23 +772,16 @@ void ofMesh::load(string path){ continue; } - if((state==Header || state==NormalDef || state==FaceDef) && line.find("element vertex")==0){ + if((state==Header || state==FaceDef) && line.find("element vertex")==0){ state = VertexDef; - orderVertices = MAX(orderIndices, orderNormals)+1; + orderVertices = MAX(orderIndices, 0)+1; data.getVertices().resize(ofToInt(line.substr(15))); continue; } - if((state==Header || state==VertexDef || state==FaceDef) && line.find("element normal")==0){ - state = NormalDef; - orderNormals = MAX(orderIndices, orderVertices)+1; - data.getNormals().resize(ofToInt(line.substr(15))); - continue; - } - - if((state==Header || state==NormalDef || state==VertexDef) && line.find("element face")==0){ + if((state==Header || state==VertexDef) && line.find("element face")==0){ state = FaceDef; - orderIndices = MAX(orderVertices, orderNormals)+1; + orderIndices = MAX(orderVertices, 0)+1; data.getIndices().resize(ofToInt(line.substr(13))*3); continue; } @@ -801,6 +794,14 @@ void ofMesh::load(string path){ if(state==VertexDef && (line.find("property float r")==0 || line.find("property float g")==0 || line.find("property float b")==0 || line.find("property float a")==0)){ colorCompsFound++; data.getColors().resize(data.getVertices().size()); + floatColor = true; + continue; + } + + if(state==VertexDef && (line.find("property uchar red")==0 || line.find("property uchar green")==0 || line.find("property uchar blue")==0 || line.find("property uchar alpha")==0)){ + colorCompsFound++; + data.getColors().resize(data.getVertices().size()); + floatColor = false; continue; } @@ -810,8 +811,9 @@ void ofMesh::load(string path){ continue; } - if(state==NormalDef && (line.find("property float x")==0 || line.find("property float y")==0 || line.find("property float z")==0)){ + if(state==VertexDef && (line.find("property float nx")==0 || line.find("property float ny")==0 || line.find("property float nz")==0)){ normalsCoordsFound++; + if (normalsCoordsFound==3) data.getNormals().resize(data.getVertices().size()); continue; } @@ -825,22 +827,19 @@ void ofMesh::load(string path){ error = "data has color coordiantes but not correct number of components. Found " + ofToString(colorCompsFound) + " expecting 3 or 4"; goto clean; } - if(data.hasNormals() && colorCompsFound!=3 && colorCompsFound!=4){ - error = "data has color coordiantes but not correct number of components. Found " + ofToString(colorCompsFound) + " expecting 3 or 4"; + if(data.hasNormals() && normalsCoordsFound!=3){ + error = "data has normal coordiantes but not correct number of components. Found " + ofToString(normalsCoordsFound) + " expecting 3"; goto clean; } if(!data.hasVertices()){ ofLogWarning() << "mesh without vertices"; } if(orderVertices==-1) orderVertices=9999; - if(orderNormals==-1) orderNormals=9999; if(orderIndices==-1) orderIndices=9999; - if(orderVertices0){ - ofColor c; - sline >> c.r; - sline >> c.g; - sline >> c.b; - if(colorCompsFound>3) sline >> c.a; - data.getColors()[currentVertex] = c; + if (floatColor){ + ofFloatColor c; + sline >> c.r; + sline >> c.g; + sline >> c.b; + if(colorCompsFound>3) sline >> c.a; + data.getColors()[currentVertex] = c; + }else{ + int r, g, b, a = 255; + sline >> r; + sline >> g; + sline >> b; + if(colorCompsFound>3) sline >> a; + data.getColors()[currentVertex] = ofColor(r, g, b, a); + } } if(texCoordsFound>0){ @@ -870,32 +878,21 @@ void ofMesh::load(string path){ sline >> uv.y; data.getTexCoords()[currentVertex] = uv; } + + if (normalsCoordsFound>0){ + ofVec3f n; + sline >> n.x; + sline >> n.y; + sline >> n.z; + data.getNormals()[currentVertex] = n; + } + currentVertex++; if(currentVertex==data.getNumVertices()){ - if(orderNormals> v.x; - sline >> v.y; - sline >> v.z; - data.getNormals()[currentNormal] = v; - - currentNormal++; - if(currentNormal==data.getNumNormals()){ if(orderVerticesmouseY = 0; } +#ifndef TARGET_ANDROID atexit(ofExitCallback); +#endif #ifdef WIN32_HIGH_RES_TIMING timeBeginPeriod(1); // ! experimental, sets high res time @@ -152,7 +154,9 @@ void ofRunApp(ofPtr OFSA){ OFSAptr->mouseY = 0; } +#ifndef TARGET_ANDROID atexit(ofExitCallback); +#endif #ifdef WIN32_HIGH_RES_TIMING timeBeginPeriod(1); // ! experimental, sets high res time diff --git a/libs/openFrameworks/events/ofEventUtils.h b/libs/openFrameworks/events/ofEventUtils.h index a0e2f82670c..91a064d9cb1 100644 --- a/libs/openFrameworks/events/ofEventUtils.h +++ b/libs/openFrameworks/events/ofEventUtils.h @@ -1,11 +1,7 @@ -#ifndef _OF_EVENTS -#error "ofEventUtils shouldn't be included directly, include ofEvents.h or ofMain.h" -#endif +#pragma once #include "ofConstants.h" -#ifdef OF_USING_POCO - #include "Poco/FIFOEvent.h" #include "Poco/Delegate.h" @@ -110,4 +106,3 @@ static void ofNotifyEvent(EventType & event, const ArgumentsType & args){ event.notify(NULL,args); } -#endif diff --git a/libs/openFrameworks/events/ofEvents.cpp b/libs/openFrameworks/events/ofEvents.cpp index b2ec2907979..0bdab359a90 100644 --- a/libs/openFrameworks/events/ofEvents.cpp +++ b/libs/openFrameworks/events/ofEvents.cpp @@ -6,14 +6,12 @@ #include // core events instance & arguments -#ifdef OF_USING_POCO - ofCoreEvents & ofEvents(){ - static ofCoreEvents * events = new ofCoreEvents; - return *events; - } +ofCoreEvents & ofEvents(){ + static ofCoreEvents * events = new ofCoreEvents; + return *events; +} - ofEventArgs voidEventArgs; -#endif +ofEventArgs voidEventArgs; static int currentMouseX=0, currentMouseY=0; @@ -76,9 +74,7 @@ void ofNotifySetup(){ if(ofAppPtr){ ofAppPtr->setup(); } - #ifdef OF_USING_POCO - ofNotifyEvent( ofEvents().setup, voidEventArgs ); - #endif + ofNotifyEvent( ofEvents().setup, voidEventArgs ); } //------------------------------------------ @@ -90,9 +86,7 @@ void ofNotifyUpdate(){ if(ofAppPtr){ ofAppPtr->update(); } - #ifdef OF_USING_POCO - ofNotifyEvent( ofEvents().update, voidEventArgs ); - #endif + ofNotifyEvent( ofEvents().update, voidEventArgs ); } //------------------------------------------ @@ -102,9 +96,7 @@ void ofNotifyDraw(){ if(ofAppPtr){ ofAppPtr->draw(); } - #ifdef OF_USING_POCO - ofNotifyEvent( ofEvents().draw, voidEventArgs ); - #endif + ofNotifyEvent( ofEvents().draw, voidEventArgs ); } //------------------------------------------ @@ -118,10 +110,8 @@ void ofNotifyKeyPressed(int key){ ofAppPtr->keyPressed(key); } - #ifdef OF_USING_POCO - keyEventArgs.key = key; - ofNotifyEvent( ofEvents().keyPressed, keyEventArgs ); - #endif + keyEventArgs.key = key; + ofNotifyEvent( ofEvents().keyPressed, keyEventArgs ); if (key == OF_KEY_ESC && bEscQuits == true){ // "escape" @@ -142,10 +132,8 @@ void ofNotifyKeyReleased(int key){ ofAppPtr->keyReleased(key); } - #ifdef OF_USING_POCO - keyEventArgs.key = key; - ofNotifyEvent( ofEvents().keyReleased, keyEventArgs ); - #endif + keyEventArgs.key = key; + ofNotifyEvent( ofEvents().keyReleased, keyEventArgs ); } //------------------------------------------ @@ -171,12 +159,10 @@ void ofNotifyMousePressed(int x, int y, int button){ ofAppPtr->mouseY = y; } - #ifdef OF_USING_POCO - mouseEventArgs.x = x; - mouseEventArgs.y = y; - mouseEventArgs.button = button; - ofNotifyEvent( ofEvents().mousePressed, mouseEventArgs ); - #endif + mouseEventArgs.x = x; + mouseEventArgs.y = y; + mouseEventArgs.button = button; + ofNotifyEvent( ofEvents().mousePressed, mouseEventArgs ); } //------------------------------------------ @@ -204,12 +190,10 @@ void ofNotifyMouseReleased(int x, int y, int button){ ofAppPtr->mouseY = y; } - #ifdef OF_USING_POCO - mouseEventArgs.x = x; - mouseEventArgs.y = y; - mouseEventArgs.button = button; - ofNotifyEvent( ofEvents().mouseReleased, mouseEventArgs ); - #endif + mouseEventArgs.x = x; + mouseEventArgs.y = y; + mouseEventArgs.button = button; + ofNotifyEvent( ofEvents().mouseReleased, mouseEventArgs ); } //------------------------------------------ @@ -235,12 +219,10 @@ void ofNotifyMouseDragged(int x, int y, int button){ ofAppPtr->mouseY = y; } - #ifdef OF_USING_POCO - mouseEventArgs.x = x; - mouseEventArgs.y = y; - mouseEventArgs.button = button; - ofNotifyEvent( ofEvents().mouseDragged, mouseEventArgs ); - #endif + mouseEventArgs.x = x; + mouseEventArgs.y = y; + mouseEventArgs.button = button; + ofNotifyEvent( ofEvents().mouseDragged, mouseEventArgs ); } //------------------------------------------ @@ -265,11 +247,9 @@ void ofNotifyMouseMoved(int x, int y){ ofAppPtr->mouseY = y; } - #ifdef OF_USING_POCO - mouseEventArgs.x = x; - mouseEventArgs.y = y; - ofNotifyEvent( ofEvents().mouseMoved, mouseEventArgs ); - #endif + mouseEventArgs.x = x; + mouseEventArgs.y = y; + ofNotifyEvent( ofEvents().mouseMoved, mouseEventArgs ); } //------------------------------------------ @@ -278,9 +258,7 @@ void ofNotifyExit(){ if(ofAppPtr){ ofAppPtr->exit(); } - #ifdef OF_USING_POCO - ofNotifyEvent( ofEvents().exit, voidEventArgs ); - #endif + ofNotifyEvent( ofEvents().exit, voidEventArgs ); } //------------------------------------------ @@ -292,11 +270,9 @@ void ofNotifyWindowResized(int width, int height){ ofAppPtr->windowResized(width, height); } - #ifdef OF_USING_POCO - resizeEventArgs.width = width; - resizeEventArgs.height = height; - ofNotifyEvent( ofEvents().windowResized, resizeEventArgs ); - #endif + resizeEventArgs.width = width; + resizeEventArgs.height = height; + ofNotifyEvent( ofEvents().windowResized, resizeEventArgs ); } //------------------------------------------ @@ -306,9 +282,7 @@ void ofNotifyDragEvent(ofDragInfo info){ ofAppPtr->dragEvent(info); } - #ifdef OF_USING_POCO - ofNotifyEvent(ofEvents().fileDragEvent, info); - #endif + ofNotifyEvent(ofEvents().fileDragEvent, info); } //------------------------------------------ @@ -318,9 +292,7 @@ void ofSendMessage(ofMessage msg){ ofAppPtr->gotMessage(msg); } - #ifdef OF_USING_POCO - ofNotifyEvent(ofEvents().messageEvent, msg); - #endif + ofNotifyEvent(ofEvents().messageEvent, msg); } //------------------------------------------ @@ -338,9 +310,7 @@ void ofNotifyWindowEntry( int state ) { ofAppPtr->windowEntry(state); } -#ifdef OF_USING_POCO entryArgs.state = state; ofNotifyEvent(ofEvents().windowEntered, entryArgs); -#endif } diff --git a/libs/openFrameworks/events/ofEvents.h b/libs/openFrameworks/events/ofEvents.h index 5c244d48651..e608f14439b 100644 --- a/libs/openFrameworks/events/ofEvents.h +++ b/libs/openFrameworks/events/ofEvents.h @@ -2,6 +2,7 @@ #include "ofConstants.h" #include "ofPoint.h" +#include "ofEventUtils.h" //-------------------------- mouse/key query bool ofGetMousePressed(int button=-1); //by default any button @@ -24,230 +25,219 @@ class ofDragInfo{ ofPoint position; }; -//----------------------------------------------- - -#ifdef OF_USING_POCO - #define _OF_EVENTS - #ifndef OF_EVENTS_ADDON - #include "ofEventUtils.h" - - //----------------------------------------------- - // event arguments, this are used in oF to pass - // the data when notifying events - - class ofEventArgs{}; - - class ofEntryEventArgs : public ofEventArgs { - public: - int state; - }; - - class ofKeyEventArgs : public ofEventArgs { - public: - int key; - }; - - class ofMouseEventArgs : public ofEventArgs { - public: - int x; - int y; - int button; - }; - - class ofTouchEventArgs : public ofEventArgs { - public: - enum Type{ - down, - up, - move, - doubleTap, - cancel - } type; - - int id; - int time; - float x, y; - int numTouches; - float width, height; - float angle; - float minoraxis, majoraxis; - float pressure; - float xspeed, yspeed; - float xaccel, yaccel; - }; - - class ofAudioEventArgs : public ofEventArgs { - public: - float* buffer; - int bufferSize; - int nChannels; - }; - - class ofResizeEventArgs : public ofEventArgs { - public: - int width; - int height; - }; - - class ofMessage : public ofEventArgs{ - public: - ofMessage( string msg ){ - message = msg; - } - string message; - }; - - #else - #include "ofxEventUtils.h" - #endif - - class ofCoreEvents { - public: - ofEvent setup; - ofEvent update; - ofEvent draw; - ofEvent exit; - - ofEvent windowEntered; - ofEvent windowResized; - - ofEvent keyPressed; - ofEvent keyReleased; - - ofEvent mouseMoved; - ofEvent mouseDragged; - ofEvent mousePressed; - ofEvent mouseReleased; - - ofEvent audioReceived; - ofEvent audioRequested; - - ofEvent touchDown; - ofEvent touchUp; - ofEvent touchMoved; - ofEvent touchDoubleTap; - ofEvent touchCancelled; - - ofEvent messageEvent; - ofEvent fileDragEvent; - - void disable(){ - setup.disable(); - draw.disable(); - update.disable(); - exit.disable(); - keyPressed.disable(); - keyReleased.disable(); - mouseDragged.disable(); - mouseReleased.disable(); - mousePressed.disable(); - mouseMoved.disable(); - audioReceived.disable(); - audioRequested.disable(); - touchDown.disable(); - touchUp.disable(); - touchMoved.disable(); - touchDoubleTap.disable(); - touchCancelled.disable(); - messageEvent.disable(); - fileDragEvent.disable(); - } - - void enable(){ - setup.enable(); - draw.enable(); - update.enable(); - exit.enable(); - keyPressed.enable(); - keyReleased.enable(); - mouseDragged.enable(); - mouseReleased.enable(); - mousePressed.enable(); - mouseMoved.enable(); - audioReceived.enable(); - audioRequested.enable(); - touchDown.enable(); - touchUp.enable(); - touchMoved.enable(); - touchDoubleTap.enable(); - touchCancelled.enable(); - messageEvent.enable(); - fileDragEvent.enable(); - } - }; - void ofSendMessage(ofMessage msg); - void ofSendMessage(string messageString); +//----------------------------------------------- +// event arguments, this are used in oF to pass +// the data when notifying events - ofCoreEvents & ofEvents(); +class ofEventArgs{}; - template - void ofRegisterMouseEvents(ListenerClass * listener){ - ofAddListener(ofEvents().mouseDragged,listener,&ListenerClass::mouseDragged); - ofAddListener(ofEvents().mouseMoved,listener,&ListenerClass::mouseMoved); - ofAddListener(ofEvents().mousePressed,listener,&ListenerClass::mousePressed); - ofAddListener(ofEvents().mouseReleased,listener,&ListenerClass::mouseReleased); - } +class ofEntryEventArgs : public ofEventArgs { +public: + int state; +}; - template - void ofRegisterKeyEvents(ListenerClass * listener){ - ofAddListener(ofEvents().keyPressed, listener, &ListenerClass::keyPressed); - ofAddListener(ofEvents().keyReleased, listener, &ListenerClass::keyReleased); - } +class ofKeyEventArgs : public ofEventArgs { + public: + int key; +}; - template - void ofRegisterTouchEvents(ListenerClass * listener){ - ofAddListener(ofEvents().touchDoubleTap, listener, &ListenerClass::touchDoubleTap); - ofAddListener(ofEvents().touchDown, listener, &ListenerClass::touchDown); - ofAddListener(ofEvents().touchMoved, listener, &ListenerClass::touchMoved); - ofAddListener(ofEvents().touchUp, listener, &ListenerClass::touchUp); - ofAddListener(ofEvents().touchCancelled, listener, &ListenerClass::touchCancelled); - } +class ofMouseEventArgs : public ofEventArgs { + public: + int x; + int y; + int button; +}; - template - void ofRegisterGetMessages(ListenerClass * listener){ - ofAddListener(ofEvents().messageEvent, listener, &ListenerClass::gotMessage); - } +class ofTouchEventArgs : public ofEventArgs { + public: + enum Type{ + down, + up, + move, + doubleTap, + cancel + } type; + + int id; + int time; + float x, y; + int numTouches; + float width, height; + float angle; + float minoraxis, majoraxis; + float pressure; + float xspeed, yspeed; + float xaccel, yaccel; +}; - template - void ofRegisterDragEvents(ListenerClass * listener){ - ofAddListener(ofEvents().fileDragEvent, listener, &ListenerClass::dragEvent); - } +class ofAudioEventArgs : public ofEventArgs { + public: + float* buffer; + int bufferSize; + int nChannels; +}; - template - void ofUnregisterMouseEvents(ListenerClass * listener){ - ofRemoveListener(ofEvents().mouseDragged,listener,&ListenerClass::mouseDragged); - ofRemoveListener(ofEvents().mouseMoved,listener,&ListenerClass::mouseMoved); - ofRemoveListener(ofEvents().mousePressed,listener,&ListenerClass::mousePressed); - ofRemoveListener(ofEvents().mouseReleased,listener,&ListenerClass::mouseReleased); - } +class ofResizeEventArgs : public ofEventArgs { + public: + int width; + int height; +}; - template - void ofUnregisterKeyEvents(ListenerClass * listener){ - ofRemoveListener(ofEvents().keyPressed, listener, &ListenerClass::keyPressed); - ofRemoveListener(ofEvents().keyReleased, listener, &ListenerClass::keyReleased); - } +class ofMessage : public ofEventArgs{ + public: + ofMessage( string msg ){ + message = msg; + } + string message; +}; + - template - void ofUnregisterTouchEvents(ListenerClass * listener){ - ofRemoveListener(ofEvents().touchDoubleTap, listener, &ListenerClass::touchDoubleTap); - ofRemoveListener(ofEvents().touchDown, listener, &ListenerClass::touchDown); - ofRemoveListener(ofEvents().touchMoved, listener, &ListenerClass::touchMoved); - ofRemoveListener(ofEvents().touchUp, listener, &ListenerClass::touchUp); - ofRemoveListener(ofEvents().touchCancelled, listener, &ListenerClass::touchCancelled); +class ofCoreEvents { + public: + ofEvent setup; + ofEvent update; + ofEvent draw; + ofEvent exit; + + ofEvent windowEntered; + ofEvent windowResized; + + ofEvent keyPressed; + ofEvent keyReleased; + + ofEvent mouseMoved; + ofEvent mouseDragged; + ofEvent mousePressed; + ofEvent mouseReleased; + + ofEvent audioReceived; + ofEvent audioRequested; + + ofEvent touchDown; + ofEvent touchUp; + ofEvent touchMoved; + ofEvent touchDoubleTap; + ofEvent touchCancelled; + + ofEvent messageEvent; + ofEvent fileDragEvent; + + void disable(){ + setup.disable(); + draw.disable(); + update.disable(); + exit.disable(); + keyPressed.disable(); + keyReleased.disable(); + mouseDragged.disable(); + mouseReleased.disable(); + mousePressed.disable(); + mouseMoved.disable(); + audioReceived.disable(); + audioRequested.disable(); + touchDown.disable(); + touchUp.disable(); + touchMoved.disable(); + touchDoubleTap.disable(); + touchCancelled.disable(); + messageEvent.disable(); + fileDragEvent.disable(); } - template - void ofUnregisterGetMessages(ListenerClass * listener){ - ofRemoveListener(ofEvents().messageEvent, listener, &ListenerClass::gotMessage); + void enable(){ + setup.enable(); + draw.enable(); + update.enable(); + exit.enable(); + keyPressed.enable(); + keyReleased.enable(); + mouseDragged.enable(); + mouseReleased.enable(); + mousePressed.enable(); + mouseMoved.enable(); + audioReceived.enable(); + audioRequested.enable(); + touchDown.enable(); + touchUp.enable(); + touchMoved.enable(); + touchDoubleTap.enable(); + touchCancelled.enable(); + messageEvent.enable(); + fileDragEvent.enable(); } - - template - void ofUnregisterDragEvents(ListenerClass * listener){ - ofRemoveListener(ofEvents().fileDragEvent, listener, &ListenerClass::dragEvent); - } +}; -#endif +void ofSendMessage(ofMessage msg); +void ofSendMessage(string messageString); + +ofCoreEvents & ofEvents(); + +template +void ofRegisterMouseEvents(ListenerClass * listener){ + ofAddListener(ofEvents().mouseDragged,listener,&ListenerClass::mouseDragged); + ofAddListener(ofEvents().mouseMoved,listener,&ListenerClass::mouseMoved); + ofAddListener(ofEvents().mousePressed,listener,&ListenerClass::mousePressed); + ofAddListener(ofEvents().mouseReleased,listener,&ListenerClass::mouseReleased); +} + +template +void ofRegisterKeyEvents(ListenerClass * listener){ + ofAddListener(ofEvents().keyPressed, listener, &ListenerClass::keyPressed); + ofAddListener(ofEvents().keyReleased, listener, &ListenerClass::keyReleased); +} + +template +void ofRegisterTouchEvents(ListenerClass * listener){ + ofAddListener(ofEvents().touchDoubleTap, listener, &ListenerClass::touchDoubleTap); + ofAddListener(ofEvents().touchDown, listener, &ListenerClass::touchDown); + ofAddListener(ofEvents().touchMoved, listener, &ListenerClass::touchMoved); + ofAddListener(ofEvents().touchUp, listener, &ListenerClass::touchUp); + ofAddListener(ofEvents().touchCancelled, listener, &ListenerClass::touchCancelled); +} + +template +void ofRegisterGetMessages(ListenerClass * listener){ + ofAddListener(ofEvents().messageEvent, listener, &ListenerClass::gotMessage); +} + +template +void ofRegisterDragEvents(ListenerClass * listener){ + ofAddListener(ofEvents().fileDragEvent, listener, &ListenerClass::dragEvent); +} + +template +void ofUnregisterMouseEvents(ListenerClass * listener){ + ofRemoveListener(ofEvents().mouseDragged,listener,&ListenerClass::mouseDragged); + ofRemoveListener(ofEvents().mouseMoved,listener,&ListenerClass::mouseMoved); + ofRemoveListener(ofEvents().mousePressed,listener,&ListenerClass::mousePressed); + ofRemoveListener(ofEvents().mouseReleased,listener,&ListenerClass::mouseReleased); +} + +template +void ofUnregisterKeyEvents(ListenerClass * listener){ + ofRemoveListener(ofEvents().keyPressed, listener, &ListenerClass::keyPressed); + ofRemoveListener(ofEvents().keyReleased, listener, &ListenerClass::keyReleased); +} + +template +void ofUnregisterTouchEvents(ListenerClass * listener){ + ofRemoveListener(ofEvents().touchDoubleTap, listener, &ListenerClass::touchDoubleTap); + ofRemoveListener(ofEvents().touchDown, listener, &ListenerClass::touchDown); + ofRemoveListener(ofEvents().touchMoved, listener, &ListenerClass::touchMoved); + ofRemoveListener(ofEvents().touchUp, listener, &ListenerClass::touchUp); + ofRemoveListener(ofEvents().touchCancelled, listener, &ListenerClass::touchCancelled); +} + +template +void ofUnregisterGetMessages(ListenerClass * listener){ + ofRemoveListener(ofEvents().messageEvent, listener, &ListenerClass::gotMessage); +} + +template +void ofUnregisterDragEvents(ListenerClass * listener){ + ofRemoveListener(ofEvents().fileDragEvent, listener, &ListenerClass::dragEvent); +} // event notification only for internal OF use void ofNotifySetup(); diff --git a/libs/openFrameworks/graphics/ofGraphics.cpp b/libs/openFrameworks/graphics/ofGraphics.cpp index 539e5cf00c8..a494d6c299f 100644 --- a/libs/openFrameworks/graphics/ofGraphics.cpp +++ b/libs/openFrameworks/graphics/ofGraphics.cpp @@ -874,6 +874,11 @@ void ofCurveVertex(float x, float y){ shape.curveTo(x,y); } +//--------------------------------------------------- +void ofCurveVertex(float x, float y, float z){ + shape.curveTo(x,y,z); +} + //---------------------------------------------------------- void ofCurveVertices( const vector & curvePoints){ for( int k = 0; k < (int)curvePoints.size(); k++){ diff --git a/libs/openFrameworks/graphics/ofGraphics.h b/libs/openFrameworks/graphics/ofGraphics.h index 531e1823158..09d0967fad6 100644 --- a/libs/openFrameworks/graphics/ofGraphics.h +++ b/libs/openFrameworks/graphics/ofGraphics.h @@ -202,6 +202,7 @@ OF_DEPRECATED_MSG("Use ofVertices instead.", void ofVertexes(const vector & curvePoints); OF_DEPRECATED_MSG("Use ofCurveVertices instead.", void ofCurveVertexes(const vector & curvePoints)); diff --git a/libs/openFrameworks/graphics/ofImage.cpp b/libs/openFrameworks/graphics/ofImage.cpp index f72af5521fe..70da33413f4 100644 --- a/libs/openFrameworks/graphics/ofImage.cpp +++ b/libs/openFrameworks/graphics/ofImage.cpp @@ -528,9 +528,6 @@ ofImage_::ofImage_(){ //----------------------- init free image if necessary ofInitFreeImage(); -#if defined(TARGET_ANDROID) || defined(TARGET_OF_IPHONE) - registerImage(this); -#endif } //---------------------------------------------------------- @@ -545,9 +542,6 @@ ofImage_::ofImage_(const ofPixels_ & pix){ //----------------------- init free image if necessary ofInitFreeImage(); -#if defined(TARGET_ANDROID) || defined(TARGET_OF_IPHONE) - registerImage(this); -#endif setFromPixels(pix); } @@ -563,9 +557,6 @@ ofImage_::ofImage_(const ofFile & file){ //----------------------- init free image if necessary ofInitFreeImage(); -#if defined(TARGET_ANDROID) || defined(TARGET_OF_IPHONE) - registerImage(this); -#endif loadImage(file); } @@ -581,9 +572,6 @@ ofImage_::ofImage_(const string & filename){ //----------------------- init free image if necessary ofInitFreeImage(); -#if defined(TARGET_ANDROID) || defined(TARGET_OF_IPHONE) - registerImage(this); -#endif loadImage(filename); } @@ -600,6 +588,9 @@ ofImage_& ofImage_::operator=(const ofImage_& m //---------------------------------------------------------- template ofImage_::ofImage_(const ofImage_& mom) { +#if defined(TARGET_ANDROID) || defined(TARGET_OF_IPHONE) + registerImage(this); +#endif clear(); clone(mom); update(); @@ -609,10 +600,6 @@ ofImage_::ofImage_(const ofImage_& mom) { template ofImage_::~ofImage_(){ clear(); - -#if defined(TARGET_ANDROID) || defined(TARGET_OF_IPHONE) - unregisterImage(this); -#endif } @@ -634,6 +621,9 @@ bool ofImage_::loadImage(const ofFile & file){ //---------------------------------------------------------- template bool ofImage_::loadImage(string fileName){ +#if defined(TARGET_ANDROID) || defined(TARGET_OF_IPHONE) + registerImage(this); +#endif bool bLoadedOk = ofLoadImage(pixels, fileName); if (!bLoadedOk) { ofLog(OF_LOG_ERROR, "Couldn't load image from " + fileName); @@ -649,6 +639,9 @@ bool ofImage_::loadImage(string fileName){ template bool ofImage_::loadImage(const ofBuffer & buffer){ +#if defined(TARGET_ANDROID) || defined(TARGET_OF_IPHONE) + registerImage(this); +#endif bool bLoadedOk = ofLoadImage(pixels, buffer); if (!bLoadedOk) { ofLog(OF_LOG_ERROR, "Couldn't load image from buffer."); @@ -756,6 +749,9 @@ void ofImage_::allocate(int w, int h, ofImageType newType){ if (width == w && height == h && newType == type){ return; } +#if defined(TARGET_ANDROID) || defined(TARGET_OF_IPHONE) + registerImage(this); +#endif pixels.allocate(w, h, newType); // take care of texture allocation -- @@ -773,7 +769,9 @@ void ofImage_::allocate(int w, int h, ofImageType newType){ //------------------------------------ template void ofImage_::clear(){ - +#if defined(TARGET_ANDROID) || defined(TARGET_OF_IPHONE) + unregisterImage(this); +#endif pixels.clear(); if(bUseTexture) tex.clear(); diff --git a/libs/openFrameworks/graphics/ofTrueTypeFont.cpp b/libs/openFrameworks/graphics/ofTrueTypeFont.cpp index 3287c638319..73bc342ef0b 100644 --- a/libs/openFrameworks/graphics/ofTrueTypeFont.cpp +++ b/libs/openFrameworks/graphics/ofTrueTypeFont.cpp @@ -631,7 +631,7 @@ vector ofTrueTypeFont::getStringAsPoints(string str){ }else if (str[index] == ' ') { int cy = (int)'p' - NUM_CHARACTER_TO_START; X += cps[cy].setWidth * letterSpacing * spaceSize; - } else { + } else if(cy > -1){ shapes.push_back(getCharacterAsPoints(str[index])); shapes.back().translate(ofPoint(X,Y)); @@ -702,7 +702,7 @@ ofRectangle ofTrueTypeFont::getStringBoundingBox(string c, float x, float y){ int cy = (int)'p' - NUM_CHARACTER_TO_START; xoffset += cps[cy].setWidth * letterSpacing * spaceSize; // zach - this is a bug to fix -- for now, we don't currently deal with ' ' in calculating string bounding box - } else { + } else if(cy > -1){ GLint height = cps[cy].height; GLint bwidth = cps[cy].width * letterSpacing; GLint top = cps[cy].topExtent - cps[cy].height; @@ -779,7 +779,7 @@ void ofTrueTypeFont::drawString(string c, float x, float y) { }else if (c[index] == ' ') { int cy = (int)'p' - NUM_CHARACTER_TO_START; X += cps[cy].setWidth * letterSpacing * spaceSize; - } else { + } else if(cy > -1){ drawChar(cy, X, Y); X += cps[cy].setWidth * letterSpacing; } @@ -879,7 +879,7 @@ void ofTrueTypeFont::drawStringAsShapes(string c, float x, float y) { int cy = (int)'p' - NUM_CHARACTER_TO_START; X += cps[cy].setWidth; //glTranslated(cps[cy].width, 0, 0); - } else { + } else if(cy > -1){ drawCharAsShape(cy, X, Y); X += cps[cy].setWidth; //glTranslated(cps[cy].setWidth, 0, 0); diff --git a/libs/openFrameworks/types/ofColor.cpp b/libs/openFrameworks/types/ofColor.cpp index c816303b175..9460ed8b52c 100644 --- a/libs/openFrameworks/types/ofColor.cpp +++ b/libs/openFrameworks/types/ofColor.cpp @@ -10,6 +10,146 @@ template const ofColor_ ofColor_::cyan template const ofColor_ ofColor_::magenta(limit(), 0, limit()); template const ofColor_ ofColor_::yellow(limit(), limit(), 0); template const ofColor_ ofColor_::black(0, 0, 0); +template const ofColor_ ofColor_::aliceBlue(0.941176*limit(),0.972549*limit(),1*limit()); +template const ofColor_ ofColor_::antiqueWhite(0.980392*limit(),0.921569*limit(),0.843137*limit()); +template const ofColor_ ofColor_::aqua(0*limit(),1*limit(),1*limit()); +template const ofColor_ ofColor_::aquamarine(0.498039*limit(),1*limit(),0.831373*limit()); +template const ofColor_ ofColor_::azure(0.941176*limit(),1*limit(),1*limit()); +template const ofColor_ ofColor_::beige(0.960784*limit(),0.960784*limit(),0.862745*limit()); +template const ofColor_ ofColor_::bisque(1*limit(),0.894118*limit(),0.768627*limit()); +template const ofColor_ ofColor_::blanchedAlmond(1*limit(),0.921569*limit(),0.803922*limit()); +template const ofColor_ ofColor_::blueViolet(0.541176*limit(),0.168627*limit(),0.886275*limit()); +template const ofColor_ ofColor_::brown(0.647059*limit(),0.164706*limit(),0.164706*limit()); +template const ofColor_ ofColor_::burlyWood(0.870588*limit(),0.721569*limit(),0.529412*limit()); +template const ofColor_ ofColor_::cadetBlue(0.372549*limit(),0.619608*limit(),0.627451*limit()); +template const ofColor_ ofColor_::chartreuse(0.498039*limit(),1*limit(),0*limit()); +template const ofColor_ ofColor_::chocolate(0.823529*limit(),0.411765*limit(),0.117647*limit()); +template const ofColor_ ofColor_::coral(1*limit(),0.498039*limit(),0.313726*limit()); +template const ofColor_ ofColor_::cornflowerBlue(0.392157*limit(),0.584314*limit(),0.929412*limit()); +template const ofColor_ ofColor_::cornsilk(1*limit(),0.972549*limit(),0.862745*limit()); +template const ofColor_ ofColor_::crimson(0.862745*limit(),0.0784314*limit(),0.235294*limit()); +template const ofColor_ ofColor_::darkBlue(0*limit(),0*limit(),0.545098*limit()); +template const ofColor_ ofColor_::darkCyan(0*limit(),0.545098*limit(),0.545098*limit()); +template const ofColor_ ofColor_::darkGoldenRod(0.721569*limit(),0.52549*limit(),0.0431373*limit()); +template const ofColor_ ofColor_::darkGray(0.662745*limit(),0.662745*limit(),0.662745*limit()); +template const ofColor_ ofColor_::darkGrey(0.662745*limit(),0.662745*limit(),0.662745*limit()); +template const ofColor_ ofColor_::darkGreen(0*limit(),0.392157*limit(),0*limit()); +template const ofColor_ ofColor_::darkKhaki(0.741176*limit(),0.717647*limit(),0.419608*limit()); +template const ofColor_ ofColor_::darkMagenta(0.545098*limit(),0*limit(),0.545098*limit()); +template const ofColor_ ofColor_::darkOliveGreen(0.333333*limit(),0.419608*limit(),0.184314*limit()); +template const ofColor_ ofColor_::darkorange(1*limit(),0.54902*limit(),0*limit()); +template const ofColor_ ofColor_::darkOrchid(0.6*limit(),0.196078*limit(),0.8*limit()); +template const ofColor_ ofColor_::darkRed(0.545098*limit(),0*limit(),0*limit()); +template const ofColor_ ofColor_::darkSalmon(0.913725*limit(),0.588235*limit(),0.478431*limit()); +template const ofColor_ ofColor_::darkSeaGreen(0.560784*limit(),0.737255*limit(),0.560784*limit()); +template const ofColor_ ofColor_::darkSlateBlue(0.282353*limit(),0.239216*limit(),0.545098*limit()); +template const ofColor_ ofColor_::darkSlateGray(0.184314*limit(),0.309804*limit(),0.309804*limit()); +template const ofColor_ ofColor_::darkSlateGrey(0.184314*limit(),0.309804*limit(),0.309804*limit()); +template const ofColor_ ofColor_::darkTurquoise(0*limit(),0.807843*limit(),0.819608*limit()); +template const ofColor_ ofColor_::darkViolet(0.580392*limit(),0*limit(),0.827451*limit()); +template const ofColor_ ofColor_::deepPink(1*limit(),0.0784314*limit(),0.576471*limit()); +template const ofColor_ ofColor_::deepSkyBlue(0*limit(),0.74902*limit(),1*limit()); +template const ofColor_ ofColor_::dimGray(0.411765*limit(),0.411765*limit(),0.411765*limit()); +template const ofColor_ ofColor_::dimGrey(0.411765*limit(),0.411765*limit(),0.411765*limit()); +template const ofColor_ ofColor_::dodgerBlue(0.117647*limit(),0.564706*limit(),1*limit()); +template const ofColor_ ofColor_::fireBrick(0.698039*limit(),0.133333*limit(),0.133333*limit()); +template const ofColor_ ofColor_::floralWhite(1*limit(),0.980392*limit(),0.941176*limit()); +template const ofColor_ ofColor_::forestGreen(0.133333*limit(),0.545098*limit(),0.133333*limit()); +template const ofColor_ ofColor_::fuchsia(1*limit(),0*limit(),1*limit()); +template const ofColor_ ofColor_::gainsboro(0.862745*limit(),0.862745*limit(),0.862745*limit()); +template const ofColor_ ofColor_::ghostWhite(0.972549*limit(),0.972549*limit(),1*limit()); +template const ofColor_ ofColor_::gold(1*limit(),0.843137*limit(),0*limit()); +template const ofColor_ ofColor_::goldenRod(0.854902*limit(),0.647059*limit(),0.12549*limit()); +template const ofColor_ ofColor_::grey(0.501961*limit(),0.501961*limit(),0.501961*limit()); +template const ofColor_ ofColor_::greenYellow(0.678431*limit(),1*limit(),0.184314*limit()); +template const ofColor_ ofColor_::honeyDew(0.941176*limit(),1*limit(),0.941176*limit()); +template const ofColor_ ofColor_::hotPink(1*limit(),0.411765*limit(),0.705882*limit()); +template const ofColor_ ofColor_::indianRed (0.803922*limit(),0.360784*limit(),0.360784*limit()); +template const ofColor_ ofColor_::indigo (0.294118*limit(),0*limit(),0.509804*limit()); +template const ofColor_ ofColor_::ivory(1*limit(),1*limit(),0.941176*limit()); +template const ofColor_ ofColor_::khaki(0.941176*limit(),0.901961*limit(),0.54902*limit()); +template const ofColor_ ofColor_::lavender(0.901961*limit(),0.901961*limit(),0.980392*limit()); +template const ofColor_ ofColor_::lavenderBlush(1*limit(),0.941176*limit(),0.960784*limit()); +template const ofColor_ ofColor_::lawnGreen(0.486275*limit(),0.988235*limit(),0*limit()); +template const ofColor_ ofColor_::lemonChiffon(1*limit(),0.980392*limit(),0.803922*limit()); +template const ofColor_ ofColor_::lightBlue(0.678431*limit(),0.847059*limit(),0.901961*limit()); +template const ofColor_ ofColor_::lightCoral(0.941176*limit(),0.501961*limit(),0.501961*limit()); +template const ofColor_ ofColor_::lightCyan(0.878431*limit(),1*limit(),1*limit()); +template const ofColor_ ofColor_::lightGoldenRodYellow(0.980392*limit(),0.980392*limit(),0.823529*limit()); +template const ofColor_ ofColor_::lightGray(0.827451*limit(),0.827451*limit(),0.827451*limit()); +template const ofColor_ ofColor_::lightGrey(0.827451*limit(),0.827451*limit(),0.827451*limit()); +template const ofColor_ ofColor_::lightGreen(0.564706*limit(),0.933333*limit(),0.564706*limit()); +template const ofColor_ ofColor_::lightPink(1*limit(),0.713726*limit(),0.756863*limit()); +template const ofColor_ ofColor_::lightSalmon(1*limit(),0.627451*limit(),0.478431*limit()); +template const ofColor_ ofColor_::lightSeaGreen(0.12549*limit(),0.698039*limit(),0.666667*limit()); +template const ofColor_ ofColor_::lightSkyBlue(0.529412*limit(),0.807843*limit(),0.980392*limit()); +template const ofColor_ ofColor_::lightSlateGray(0.466667*limit(),0.533333*limit(),0.6*limit()); +template const ofColor_ ofColor_::lightSlateGrey(0.466667*limit(),0.533333*limit(),0.6*limit()); +template const ofColor_ ofColor_::lightSteelBlue(0.690196*limit(),0.768627*limit(),0.870588*limit()); +template const ofColor_ ofColor_::lightYellow(1*limit(),1*limit(),0.878431*limit()); +template const ofColor_ ofColor_::lime(0*limit(),1*limit(),0*limit()); +template const ofColor_ ofColor_::limeGreen(0.196078*limit(),0.803922*limit(),0.196078*limit()); +template const ofColor_ ofColor_::linen(0.980392*limit(),0.941176*limit(),0.901961*limit()); +template const ofColor_ ofColor_::maroon(0.501961*limit(),0*limit(),0*limit()); +template const ofColor_ ofColor_::mediumAquaMarine(0.4*limit(),0.803922*limit(),0.666667*limit()); +template const ofColor_ ofColor_::mediumBlue(0*limit(),0*limit(),0.803922*limit()); +template const ofColor_ ofColor_::mediumOrchid(0.729412*limit(),0.333333*limit(),0.827451*limit()); +template const ofColor_ ofColor_::mediumPurple(0.576471*limit(),0.439216*limit(),0.858824*limit()); +template const ofColor_ ofColor_::mediumSeaGreen(0.235294*limit(),0.701961*limit(),0.443137*limit()); +template const ofColor_ ofColor_::mediumSlateBlue(0.482353*limit(),0.407843*limit(),0.933333*limit()); +template const ofColor_ ofColor_::mediumSpringGreen(0*limit(),0.980392*limit(),0.603922*limit()); +template const ofColor_ ofColor_::mediumTurquoise(0.282353*limit(),0.819608*limit(),0.8*limit()); +template const ofColor_ ofColor_::mediumVioletRed(0.780392*limit(),0.0823529*limit(),0.521569*limit()); +template const ofColor_ ofColor_::midnightBlue(0.0980392*limit(),0.0980392*limit(),0.439216*limit()); +template const ofColor_ ofColor_::mintCream(0.960784*limit(),1*limit(),0.980392*limit()); +template const ofColor_ ofColor_::mistyRose(1*limit(),0.894118*limit(),0.882353*limit()); +template const ofColor_ ofColor_::moccasin(1*limit(),0.894118*limit(),0.709804*limit()); +template const ofColor_ ofColor_::navajoWhite(1*limit(),0.870588*limit(),0.678431*limit()); +template const ofColor_ ofColor_::navy(0*limit(),0*limit(),0.501961*limit()); +template const ofColor_ ofColor_::oldLace(0.992157*limit(),0.960784*limit(),0.901961*limit()); +template const ofColor_ ofColor_::olive(0.501961*limit(),0.501961*limit(),0*limit()); +template const ofColor_ ofColor_::oliveDrab(0.419608*limit(),0.556863*limit(),0.137255*limit()); +template const ofColor_ ofColor_::orange(1*limit(),0.647059*limit(),0*limit()); +template const ofColor_ ofColor_::orangeRed(1*limit(),0.270588*limit(),0*limit()); +template const ofColor_ ofColor_::orchid(0.854902*limit(),0.439216*limit(),0.839216*limit()); +template const ofColor_ ofColor_::paleGoldenRod(0.933333*limit(),0.909804*limit(),0.666667*limit()); +template const ofColor_ ofColor_::paleGreen(0.596078*limit(),0.984314*limit(),0.596078*limit()); +template const ofColor_ ofColor_::paleTurquoise(0.686275*limit(),0.933333*limit(),0.933333*limit()); +template const ofColor_ ofColor_::paleVioletRed(0.858824*limit(),0.439216*limit(),0.576471*limit()); +template const ofColor_ ofColor_::papayaWhip(1*limit(),0.937255*limit(),0.835294*limit()); +template const ofColor_ ofColor_::peachPuff(1*limit(),0.854902*limit(),0.72549*limit()); +template const ofColor_ ofColor_::peru(0.803922*limit(),0.521569*limit(),0.247059*limit()); +template const ofColor_ ofColor_::pink(1*limit(),0.752941*limit(),0.796078*limit()); +template const ofColor_ ofColor_::plum(0.866667*limit(),0.627451*limit(),0.866667*limit()); +template const ofColor_ ofColor_::powderBlue(0.690196*limit(),0.878431*limit(),0.901961*limit()); +template const ofColor_ ofColor_::purple(0.501961*limit(),0*limit(),0.501961*limit()); +template const ofColor_ ofColor_::rosyBrown(0.737255*limit(),0.560784*limit(),0.560784*limit()); +template const ofColor_ ofColor_::royalBlue(0.254902*limit(),0.411765*limit(),0.882353*limit()); +template const ofColor_ ofColor_::saddleBrown(0.545098*limit(),0.270588*limit(),0.0745098*limit()); +template const ofColor_ ofColor_::salmon(0.980392*limit(),0.501961*limit(),0.447059*limit()); +template const ofColor_ ofColor_::sandyBrown(0.956863*limit(),0.643137*limit(),0.376471*limit()); +template const ofColor_ ofColor_::seaGreen(0.180392*limit(),0.545098*limit(),0.341176*limit()); +template const ofColor_ ofColor_::seaShell(1*limit(),0.960784*limit(),0.933333*limit()); +template const ofColor_ ofColor_::sienna(0.627451*limit(),0.321569*limit(),0.176471*limit()); +template const ofColor_ ofColor_::silver(0.752941*limit(),0.752941*limit(),0.752941*limit()); +template const ofColor_ ofColor_::skyBlue(0.529412*limit(),0.807843*limit(),0.921569*limit()); +template const ofColor_ ofColor_::slateBlue(0.415686*limit(),0.352941*limit(),0.803922*limit()); +template const ofColor_ ofColor_::slateGray(0.439216*limit(),0.501961*limit(),0.564706*limit()); +template const ofColor_ ofColor_::slateGrey(0.439216*limit(),0.501961*limit(),0.564706*limit()); +template const ofColor_ ofColor_::snow(1*limit(),0.980392*limit(),0.980392*limit()); +template const ofColor_ ofColor_::springGreen(0*limit(),1*limit(),0.498039*limit()); +template const ofColor_ ofColor_::steelBlue(0.27451*limit(),0.509804*limit(),0.705882*limit()); +template const ofColor_ ofColor_::tan(0.823529*limit(),0.705882*limit(),0.54902*limit()); +template const ofColor_ ofColor_::teal(0*limit(),0.501961*limit(),0.501961*limit()); +template const ofColor_ ofColor_::thistle(0.847059*limit(),0.74902*limit(),0.847059*limit()); +template const ofColor_ ofColor_::tomato(1*limit(),0.388235*limit(),0.278431*limit()); +template const ofColor_ ofColor_::turquoise(0.25098*limit(),0.878431*limit(),0.815686*limit()); +template const ofColor_ ofColor_::violet(0.933333*limit(),0.509804*limit(),0.933333*limit()); +template const ofColor_ ofColor_::wheat(0.960784*limit(),0.870588*limit(),0.701961*limit()); +template const ofColor_ ofColor_::whiteSmoke(0.960784*limit(),0.960784*limit(),0.960784*limit()); +template const ofColor_ ofColor_::yellowGreen(0.603922*limit(),0.803922*limit(),0.196078*limit()); + + template float ofColor_::limit() { diff --git a/libs/openFrameworks/types/ofColor.h b/libs/openFrameworks/types/ofColor.h index adb52298edc..e0331968145 100644 --- a/libs/openFrameworks/types/ofColor.h +++ b/libs/openFrameworks/types/ofColor.h @@ -24,8 +24,29 @@ class ofColor_{ static ofColor_ fromHsb (float hue, float saturation, float brightness, float alpha = limit()); static ofColor_ fromHex (int hexColor, float alpha = limit()); - static const ofColor_ white, gray, black, red, green, blue, cyan, magenta, yellow; - + // these are based on CSS named colors + // http://www.w3schools.com/cssref/css_colornames.asp + + static const ofColor_ white, gray, black, red, green, blue, cyan, magenta, + yellow,aliceBlue,antiqueWhite,aqua,aquamarine,azure,beige,bisque,blanchedAlmond, + blueViolet,brown,burlyWood,cadetBlue,chartreuse,chocolate,coral,cornflowerBlue,cornsilk, + crimson,darkBlue,darkCyan,darkGoldenRod,darkGray,darkGrey,darkGreen,darkKhaki, + darkMagenta,darkOliveGreen,darkorange,darkOrchid,darkRed,darkSalmon,darkSeaGreen, + darkSlateBlue,darkSlateGray,darkSlateGrey,darkTurquoise,darkViolet,deepPink, + deepSkyBlue,dimGray,dimGrey,dodgerBlue,fireBrick,floralWhite,forestGreen,fuchsia, + gainsboro,ghostWhite,gold,goldenRod,grey,greenYellow,honeyDew,hotPink,indianRed,indigo, + ivory,khaki,lavender,lavenderBlush,lawnGreen,lemonChiffon,lightBlue,lightCoral, + lightCyan,lightGoldenRodYellow,lightGray,lightGrey,lightGreen,lightPink,lightSalmon, + lightSeaGreen,lightSkyBlue,lightSlateGray,lightSlateGrey,lightSteelBlue,lightYellow, + lime,limeGreen,linen,maroon,mediumAquaMarine,mediumBlue,mediumOrchid,mediumPurple, + mediumSeaGreen,mediumSlateBlue,mediumSpringGreen,mediumTurquoise,mediumVioletRed, + midnightBlue,mintCream,mistyRose,moccasin,navajoWhite,navy,oldLace,olive,oliveDrab, + orange,orangeRed,orchid,paleGoldenRod,paleGreen,paleTurquoise,paleVioletRed,papayaWhip, + peachPuff,peru,pink,plum,powderBlue,purple,rosyBrown,royalBlue,saddleBrown,salmon, + sandyBrown,seaGreen,seaShell,sienna,silver,skyBlue,slateBlue,slateGray,slateGrey,snow, + springGreen,steelBlue,tan,teal,thistle,tomato,turquoise,violet,wheat,whiteSmoke, + yellowGreen; + void set (float _r, float _g, float _b, float _a = limit()); void set (float _gray, float _a = limit()); void set (ofColor_ const & color); diff --git a/libs/openFrameworks/utils/ofConstants.h b/libs/openFrameworks/utils/ofConstants.h index 7cf007dacce..2ae6d7f3f64 100644 --- a/libs/openFrameworks/utils/ofConstants.h +++ b/libs/openFrameworks/utils/ofConstants.h @@ -138,7 +138,6 @@ enum ofTargetPlatform{ #ifdef TARGET_LINUX #define GL_GLEXT_PROTOTYPES #include - #include #include #include #include @@ -312,6 +311,7 @@ typedef ofBaseApp ofSimpleApp; #include //for setprecision #include #include +#include using namespace std; #ifndef PI diff --git a/libs/openFrameworks/utils/ofFileUtils.cpp b/libs/openFrameworks/utils/ofFileUtils.cpp index ec6eac574b4..bc2bfd338e9 100644 --- a/libs/openFrameworks/utils/ofFileUtils.cpp +++ b/libs/openFrameworks/utils/ofFileUtils.cpp @@ -97,6 +97,11 @@ void ofBuffer::set(const string & text){ set(text.c_str(),text.size()); } +//-------------------------------------------------- +void ofBuffer::append(const string& _buffer){ + append(_buffer.c_str(), _buffer.size()); +} + //-------------------------------------------------- void ofBuffer::append(const char * _buffer, unsigned int _size){ buffer.insert(buffer.end()-1,_buffer,_buffer+_size); diff --git a/libs/openFrameworks/utils/ofFileUtils.h b/libs/openFrameworks/utils/ofFileUtils.h index b291adccddd..e4c5b1d0ea9 100644 --- a/libs/openFrameworks/utils/ofFileUtils.h +++ b/libs/openFrameworks/utils/ofFileUtils.h @@ -21,6 +21,7 @@ class ofBuffer{ void set(const char * _buffer, unsigned int _size); void set(const string & text); bool set(istream & stream); + void append(const string& _buffer); void append(const char * _buffer, unsigned int _size); bool writeTo(ostream & stream) const; diff --git a/libs/openFrameworks/utils/ofUtils.cpp b/libs/openFrameworks/utils/ofUtils.cpp index d1c8c81ad06..9dcc6709ac9 100644 --- a/libs/openFrameworks/utils/ofUtils.cpp +++ b/libs/openFrameworks/utils/ofUtils.cpp @@ -39,6 +39,14 @@ #endif +#ifdef TARGET_OF_IPHONE +#include "ofxiPhoneExtras.h" +#endif + +#ifdef TARGET_ANDROID +#include "ofxAndroidUtils.h" +#endif + #ifndef MAXPATHLEN #define MAXPATHLEN 1024 #endif @@ -100,9 +108,9 @@ unsigned long long ofGetSystemTimeMicros( ) { (unsigned long long) now.tv_sec*1000000; #else #if defined(_WIN32_WCE) - return GetTickCount()*1000; + return ((unsigned long long)GetTickCount()) * 1000; #else - return timeGetTime()*1000; + return ((unsigned long long)timeGetTime()) * 1000; #endif #endif } @@ -389,6 +397,14 @@ float ofToFloat(const string& floatString) { return x; } +//---------------------------------------- +double ofToDouble(const string& doubleString) { + double x = 0; + istringstream cur(doubleString); + cur >> x; + return x; +} + //---------------------------------------- bool ofToBool(const string& boolString) { static const string trueString = "true"; @@ -602,18 +618,21 @@ string ofVAArgsToString(const char * format, va_list args){ void ofLaunchBrowser(string url){ // http://support.microsoft.com/kb/224816 - - //make sure it is a properly formatted url - if(Poco::icompare(url.substr(0,7), "http://") != 0 && - Poco::icompare(url.substr(0,8), "https://") != 0) { - ofLog(OF_LOG_WARNING, "ofLaunchBrowser: url must begin http:// or https://"); + + // make sure it is a properly formatted url: + // some platforms, like Android, require urls to start with lower-case http/https + if(Poco::icompare(url.substr(0,8), "https://") == 0){ + url.replace(0,5,"https"); + } + else if(Poco::icompare(url.substr(0,7), "http://") == 0){ + url.replace(0,4,"http"); + } + else{ + ofLog(OF_LOG_WARNING, "ofLaunchBrowser: url must begin with http:// or https://"); return; } - //---------------------------- #ifdef TARGET_WIN32 - //---------------------------- - #if (_MSC_VER) // microsoft visual studio yaks about strings, wide chars, unicode, etc ShellExecuteA(NULL, "open", url.c_str(), @@ -622,31 +641,28 @@ void ofLaunchBrowser(string url){ ShellExecute(NULL, "open", url.c_str(), NULL, NULL, SW_SHOWNORMAL); #endif - - //---------------------------- #endif - //---------------------------- - //-------------------------------------- #ifdef TARGET_OSX - //-------------------------------------- // ok gotta be a better way then this, // this is what I found... string commandStr = "open "+url; system(commandStr.c_str()); - //---------------------------- #endif - //---------------------------- - //-------------------------------------- #ifdef TARGET_LINUX - //-------------------------------------- string commandStr = "xdg-open "+url; int ret = system(commandStr.c_str()); if(ret!=0) ofLog(OF_LOG_ERROR,"ofLaunchBrowser: couldn't open browser"); - //---------------------------- #endif - //---------------------------- + + #ifdef TARGET_OF_IPHONE + ofxiPhoneLaunchBrowser(url); + #endif + + #ifdef TARGET_ANDROID + ofxAndroidLaunchBrowser(url); + #endif } //-------------------------------------------------- diff --git a/libs/openFrameworks/utils/ofUtils.h b/libs/openFrameworks/utils/ofUtils.h index d03cffff7f5..779097419c7 100644 --- a/libs/openFrameworks/utils/ofUtils.h +++ b/libs/openFrameworks/utils/ofUtils.h @@ -149,6 +149,7 @@ string ofHexToString(const string& stringHexString); int ofToInt(const string& intString); char ofToChar(const string& charString); float ofToFloat(const string& floatString); +double ofToDouble(const string& doubleString); bool ofToBool(const string& boolString); template diff --git a/libs/openFrameworks/video/ofGstUtils.cpp b/libs/openFrameworks/video/ofGstUtils.cpp index 84a04a29fe4..0230cb91351 100644 --- a/libs/openFrameworks/video/ofGstUtils.cpp +++ b/libs/openFrameworks/video/ofGstUtils.cpp @@ -1,7 +1,6 @@ #include "ofGstUtils.h" #ifndef TARGET_ANDROID #include "ofUtils.h" -#include #include #include @@ -34,12 +33,21 @@ static bool gst_inited = false; // processing static GstFlowReturn on_new_buffer_from_source (GstAppSink * elt, void * data){ +#if GST_VERSION_MAJOR==0 GstBuffer *buffer = gst_app_sink_pull_buffer (GST_APP_SINK (elt)); +#else + GstSample *buffer = gst_app_sink_pull_sample (GST_APP_SINK (elt)); +#endif return ((ofGstUtils*)data)->buffer_cb(buffer); } static GstFlowReturn on_new_preroll_from_source (GstAppSink * elt, void * data){ - GstBuffer *buffer = gst_app_sink_pull_preroll(GST_APP_SINK (elt)); +#if GST_VERSION_MAJOR==0 + GstBuffer *buffer; +#else + GstSample *buffer; +#endif + buffer = gst_app_sink_pull_preroll(GST_APP_SINK (elt)); return ((ofGstUtils*)data)->preroll_cb(buffer); } @@ -75,9 +83,12 @@ ofGstUtils::ofGstUtils() { appsink = NULL; +#if GLIB_MINOR_VERSION<32 if(!g_thread_supported()){ g_thread_init(NULL); } +#endif + if(!gst_inited){ gst_init (NULL, NULL); gst_inited=true; @@ -97,13 +108,22 @@ ofGstUtils::~ofGstUtils() { close(); } +#if GST_VERSION_MAJOR==0 GstFlowReturn ofGstUtils::preroll_cb(GstBuffer * buffer){ +#else +GstFlowReturn ofGstUtils::preroll_cb(GstSample * buffer){ +#endif bIsMovieDone = false; if(appsink) return appsink->on_preroll(buffer); else return GST_FLOW_OK; } + +#if GST_VERSION_MAJOR==0 GstFlowReturn ofGstUtils::buffer_cb(GstBuffer * buffer){ +#else +GstFlowReturn ofGstUtils::buffer_cb(GstSample * buffer){ +#endif bIsMovieDone = false; if(appsink) return appsink->on_buffer(buffer); else return GST_FLOW_OK; @@ -215,7 +235,11 @@ bool ofGstUtils::startPipeline(){ GstAppSinkCallbacks gstCallbacks; gstCallbacks.eos = &on_eos_from_source; gstCallbacks.new_preroll = &on_new_preroll_from_source; +#if GST_VERSION_MAJOR==0 gstCallbacks.new_buffer = &on_new_buffer_from_source; +#else + gstCallbacks.new_sample = &on_new_buffer_from_source; +#endif gst_app_sink_set_callbacks(GST_APP_SINK(gstSink), &gstCallbacks, this, NULL); } @@ -277,11 +301,18 @@ void ofGstUtils::stop(){ float ofGstUtils::getPosition(){ if(gstPipeline){ gint64 pos=0; +#if GST_VERSION_MAJOR==0 GstFormat format=GST_FORMAT_TIME; if(!gst_element_query_position(GST_ELEMENT(gstPipeline),&format,&pos)){ ofLog(OF_LOG_VERBOSE,"GStreamer: cannot query position"); return -1; } +#else + if(!gst_element_query_position(GST_ELEMENT(gstPipeline),GST_FORMAT_TIME,&pos)){ + ofLog(OF_LOG_VERBOSE,"GStreamer: cannot query position"); + return -1; + } +#endif return (float)pos/(float)durationNanos; }else{ return -1; @@ -299,9 +330,13 @@ float ofGstUtils::getDuration(){ int64_t ofGstUtils::getDurationNanos(){ GstFormat format = GST_FORMAT_TIME; +#if GST_VERSION_MAJOR==0 if(!gst_element_query_duration(getPipeline(),&format,&durationNanos)) ofLog(OF_LOG_WARNING,"GStreamer: cannot query time duration"); - +#else + if(!gst_element_query_duration(getPipeline(),format,&durationNanos)) + ofLog(OF_LOG_WARNING,"GStreamer: cannot query time duration"); +#endif return durationNanos; } @@ -365,11 +400,17 @@ void ofGstUtils::setSpeed(float _speed){ gst_element_set_state (gstPipeline, GST_STATE_PAUSED); return; } - +#if GST_VERSION_MAJOR==0 if(!gst_element_query_position(GST_ELEMENT(gstPipeline),&format,&pos) || pos<0){ //ofLog(OF_LOG_ERROR,"GStreamer: cannot query position"); return; } +#else + if(!gst_element_query_position(GST_ELEMENT(gstPipeline),format,&pos) || pos<0){ + //ofLog(OF_LOG_ERROR,"GStreamer: cannot query position"); + return; + } +#endif speed = _speed; //pos = (float)gstData.lastFrame * (float)fps_d / (float)fps_n * GST_SECOND; @@ -464,10 +505,17 @@ void ofGstUtils::gstHandleMessage(){ }*/ break; +#if GST_VERSION_MAJOR==0 case GST_MESSAGE_DURATION:{ GstFormat format=GST_FORMAT_TIME; gst_element_query_duration(gstPipeline,&format,&durationNanos); }break; +#else + case GST_MESSAGE_DURATION_CHANGED: + gst_element_query_duration(gstPipeline,GST_FORMAT_TIME,&durationNanos); + break; + +#endif case GST_MESSAGE_STATE_CHANGED:{ GstState oldstate, newstate, pendstate; @@ -514,8 +562,11 @@ void ofGstUtils::gstHandleMessage(){ GstFormat format = GST_FORMAT_TIME; GstSeekFlags flags = (GstSeekFlags) (GST_SEEK_FLAG_FLUSH |GST_SEEK_FLAG_KEY_UNIT); gint64 pos; +#if GST_VERSION_MAJOR==0 gst_element_query_position(GST_ELEMENT(gstPipeline),&format,&pos); - +#else + gst_element_query_position(GST_ELEMENT(gstPipeline),format,&pos); +#endif if(!gst_element_seek(GST_ELEMENT(gstPipeline), speed, format, @@ -532,7 +583,11 @@ void ofGstUtils::gstHandleMessage(){ GstFormat format = GST_FORMAT_TIME; GstSeekFlags flags = (GstSeekFlags) (GST_SEEK_FLAG_FLUSH |GST_SEEK_FLAG_KEY_UNIT); gint64 pos; +#if GST_VERSION_MAJOR==0 gst_element_query_position(GST_ELEMENT(gstPipeline),&format,&pos); +#else + gst_element_query_position(GST_ELEMENT(gstPipeline),format,&pos); +#endif float loopSpeed; if(pos>0) loopSpeed=-speed; @@ -615,6 +670,10 @@ ofGstVideoUtils::ofGstVideoUtils(){ bBackPixelsChanged = false; buffer = 0; prevBuffer = 0; +#if GST_VERSION_MAJOR==1 + GstMapInfo initMapinfo = {0,}; + mapinfo = initMapinfo; +#endif } ofGstVideoUtils::~ofGstVideoUtils(){ @@ -629,8 +688,13 @@ void ofGstVideoUtils::close(){ bIsFrameNew = false; bHavePixelsChanged = false; bBackPixelsChanged = false; +#if GST_VERSION_MAJOR==0 if(prevBuffer) gst_buffer_unref (prevBuffer); if(buffer) gst_buffer_unref (buffer); +#else + if(prevBuffer) gst_sample_unref (prevBuffer); + if(buffer) gst_sample_unref (buffer); +#endif prevBuffer = 0; buffer = 0; } @@ -655,12 +719,17 @@ void ofGstVideoUtils::update(){ if (bHavePixelsChanged){ bBackPixelsChanged=false; pixels.swap(backPixels); +#if GST_VERSION_MAJOR==0 if(prevBuffer) gst_buffer_unref (prevBuffer); +#else + if(prevBuffer) gst_sample_unref (prevBuffer); +#endif prevBuffer = buffer; } mutex.unlock(); }else{ +#if GST_VERSION_MAJOR==0 GstBuffer *buffer; //get the buffer from appsink @@ -670,13 +739,37 @@ void ofGstVideoUtils::update(){ if(buffer){ if(pixels.isAllocated()){ if(prevBuffer) gst_buffer_unref (prevBuffer); - //memcpy (pixels.getPixels(), GST_BUFFER_DATA (buffer), size); pixels.setFromExternalPixels(GST_BUFFER_DATA (buffer),pixels.getWidth(),pixels.getHeight(),pixels.getNumChannels()); prevBuffer = buffer; bHavePixelsChanged=true; } } } +#else + GstBuffer *buffer; + GstSample * sample; + + //get the buffer from appsink + if(isPaused()){ + sample = gst_app_sink_pull_preroll (GST_APP_SINK (getSink())); + }else{ + sample = gst_app_sink_pull_sample (GST_APP_SINK (getSink())); + } + buffer = gst_sample_get_buffer(sample); + + if(buffer){ + if(pixels.isAllocated()){ + if(prevBuffer) gst_sample_unref (prevBuffer); + gst_buffer_map (buffer, &mapinfo, GST_MAP_READ); + //TODO: stride = mapinfo.size / height; + pixels.setFromExternalPixels(mapinfo.data,pixels.getWidth(),pixels.getHeight(),pixels.getNumChannels()); + prevBuffer = sample; + bHavePixelsChanged=true; + gst_buffer_unmap(buffer,&mapinfo); + } + } + } +#endif }else{ ofLog(OF_LOG_WARNING,"ofGstVideoUtils not loaded"); } @@ -694,12 +787,21 @@ float ofGstVideoUtils::getWidth(){ bool ofGstVideoUtils::setPipeline(string pipeline, int bpp, bool isStream, int w, int h){ string caps; +#if GST_VERSION_MAJOR==0 if(bpp==8) caps="video/x-raw-gray, depth=8, bpp=8"; else if(bpp==32) caps="video/x-raw-rgb, depth=24, bpp=32, endianness=4321, red_mask=0xff0000, green_mask=0x00ff00, blue_mask=0x0000ff, alpha_mask=0x000000ff"; else caps="video/x-raw-rgb, depth=24, bpp=24, endianness=4321, red_mask=0xff0000, green_mask=0x00ff00, blue_mask=0x0000ff, alpha_mask=0x000000ff"; +#else + if(bpp==8) + caps="video/x-raw, format=GRAY8"; + else if(bpp==32) + caps="video/x-raw, format=RGBA"; + else + caps="video/x-raw, format=RGB"; +#endif if(w!=-1 && h!=-1){ caps+=", width=" + ofToString(w) + ", height=" + ofToString(h); @@ -725,11 +827,9 @@ bool ofGstVideoUtils::allocate(int w, int h, int _bpp){ return pixels.isAllocated(); } - +#if GST_VERSION_MAJOR==0 GstFlowReturn ofGstVideoUtils::preroll_cb(GstBuffer * _buffer){ - guint size; - - size = GST_BUFFER_SIZE (_buffer); + guint size = GST_BUFFER_SIZE (_buffer); if(pixels.isAllocated() && pixels.getWidth()*pixels.getHeight()*pixels.getBytesPerPixel()!=(int)size){ ofLog(OF_LOG_ERROR, "on_preproll: error preroll buffer size: " + ofToString(size) + "!= init size: " + ofToString(pixels.getWidth()*pixels.getHeight()*pixels.getBytesPerPixel())); gst_buffer_unref (_buffer); @@ -754,7 +854,39 @@ GstFlowReturn ofGstVideoUtils::preroll_cb(GstBuffer * _buffer){ } return ofGstUtils::preroll_cb(_buffer); } +#else +GstFlowReturn ofGstVideoUtils::preroll_cb(GstSample * sample){ + GstBuffer * _buffer = gst_sample_get_buffer(sample); + gst_buffer_map (_buffer, &mapinfo, GST_MAP_READ); + guint size = mapinfo.size; + if(pixels.isAllocated() && pixels.getWidth()*pixels.getHeight()*pixels.getBytesPerPixel()!=(int)size){ + ofLog(OF_LOG_ERROR, "on_preproll: error preroll buffer size: " + ofToString(size) + "!= init size: " + ofToString(pixels.getWidth()*pixels.getHeight()*pixels.getBytesPerPixel())); + gst_sample_unref (sample); + return GST_FLOW_ERROR; + } + mutex.lock(); + if(bBackPixelsChanged && buffer) gst_sample_unref (buffer); + if(pixels.isAllocated()){ + buffer = sample; + backPixels.setFromExternalPixels(mapinfo.data,pixels.getWidth(),pixels.getHeight(),pixels.getNumChannels()); + eventPixels.setFromExternalPixels(mapinfo.data,pixels.getWidth(),pixels.getHeight(),pixels.getNumChannels()); + bBackPixelsChanged=true; + mutex.unlock(); + ofNotifyEvent(prerollEvent,eventPixels); + }else{ + if(isStream && appsink){ + appsink->on_stream_prepared(); + }else{ + ofLog(OF_LOG_WARNING,"received a preroll without allocation"); + } + mutex.unlock(); + } + gst_buffer_unmap(_buffer,&mapinfo); + return ofGstUtils::preroll_cb(sample); +} +#endif +#if GST_VERSION_MAJOR==0 GstFlowReturn ofGstVideoUtils::buffer_cb(GstBuffer * _buffer){ guint size; @@ -785,6 +917,37 @@ GstFlowReturn ofGstVideoUtils::buffer_cb(GstBuffer * _buffer){ return ofGstUtils::buffer_cb(buffer); } +#else +GstFlowReturn ofGstVideoUtils::buffer_cb(GstSample * sample){ + GstBuffer * _buffer = gst_sample_get_buffer(sample); + gst_buffer_map (_buffer, &mapinfo, GST_MAP_READ); + guint size = mapinfo.size; + if(pixels.isAllocated() && pixels.getWidth()*pixels.getHeight()*pixels.getBytesPerPixel()!=(int)size){ + ofLog(OF_LOG_ERROR, "on_preproll: error on new buffer, buffer size: " + ofToString(size) + "!= init size: " + ofToString(pixels.getWidth()*pixels.getHeight()*pixels.getBytesPerPixel())); + gst_sample_unref (sample); + return GST_FLOW_ERROR; + } + mutex.lock(); + if(bBackPixelsChanged && buffer) gst_sample_unref (buffer); + if(pixels.isAllocated()){ + buffer = sample; + backPixels.setFromExternalPixels(mapinfo.data,pixels.getWidth(),pixels.getHeight(),pixels.getNumChannels()); + eventPixels.setFromExternalPixels(mapinfo.data,pixels.getWidth(),pixels.getHeight(),pixels.getNumChannels()); + bBackPixelsChanged=true; + mutex.unlock(); + ofNotifyEvent(bufferEvent,eventPixels); + }else{ + if(isStream && appsink){ + appsink->on_stream_prepared(); + }else{ + ofLog(OF_LOG_WARNING,"received a preroll without allocation"); + } + mutex.unlock(); + } + gst_buffer_unmap(_buffer,&mapinfo); + return ofGstUtils::buffer_cb(buffer); +} +#endif void ofGstVideoUtils::eos_cb(){ ofGstUtils::eos_cb(); diff --git a/libs/openFrameworks/video/ofGstUtils.h b/libs/openFrameworks/video/ofGstUtils.h index 9ce109f801d..3ab8eca7d84 100644 --- a/libs/openFrameworks/video/ofGstUtils.h +++ b/libs/openFrameworks/video/ofGstUtils.h @@ -9,6 +9,7 @@ #include "ofEvents.h" #define GST_DISABLE_DEPRECATED +#include #include class ofGstAppSink; @@ -60,8 +61,13 @@ class ofGstUtils{ void setSinkListener(ofGstAppSink * appsink); // callbacks to get called from gstreamer +#if GST_VERSION_MAJOR==0 virtual GstFlowReturn preroll_cb(GstBuffer * buffer); virtual GstFlowReturn buffer_cb(GstBuffer * buffer); +#else + virtual GstFlowReturn preroll_cb(GstSample * buffer); + virtual GstFlowReturn buffer_cb(GstSample * buffer); +#endif virtual void eos_cb(); static void startGstMainLoop(); @@ -124,8 +130,13 @@ class ofGstVideoUtils: public ofBaseVideo, public ofGstUtils{ ofEvent eosEvent; protected: - GstFlowReturn preroll_cb(GstBuffer * buffer); - GstFlowReturn buffer_cb(GstBuffer * buffer); +#if GST_VERSION_MAJOR==0 + GstFlowReturn preroll_cb(GstBuffer * buffer); + GstFlowReturn buffer_cb(GstBuffer * buffer); +#else + GstFlowReturn preroll_cb(GstSample * buffer); + GstFlowReturn buffer_cb(GstSample * buffer); +#endif void eos_cb(); @@ -137,7 +148,12 @@ class ofGstVideoUtils: public ofBaseVideo, public ofGstUtils{ bool bHavePixelsChanged; bool bBackPixelsChanged; ofMutex mutex; +#if GST_VERSION_MAJOR==0 GstBuffer * buffer, *prevBuffer; +#else + GstSample * buffer, *prevBuffer; + GstMapInfo mapinfo; +#endif }; @@ -147,12 +163,22 @@ class ofGstVideoUtils: public ofBaseVideo, public ofGstUtils{ class ofGstAppSink{ public: - virtual GstFlowReturn on_preroll(GstBuffer * buffer){ + virtual ~ofGstAppSink(){} +#if GST_VERSION_MAJOR==0 + virtual GstFlowReturn on_preroll(GstBuffer * buffer){ + return GST_FLOW_OK; + } + virtual GstFlowReturn on_buffer(GstBuffer * buffer){ + return GST_FLOW_OK; + } +#else + virtual GstFlowReturn on_preroll(GstSample * buffer){ return GST_FLOW_OK; } - virtual GstFlowReturn on_buffer(GstBuffer * buffer){ + virtual GstFlowReturn on_buffer(GstSample * buffer){ return GST_FLOW_OK; } +#endif virtual void on_eos(){} // return true to set the message as attended so upstream doesn't try to process it diff --git a/libs/openFrameworks/video/ofGstVideoGrabber.cpp b/libs/openFrameworks/video/ofGstVideoGrabber.cpp index efbdefe2787..7ecd9e81064 100644 --- a/libs/openFrameworks/video/ofGstVideoGrabber.cpp +++ b/libs/openFrameworks/video/ofGstVideoGrabber.cpp @@ -7,6 +7,7 @@ #include "ofGstVideoGrabber.h" +#include //------------------------------------------------- //----------------------------------------- grabber @@ -14,10 +15,9 @@ #ifdef TARGET_LINUX // not needed any more, keeping it for compatibility with previous version -#define LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE -#define PREFER_RGB_OVER_YUV +//#define LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE +//#define PREFER_RGB_OVER_YUV #define PREFER_NON_COMPRESSED -//#define USE_FOURCC extern "C" { #include @@ -273,7 +273,7 @@ static int find_resolution(ofGstDevice &webcam_device, int width, int height){ return -1; } - +#if GST_VERSION_MAJOR==0 static void add_video_format (ofGstDevice &webcam_device, ofGstVideoFormat &video_format, GstStructure &format_structure, int desired_framerate) { @@ -343,7 +343,69 @@ static void add_video_format (ofGstDevice &webcam_device, webcam_device.video_formats.push_back(video_format); } +#else +static void add_video_format (ofGstDevice &webcam_device, + ofGstVideoFormat &video_format, GstStructure &format_structure, int desired_framerate) +{ + ofLog(OF_LOG_NOTICE,"%s %s %d x %d framerates:", + video_format.mimetype.c_str(), + video_format.format_name.c_str(), + video_format.width, + video_format.height); + get_supported_framerates (video_format, format_structure); + find_framerate (video_format, desired_framerate); + + int i = find_resolution(webcam_device,video_format.width, video_format.height); + + if (i!=-1) { // Resolution already added ? + float new_framerate = (float)video_format.choosen_framerate.numerator / + video_format.choosen_framerate.denominator; + float curr_framerate = (float)webcam_device.video_formats[i].choosen_framerate.numerator / + webcam_device.video_formats[i].choosen_framerate.denominator; + if (desired_framerate == -1){ + // choose faster + if(new_framerate > curr_framerate) { + ofLog(OF_LOG_VERBOSE,"higher framerate replacing existing format\n"); + webcam_device.video_formats[i] = video_format; + + } + }else{ + if(fabs(new_framerate - desired_framerate) < fabs(curr_framerate - desired_framerate) ){ + ofLog(OF_LOG_VERBOSE,"more similar framerate replacing existing format\n"); + webcam_device.video_formats[i] = video_format; + }else{ + ofLog(OF_LOG_VERBOSE,"already added, skipping\n"); + } + } + + // with same fps choose non_compressed over compressed + if(gst_video_format_from_string(webcam_device.video_formats[i].format_name.c_str()) == GST_VIDEO_FORMAT_ENCODED + && ( gst_video_format_from_string(video_format.format_name.c_str()) != GST_VIDEO_FORMAT_ENCODED ) + && new_framerate == curr_framerate){ + ofLog(OF_LOG_VERBOSE,"non compressed format with same framerate, replacing existing format\n"); + webcam_device.video_formats[i] = video_format; + } +#ifdef PREFER_RGB_OVER_YUV + // with same fps choose rgb over other formats to avoid colorspace compression + else if(gst_video_format_from_string(webcam_device.video_formats[i].format_name.c_str()) != GST_VIDEO_FORMAT_RGB + && gst_video_format_from_string(video_format.format_name.c_str()) == GST_VIDEO_FORMAT_RGB + && new_framerate == curr_framerate){ + ofLog(OF_LOG_VERBOSE,"rgb format with same framerate as other format, replacing existing format\n"); + webcam_device.video_formats[i] = video_format; + + } +#endif + else{ + ofLog(OF_LOG_VERBOSE,"already added, skipping\n"); + } + + return; + } + + webcam_device.video_formats.push_back(video_format); +} +#endif // TODO: gets formats for cameras, when a format returns a range it gets // in steps /2 and *2 from min to max and max to min, for format7 it should be free to get any size @@ -363,15 +425,13 @@ static void get_supported_video_formats (ofGstDevice &webcam_device, GstCaps &ca if (G_VALUE_HOLDS_INT (width)){ ofGstVideoFormat video_format; - video_format.fourcc = -1; video_format.mimetype = gst_structure_get_name (structure); gst_structure_get_int (structure, "width", &(video_format.width)); gst_structure_get_int (structure, "height", &(video_format.height)); - #ifdef USE_FOURCC - if(gst_structure_has_field(structure,"format")){ - gst_structure_get_fourcc(structure, "format", &video_format.fourcc); - } + #if GST_VERSION_MAJOR==1 + if(gst_structure_get_string(structure,"format")) + video_format.format_name = gst_structure_get_string(structure,"format"); #endif //cout << gst_structure_to_string(structure) << endl;; add_video_format(webcam_device, video_format, *structure, desired_framerate); @@ -392,10 +452,9 @@ static void get_supported_video_formats (ofGstDevice &webcam_device, GstCaps &ca video_format.mimetype = gst_structure_get_name (structure); video_format.width = cur_width; video_format.height = cur_height; - #ifdef USE_FOURCC - if(gst_structure_has_field(structure,"format")){ - gst_structure_get_fourcc(structure, "format", &video_format.fourcc); - } + #if GST_VERSION_MAJOR==1 + if(gst_structure_get_string(structure,"format")) + video_format.format_name = gst_structure_get_string(structure,"format"); #endif add_video_format(webcam_device, video_format, *structure, desired_framerate); cur_width *= 2; @@ -410,10 +469,9 @@ static void get_supported_video_formats (ofGstDevice &webcam_device, GstCaps &ca video_format.mimetype = gst_structure_get_name (structure); video_format.width = cur_width; video_format.height = cur_height; - #ifdef USE_FOURCC - if(gst_structure_has_field(structure,"format")){ - gst_structure_get_fourcc(structure, "format", &video_format.fourcc); - } + #if GST_VERSION_MAJOR==1 + if(gst_structure_get_string(structure,"format")) + video_format.format_name = gst_structure_get_string(structure,"format"); #endif add_video_format(webcam_device, video_format, *structure, desired_framerate); cur_width /= 2; @@ -462,7 +520,7 @@ static void get_device_data (ofGstDevice &webcam_device, int desired_framerate) ofLog(OF_LOG_VERBOSE, "Device: %s (%s)\n", name==NULL?"":name, webcam_device.video_device.c_str()); GstPad *pad = gst_element_get_static_pad (src, "src"); - GstCaps *caps = gst_pad_get_caps (pad); + GstCaps *caps = gst_pad_get_allowed_caps (pad); gst_object_unref (pad); get_supported_video_formats (webcam_device, *caps, desired_framerate); @@ -559,25 +617,53 @@ bool ofGstVideoGrabber::initGrabber(int w, int h){ ofGstVideoFormat & format = selectFormat(w, h, attemptFramerate); ofLog(OF_LOG_NOTICE,"ofGstUtils: selected device: " + camData.webcam_devices[deviceID].product_name); - ofLog(OF_LOG_NOTICE,"ofGstUtils: selected format: " + ofToString(format.width) + "x" + ofToString(format.height) + " " + format.mimetype + " framerate: " + ofToString(format.choosen_framerate.numerator) + "/" + ofToString(format.choosen_framerate.denominator)); + ofLog(OF_LOG_NOTICE,"ofGstUtils: selected format: " + ofToString(format.width) + "x" + ofToString(format.height) + " " + format.mimetype + " " + format.format_name + " framerate: " + ofToString(format.choosen_framerate.numerator) + "/" + ofToString(format.choosen_framerate.denominator)); bIsCamera = true; +#if GST_VERSION_MAJOR==0 const char * decodebin = ""; if(format.mimetype == "video/x-raw-bayer") decodebin = "! bayer2rgb "; else if(format.mimetype != "video/x-raw-yuv" && format.mimetype != "video/x-raw-rgb") decodebin = "! decodebin2 "; - const char * scale = "! ffmpegcolorspace "; if( w!=format.width || h!=format.height ) scale = "! ffvideoscale method=2 "; + string format_str_pipeline = "%s name=video_source device=%s ! " + "%s,width=%d,height=%d,framerate=%d/%d " + "%s %s "; + + gchar* pipeline_string=g_strdup_printf ( + format_str_pipeline.c_str(), + camData.webcam_devices[deviceID].gstreamer_src.c_str(), + camData.webcam_devices[deviceID].video_device.c_str(), + format.mimetype.c_str(), + format.width, + format.height, + format.choosen_framerate.numerator, + format.choosen_framerate.denominator, + decodebin, scale); +#else + const char * decodebin = ""; + if(format.mimetype == "video/x-bayer") + decodebin = "! bayer2rgb "; + else if(gst_video_format_from_string(format.format_name.c_str()) == GST_VIDEO_FORMAT_ENCODED) + decodebin = "! decodebin "; + + const char * scale = ""; + if(format.format_name!="RGB"){ + scale = "! videoconvert "; + } + + if( w!=format.width || h!=format.height ){ + scale = "! ffvideoscale method=2 "; + } -#ifdef USE_FOURCC string format_str_pipeline; gchar* pipeline_string; - if(format.fourcc==-1){ + if(format.format_name==""){ format_str_pipeline = "%s name=video_source device=%s ! " "%s,width=%d,height=%d,framerate=%d/%d " "%s %s "; @@ -594,7 +680,7 @@ bool ofGstVideoGrabber::initGrabber(int w, int h){ decodebin, scale); }else{ format_str_pipeline = "%s name=video_source device=%s ! " - "%s,format=\(fourcc\)%" GST_FOURCC_FORMAT ",width=%d,height=%d,framerate=%d/%d " + "%s,format=%s,width=%d,height=%d,framerate=%d/%d " "%s %s "; pipeline_string=g_strdup_printf ( @@ -602,30 +688,16 @@ bool ofGstVideoGrabber::initGrabber(int w, int h){ camData.webcam_devices[deviceID].gstreamer_src.c_str(), camData.webcam_devices[deviceID].video_device.c_str(), format.mimetype.c_str(), - GST_FOURCC_ARGS(format.fourcc), + format.format_name.c_str(), format.width, format.height, format.choosen_framerate.numerator, format.choosen_framerate.denominator, decodebin, scale); } -#else - string format_str_pipeline = "%s name=video_source device=%s ! " - "%s,width=%d,height=%d,framerate=%d/%d " - "%s %s "; - - gchar* pipeline_string=g_strdup_printf ( - format_str_pipeline.c_str(), - camData.webcam_devices[deviceID].gstreamer_src.c_str(), - camData.webcam_devices[deviceID].video_device.c_str(), - format.mimetype.c_str(), - format.width, - format.height, - format.choosen_framerate.numerator, - format.choosen_framerate.denominator, - decodebin, scale); #endif + int bpp; switch(internalPixelFormat){ case OF_PIXELS_MONO: diff --git a/libs/openFrameworks/video/ofGstVideoGrabber.h b/libs/openFrameworks/video/ofGstVideoGrabber.h index e913304e89b..32fff2f3967 100644 --- a/libs/openFrameworks/video/ofGstVideoGrabber.h +++ b/libs/openFrameworks/video/ofGstVideoGrabber.h @@ -9,7 +9,7 @@ struct ofGstFramerate{ struct ofGstVideoFormat{ string mimetype; - unsigned int fourcc; + string format_name; int width; int height; vector framerates; diff --git a/libs/openFrameworks/video/ofGstVideoPlayer.cpp b/libs/openFrameworks/video/ofGstVideoPlayer.cpp index 8533c1914e0..32e1d033f42 100644 --- a/libs/openFrameworks/video/ofGstVideoPlayer.cpp +++ b/libs/openFrameworks/video/ofGstVideoPlayer.cpp @@ -8,7 +8,6 @@ #include "ofGstVideoPlayer.h" #include #include -#include #include @@ -48,7 +47,11 @@ bool ofGstVideoPlayer::loadMovie(string name){ ofGstUtils::startGstMainLoop(); +#if GST_VERSION_MAJOR==0 GstElement * gstPipeline = gst_element_factory_make("playbin2","player"); +#else + GstElement * gstPipeline = gst_element_factory_make("playbin","player"); +#endif g_object_set(G_OBJECT(gstPipeline), "uri", name.c_str(), (void*)NULL); // create the oF appsink for video rgb without sync to clock @@ -59,6 +62,7 @@ bool ofGstVideoPlayer::loadMovie(string name){ gst_app_sink_set_drop (GST_APP_SINK(gstSink),true); gst_base_sink_set_max_lateness (GST_BASE_SINK(gstSink), -1); +#if GST_VERSION_MAJOR==0 int bpp; string mime; switch(internalPixelFormat){ @@ -89,9 +93,47 @@ bool ofGstVideoPlayer::loadMovie(string name){ "green_mask",G_TYPE_INT,0x00ff00, "blue_mask",G_TYPE_INT,0x0000ff, "alpha_mask",G_TYPE_INT,0x000000ff, + NULL); +#else + int bpp; + string mime="video/x-raw"; + string format; + switch(internalPixelFormat){ + case OF_PIXELS_MONO: + format = "GRAY8"; + bpp = 8; + break; + case OF_PIXELS_RGB: + format = "RGB"; + bpp = 24; + break; + case OF_PIXELS_RGBA: + format = "RGBA"; + bpp = 32; + break; + case OF_PIXELS_BGRA: + format = "BGRA"; + bpp = 32; + break; + default: + format = "RGB"; + bpp=24; + break; + } - + GstCaps *caps = gst_caps_new_simple(mime.c_str(), + "format", G_TYPE_STRING, format.c_str(), + /*"bpp", G_TYPE_INT, bpp, + "depth", G_TYPE_INT, 24, + "endianness",G_TYPE_INT,4321, + "red_mask",G_TYPE_INT,0xff0000, + "green_mask",G_TYPE_INT,0x00ff00, + "blue_mask",G_TYPE_INT,0x0000ff, + "alpha_mask",G_TYPE_INT,0x000000ff,*/ NULL); +#endif + + gst_app_sink_set_caps(GST_APP_SINK(gstSink), caps); gst_caps_unref(caps); @@ -137,6 +179,7 @@ bool ofGstVideoPlayer::allocate(int bpp){ nFrames = 0; if(GstPad* pad = gst_element_get_static_pad(videoUtils.getSink(), "sink")){ +#if GST_VERSION_MAJOR==0 int width,height; if(gst_video_get_size(GST_PAD(pad), &width, &height)){ if(!videoUtils.allocate(width,height,bpp)) return false; @@ -145,8 +188,7 @@ bool ofGstVideoPlayer::allocate(int bpp){ return false; } - const GValue *framerate; - framerate = gst_video_frame_rate(pad); + const GValue *framerate = gst_video_frame_rate(pad); fps_n=0; fps_d=0; if(framerate && GST_VALUE_HOLDS_FRACTION (framerate)){ @@ -157,8 +199,29 @@ bool ofGstVideoPlayer::allocate(int bpp){ }else{ ofLog(OF_LOG_WARNING,"Gstreamer: cannot get framerate, frame seek won't work"); } - gst_object_unref(GST_OBJECT(pad)); bIsAllocated = true; +#else + if(GstCaps *caps = gst_pad_get_current_caps (GST_PAD (pad))){ + GstVideoInfo info; + gst_video_info_init (&info); + if (gst_video_info_from_caps (&info, caps)){ + if(!videoUtils.allocate(info.width,info.height,bpp)) return false; + }else{ + ofLog(OF_LOG_ERROR,"GStreamer: cannot query width and height"); + return false; + } + + fps_n = info.fps_n; + fps_d = info.fps_d; + nFrames = (float)(durationNanos / GST_SECOND) * (float)fps_n/(float)fps_d; + gst_caps_unref(caps); + bIsAllocated = true; + }else{ + ofLog(OF_LOG_ERROR,"GStreamer: cannot get pipeline caps"); + bIsAllocated = false; + } +#endif + gst_object_unref(GST_OBJECT(pad)); }else{ ofLog(OF_LOG_ERROR,"GStreamer: cannot get sink pad"); bIsAllocated = false; diff --git a/libs/openFrameworksCompiled/project/android/makefile b/libs/openFrameworksCompiled/project/android/makefile index df6ebb28e97..b3284f5b178 100644 --- a/libs/openFrameworksCompiled/project/android/makefile +++ b/libs/openFrameworksCompiled/project/android/makefile @@ -134,7 +134,7 @@ ifneq ($(ARCH),android) endif ifeq ($(findstring Debug,$(MAKECMDGOALS)),Debug) - TARGET_CFLAGS = -g3 + TARGET_CFLAGS = -g3 -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 TARGET_NAME = $(MAKECMDGOALS) TARGET = ../../lib/$(LIBSPATH)/libopenFrameworksDebug.a endif diff --git a/libs/openFrameworksCompiled/project/linux64/makefile b/libs/openFrameworksCompiled/project/linux64/makefile index 094355f70c1..e986abe1677 100644 --- a/libs/openFrameworksCompiled/project/linux64/makefile +++ b/libs/openFrameworksCompiled/project/linux64/makefile @@ -114,7 +114,12 @@ CFLAGS += $(CORE_INCLUDE_FLAGS) ifneq ($(ARCH),android) - CFLAGS += $(shell pkg-config gstreamer-0.10 gstreamer-video-0.10 gstreamer-base-0.10 libudev glew --cflags) + ifeq ($(shell pkg-config gstreamer-1.0 --exists; echo $$?),0) + GST_VERSION = 1.0 + else + GST_VERSION = 0.10 + endif + CFLAGS += $(shell pkg-config gstreamer-$(GST_VERSION) gstreamer-video-$(GST_VERSION) gstreamer-base-$(GST_VERSION) libudev glew --cflags) #check if gtk exists and add it GTK = $(shell pkg-config gtk+-2.0 --exists; echo $$?) ifeq ($(GTK),0) diff --git a/libs/openFrameworksCompiled/project/makefileCommon/Makefile.android b/libs/openFrameworksCompiled/project/makefileCommon/Makefile.android index 3f8718c8384..1a91db82024 100644 --- a/libs/openFrameworksCompiled/project/makefileCommon/Makefile.android +++ b/libs/openFrameworksCompiled/project/makefileCommon/Makefile.android @@ -1,6 +1,7 @@ COMPILER_OPTIMIZATION = $(ANDROID_COMPILER_OPTIMIZATION) -NDK_PLATFORM = android-8 +NDK_PLATFORM = android-14 +SDK_TARGET = android-17 GCC_VERSION = 4.6 ifeq ($(findstring Release_arm7,$(MAKECMDGOALS)),Release_arm7) @@ -11,11 +12,18 @@ else LIBSPATH = android/armeabi-v7a ABI = armeabi-v7a else - LIBSPATH = android/armeabi - ABI = armeabi + ifeq ($(MAKECMDGOALS),Debug) + LIBSPATH = android/armeabi-v7a + ABI = armeabi-v7a + else + LIBSPATH = android/armeabi + ABI = armeabi + endif endif endif +PROJECT_PATH=$(PWD) + TOOLCHAIN=arm-linux-androideabi-$(GCC_VERSION) TOOLCHAIN_PATH=$(NDK_ROOT)/toolchains/$(TOOLCHAIN)/prebuilt/$(HOST_PLATFORM)/bin/ ANDROID_PREFIX=arm-linux-androideabi- @@ -38,11 +46,12 @@ SYSTEMLIBS += -lsupc++ -lz -lGLESv1_CM -llog -ldl -lm -lc $(NDK_ROOT)/sources/c LIB_STATIC += $(OF_ROOT)/libs/poco/lib/$(LIBSPATH)/libPocoNet.a $(OF_ROOT)/libs/poco/lib/$(LIBSPATH)/libPocoXML.a $(OF_ROOT)/libs/poco/lib/$(LIBSPATH)/libPocoFoundation.a #LIB_STATIC += $(OF_ROOT)/libs/libsndfile/lib/$(LIBSPATH)/libsndfile.a $(OF_ROOT)/libs/libsndfile/lib/$(LIBSPATH)/libcommon.a $(OF_ROOT)/libs/libsndfile/lib/$(LIBSPATH)/libgsm.a $(OF_ROOT)/libs/libsndfile/lib/$(LIBSPATH)/libg72x.a $(OF_ROOT)/libs/libsndfile/lib/$(LIBSPATH)/libFLAC.a $(OF_ROOT)/libs/libsndfile/lib/$(LIBSPATH)/libreplaygain_synthesis.a $(OF_ROOT)/libs/libsndfile/lib/$(LIBSPATH)/libreplaygain_analysis.a $(OF_ROOT)/libs/libsndfile/lib/$(LIBSPATH)/libgrabbag.a $(OF_ROOT)/libs/libsndfile/lib/$(LIBSPATH)/libgrabbag.a $(OF_ROOT)/libs/libsndfile/lib/$(LIBSPATH)/libgetopt.a $(OF_ROOT)/libs/libsndfile/lib/$(LIBSPATH)/libutf8.a $(OF_ROOT)/libs/libsndfile/lib/$(LIBSPATH)/libvorbis.a $(OF_ROOT)/libs/libsndfile/lib/$(LIBSPATH)/libvorbisfile.a $(OF_ROOT)/libs/libsndfile/lib/$(LIBSPATH)/libvorbisenc.a $(OF_ROOT)/libs/libsndfile/lib/$(LIBSPATH)/libogg.a - +DATA_FILES = $(shell find bin/data -type f) ifeq ($(findstring Debug,$(MAKECMDGOALS)),Debug) TARGET_NAME = Debug - TARGET = libs/armeabi/libOFAndroidApp.so + TARGET = libs/armeabi-v7a/libOFAndroidApp.so + TARGET_CFLAGS += -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 LDFLAGS += -Wl,--fix-cortex-a8 -shared -Wl,--no-undefined USER_LIBS = $(USER_LIBS_ARM) endif @@ -56,7 +65,7 @@ endif ifeq ($(findstring Release_arm7,$(MAKECMDGOALS)),Release_arm7) TARGET_NAME = Release_arm7 - TARGET_CFLAGS += -march=armv7-a -mfloat-abi=softfp -mthumb + TARGET_CFLAGS += -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb TARGET = libs/armeabi-v7a/libOFAndroidApp.so LDFLAGS += -Wl,--fix-cortex-a8 -shared -Wl,--no-undefined USER_LIBS = $(USER_LIBS_ARM7) @@ -75,6 +84,16 @@ ifeq ($(MAKECMDGOALS),AndroidInstall) TARGET_NAME = Install endif +ifeq ($(APPNAME),) + APPNAME = $(shell basename `pwd`) +endif +RESNAME=$(shell echo $(APPNAME)Resources | tr '[A-Z]' '[a-z]') +RESFILE=res/raw/$(RESNAME).zip + + +ifeq ($(PKGNAME),) + PKGNAME = cc.openframeworks.$(APPNAME) +endif DebugAndroid: $(TARGET) afterDebugAndroid @@ -82,7 +101,7 @@ ReleaseAndroid: $(TARGET) Release_arm7Android: $(TARGET) -Release_neonAndroid: $(TARGET) afterReleaseAndroid +Release_neonAndroid: $(TARGET) TestLinkAndroid: $(TARGET) afterDebugAndroid @@ -90,9 +109,22 @@ AndroidDebug: $(MAKE) DebugAndroid AndroidRelease: - $(MAKE) ReleaseAndroid - $(MAKE) Release_arm7Android - $(MAKE) Release_neonAndroid + @if [ "$(findstring armv5,$(ANDROID_BUILD_ARCHS_RELEASE))" = "armv5" ]; then \ + echo making release armv5; \ + $(MAKE) ReleaseAndroid; \ + fi + + @if [ "$(findstring armv7,$(ANDROID_BUILD_ARCHS_RELEASE))" = "armv7" ]; then \ + echo making release armv7; \ + $(MAKE) Release_arm7Android; \ + fi + + @if [ "$(findstring neon,$(ANDROID_BUILD_ARCHS_RELEASE))" = "neon" ]; then \ + echo making release neon; \ + $(MAKE) Release_neonAndroid; \ + fi + + $(MAKE) afterReleaseAndroid .PHONY: afterDebugAndroid afterReleaseAndroid CleanAndroid @@ -103,30 +135,14 @@ CleanAndroid: rm -f libs/armeabi/libOFAndroidApp.so -afterDebugAndroid:$(TARGET) - @if [ -d libs/armeabi-v7a ]; then rm -r libs/armeabi-v7a; fi - - @cp $(NDK_ROOT)/prebuilt/android-arm/gdbserver/gdbserver libs/armeabi - - #create gdb.setup for armeabi - @echo "set solib-search-path $(PWD)/obj/local/armeabi:$(PWD)/libs/armeabi" > libs/armeabi/gdb.setup - @echo "directory $(NDK_ROOT)/platforms/$(NDK_PLATFORM)/arch-arm/usr/include" >> libs/armeabi/gdb.setup - @echo "directory $(PWD)/src" >> libs/armeabi/gdb.setup - @echo "directory $(NDK_ROOT)/sources/cxx-stl/system" >> libs/armeabi/gdb.setup - @echo "directory $(PWD)/libs/armeabi" >> libs/armeabi/gdb.setup - @echo "" >> libs/armeabi/gdb.setup - - @if [ ! -d jni ]; then mkdir jni; fi - @echo "APP_ABI := armeabi" > jni/Application.mk - @echo "#LOCAL_MODULE := OFAndroidApp" > jni/Android.mk - -afterReleaseAndroid:$(TARGET) +afterDebugAndroid: $(RESFILE) + @if [ -d libs/armeabi ]; then rm -r libs/armeabi; fi @if [ -f obj/$(BIN_NAME) ]; then rm obj/$(BIN_NAME); fi - @cp $(OF_ROOT)/libs/openFrameworksCompiled/project/android/libneondetection.so libs/armeabi-v7a/ - @cp $(NDK_ROOT)/prebuilt/android-arm/gdbserver/gdbserver libs/armeabi-v7a + @echo copying debugging binaries + @cp $(NDK_ROOT)/prebuilt/android-arm/gdbserver/gdbserver libs/armeabi-v7a/ - #create gdb.setup for armeabi-v7a + @echo create gdb.setup for armeabi-v7a @echo "set solib-search-path $(PWD)/obj/local/armeabi-v7a:$(PWD)/libs/armeabi-v7a" > libs/armeabi-v7a/gdb.setup @echo "directory $(NDK_ROOT)/platforms/$(NDK_PLATFORM)/arch-arm/usr/include" >> libs/armeabi-v7a/gdb.setup @echo "directory $(PWD)/src" >> libs/armeabi-v7a/gdb.setup @@ -134,23 +150,139 @@ afterReleaseAndroid:$(TARGET) @echo "directory $(PWD)/libs/armeabi-v7a" >> libs/armeabi-v7a/gdb.setup @echo "" >> libs/armeabi-v7a/gdb.setup + @echo creating Android.mk and Application.mk @if [ ! -d jni ]; then mkdir jni; fi - @echo "APP_ABI := armeabi armeabi-v7a" > jni/Application.mk + @echo "APP_ABI := armeabi-v7a" > jni/Application.mk @echo "#LOCAL_MODULE := OFAndroidApp" > jni/Android.mk + + + @echo compressing and copying resources from bin/data into res + @cd $(PROJECT_PATH); \ + if [ -d "bin/data" ]; then \ + mkdir -p res/raw; \ + rm res/raw/$(RESNAME).zip; \ + cd bin/data; \ + zip -r ../../res/raw/$(RESNAME).zip *; \ + cd ../..; \ + fi + + #@echo updating ofAndroidLib project + #@cd $(OF_ROOT)/addons/ofxAndroid/ofAndroidLib; \ + #if [ "$(HOST_PLATFORM)" = "windows" ]; then \ + # cmd //c $(SDK_ROOT)/tools/android.bat update project --target $(SDK_TARGET) --path .; \ + #else \ + # $(SDK_ROOT)/tools/android update project --target $(SDK_TARGET) --path .; \ + #fi + + #@echo updating current project + #@cd $(PROJECT_PATH); \ + #if [ "$(HOST_PLATFORM)" = "windows" ]; then \ + # cmd //c $(SDK_ROOT)/tools/android.bat update project --target $(SDK_TARGET) --path .; \ + #else \ + # $(SDK_ROOT)/tools/android update project --target $(SDK_TARGET) --path .; \ + #fi -RESNAME=$(shell echo $(APPNAME)Resources | tr '[A-Z]' '[a-z]') +afterReleaseAndroid: $(RESFILE) + @if [ -f obj/$(BIN_NAME) ]; then rm obj/$(BIN_NAME); fi + + @echo copying debugging binaries + @if [ "$(findstring neon,$(ANDROID_BUILD_ARCHS_RELEASE))" = "neon" ]; then \ + cp $(OF_ROOT)/libs/openFrameworksCompiled/project/android/libneondetection.so libs/armeabi-v7a/; \ + fi + + @if [ "$(findstring armv5,$(ANDROID_BUILD_ARCHS_RELEASE))" = "armv5" ]; then \ + cp $(NDK_ROOT)/prebuilt/android-arm/gdbserver/gdbserver libs/armeabi; \ + fi + + @if [ "$(findstring armv7,$(ANDROID_BUILD_ARCHS_RELEASE))" = "armv7" ]; then \ + cp $(NDK_ROOT)/prebuilt/android-arm/gdbserver/gdbserver libs/armeabi-v7a; \ + fi + + @if [ "$(findstring neon,$(ANDROID_BUILD_ARCHS_RELEASE))" = "neon" ]; then \ + cp $(NDK_ROOT)/prebuilt/android-arm/gdbserver/gdbserver libs/armeabi-v7a; \ + fi + + @if [ "$(findstring armv5,$(ANDROID_BUILD_ARCHS_RELEASE))" = "armv5" ]; then \ + echo create gdb.setup for armeabi; \ + echo "set solib-search-path $(PWD)/obj/local/armeabi:$(PWD)/libs/armeabi" > libs/armeabi/gdb.setup; \ + echo "directory $(NDK_ROOT)/platforms/$(NDK_PLATFORM)/arch-arm/usr/include" >> libs/armeabi/gdb.setup; \ + echo "directory $(PWD)/src" >> libs/armeabi/gdb.setup; \ + echo "directory $(NDK_ROOT)/sources/cxx-stl/system" >> libs/armeabi/gdb.setup; \ + echo "directory $(PWD)/libs/armeabi" >> libs/armeabi/gdb.setup; \ + echo "" >> libs/armeabi/gdb.setup; \ + fi + + @if [ "$(findstring armv7,$(ANDROID_BUILD_ARCHS_RELEASE))" = "armv7" ]; then \ + echo create gdb.setup for armeabi-v7a; \ + echo "set solib-search-path $(PWD)/obj/local/armeabi-v7a:$(PWD)/libs/armeabi-v7a" > libs/armeabi-v7a/gdb.setup; \ + echo "directory $(NDK_ROOT)/platforms/$(NDK_PLATFORM)/arch-arm/usr/include" >> libs/armeabi-v7a/gdb.setup; \ + echo "directory $(PWD)/src" >> libs/armeabi-v7a/gdb.setup; \ + echo "directory $(NDK_ROOT)/sources/cxx-stl/system" >> libs/armeabi-v7a/gdb.setup; \ + echo "directory $(PWD)/libs/armeabi-v7a" >> libs/armeabi-v7a/gdb.setup ; \ + echo "" >> libs/armeabi-v7a/gdb.setup; \ + fi + + @echo creating Android.mk and Application.mk + @if [ ! -d jni ]; then mkdir jni; fi + @if [ "$(findstring armv5,$(ANDROID_BUILD_ARCHS_RELEASE))" = "armv5" ]; then \ + if [ "$(findstring armv7,$(ANDROID_BUILD_ARCHS_RELEASE))" = "armv7" ]; then \ + echo "APP_ABI := armeabi armeabi-v7a" > jni/Application.mk; \ + else \ + if [ "$(findstring neon,$(ANDROID_BUILD_ARCHS_RELEASE))" = "neon" ]; then \ + echo "APP_ABI := armeabi armeabi-v7a" > jni/Application.mk; \ + else \ + echo "APP_ABI := armeabi-v7a" > jni/Application.mk; \ + fi; \ + fi; \ + else \ + if [ "$(findstring armv7,$(ANDROID_BUILD_ARCHS_RELEASE))" = "armv7" ]; then \ + echo "APP_ABI := armeabi-v7a" > jni/Application.mk; \ + else \ + if [ "$(findstring neon,$(ANDROID_BUILD_ARCHS_RELEASE))" = "neon" ]; then \ + echo "APP_ABI := armeabi-v7a" > jni/Application.mk; \ + else \ + echo "APP_ABI := armeabi armeabi-v7a" > jni/Application.mk; \ + fi; \ + fi; \ + fi; \ + echo "#LOCAL_MODULE := OFAndroidApp" > jni/Android.mk + + #@echo updating ofAndroidLib project + #@cd $(OF_ROOT)/addons/ofxAndroid/ofAndroidLib; \ + #if [ "$(HOST_PLATFORM)" = "windows" ]; then \ + # cmd //c $(SDK_ROOT)/tools/android.bat update project --target $(SDK_TARGET) --path .; \ + #else \ + # $(SDK_ROOT)/tools/android update project --target $(SDK_TARGET) --path .; \ + #fi + + #@echo updating current project + #@cd $(PROJECT_PATH); \ + #if [ "$(HOST_PLATFORM)" = "windows" ]; then \ + # cmd //c $(SDK_ROOT)/tools/android.bat update project --target $(SDK_TARGET) --path .; \ + #else \ + # $(SDK_ROOT)/tools/android update project --target $(SDK_TARGET) --path .; \ + #fi + +$(RESFILE): $(DATA_FILES) + @echo compressing and copying resources from bin/data into res + cd $(PROJECT_PATH); \ + if [ -d "bin/data" ]; then \ + mkdir -p res/raw; \ + rm res/raw/$(RESNAME).zip; \ + cd bin/data; \ + zip -r ../../res/raw/$(RESNAME).zip *; \ + cd ../..; \ + fi -ifeq ($(PKGNAME),) - PKGNAME = cc.openframeworks.$(APPNAME) -endif AndroidInstall: cd $(OF_ROOT)/addons/ofxAndroid/ofAndroidLib; \ - if [ "$(shell uname)" = "MINGW32_NT-6.1" ]; then \ - cmd //c $(SDK_ROOT)/tools/android.bat update project --target $(NDK_PLATFORM) --path .; \ + echo installing on $(HOST_PLATFORM); \ + if [ "$(HOST_PLATFORM)" = "windows" ]; then \ + cmd //c $(SDK_ROOT)/tools/android.bat update project --target $(SDK_TARGET) --path .; \ else \ - $(SDK_ROOT)/tools/android update project --target $(NDK_PLATFORM) --path .; \ - fi + $(SDK_ROOT)/tools/android update project --target $(SDK_TARGET) --path .; \ + fi cd $(PROJECT_PATH); \ if [ -d "bin/data" ]; then \ mkdir -p res/raw; \ @@ -161,31 +293,24 @@ AndroidInstall: fi if [ -f obj/$(BIN_NAME) ]; then rm obj/$(BIN_NAME); fi #touch AndroidManifest.xml - if [ "$(shell uname)" = "MINGW32_NT-6.1" ]; then \ - cmd //c $(SDK_ROOT)/tools/android.bat update project --target $(NDK_PLATFORM) --path $(PROJECT_PATH); \ + if [ "$(HOST_PLATFORM)" = "windows" ]; then \ + cmd //c $(SDK_ROOT)/tools/android.bat update project --target $(SDK_TARGET) --path .; \ else \ - $(SDK_ROOT)/tools/android update project --target $(NDK_PLATFORM) --path $(PROJECT_PATH); \ + $(SDK_ROOT)/tools/android update project --target $(SDK_TARGET) --path .; \ fi - if [ -d bin/classes ]; then rm -r bin/classes; fi - if [ -d bin/res ]; then rm -r bin/res; fi - if [ -f bin/classes.dex ]; then rm bin/classes.dex; fi - if [ -f bin/classes.dex.d ]; then rm bin/classes.dex.d; fi - if [ -f bin/OFActivity.ap_ ]; then rm bin/OFActivity.ap_; fi - if [ -f bin/OFActivity.ap_.d ]; then rm bin/OFActivity.ap_.d; fi - if [ -f bin/OFActivity-debug.apk ]; then rm bin/OFActivity-debug.apk; fi - if [ -f bin/OFActivity-debug-unaligned.apk ]; then rm bin/OFActivity-debug-unaligned.apk; fi - if [ -f bin/OFActivity-debug-unaligned.apk.d ]; then rm bin/OFActivity-debug-unaligned.apk.d; fi - if [ -f bin/$(APPNAME).apk ]; then rm bin/$(APPNAME).apk; fi - if [ -f bin/build.prop ]; then rm bin/build.prop; fi - if [ -f bin/jarlist.cache ]; then rm bin/jarlist.cache; fi - if [ "$(shell uname)" = "MINGW32_NT-6.1" ]; then \ - $(ANT_BIN)/ant debug; \ + + #rm -r $(addprefix bin/,$(shell ls bin/ | grep -v ^data$)) + + if [ "$(HOST_PLATFORM)" = "windows" ]; then \ + #$(ANT_BIN)/ant clean; \ + $(ANT_BIN)/ant debug install; \ else \ - ant debug; \ + #ant clean; \ + ant debug install; \ fi cp bin/OFActivity-debug.apk bin/$(APPNAME).apk #if [ "$(shell $(SDK_ROOT)/platform-tools/adb get-state)" = "device" ]; then - $(SDK_ROOT)/platform-tools/adb uninstall $(PKGNAME) + #$(SDK_ROOT)/platform-tools/adb uninstall $(PKGNAME) $(SDK_ROOT)/platform-tools/adb install -r bin/$(APPNAME).apk; #fi $(SDK_ROOT)/platform-tools/adb shell am start -a android.intent.action.MAIN -n $(PKGNAME)/$(PKGNAME).OFActivity diff --git a/libs/openFrameworksCompiled/project/makefileCommon/Makefile.examples b/libs/openFrameworksCompiled/project/makefileCommon/Makefile.examples index 258e650ab6a..6abff85c5de 100644 --- a/libs/openFrameworksCompiled/project/makefileCommon/Makefile.examples +++ b/libs/openFrameworksCompiled/project/makefileCommon/Makefile.examples @@ -29,7 +29,7 @@ ifeq ($(findstring Android,$(MAKECMDGOALS)),Android) ARCH = android ifeq ($(shell uname),Darwin) HOST_PLATFORM = darwin-x86 - else ifeq ($(shell uname),MINGW32_NT-6.1) + else ifneq (,$(findstring MINGW32_NT,$(shell uname))) HOST_PLATFORM = windows else HOST_PLATFORM = linux-x86 @@ -59,22 +59,22 @@ endif SHELL = /bin/sh NODEPS = clean -SED_EXCLUDE_FROM_SRC = $(shell echo $(EXCLUDE_FROM_SOURCE) | sed 's/\,/\\|/g') -SOURCE_DIRS = $(shell find . -maxdepth 1 -mindepth 1 -type d | grep -v "$(SED_EXCLUDE_FROM_SRC)" | sed s/.\\///) -SOURCES = $(shell find $(SOURCE_DIRS) -name "*.cpp" -or -name "*.c" -or -name "*.cc" -or -name "*.cxx") +SED_EXCLUDE_FROM_SRC = $(shell echo $(EXCLUDE_FROM_SOURCE) | sed 's/\,/\\|/g')\|^\..*\|\/\..* +SOURCE_DIRS = $(shell find . -type d 2> /dev/null | sed s/.\\/// | grep -v "$(SED_EXCLUDE_FROM_SRC)" ) +SOURCES = $(shell find $(SOURCE_DIRS) -maxdepth 1 -name "*.cpp" -or -name "*.c" -or -name "*.cc" -or -name "*.cxx" 2> /dev/null) OBJFILES = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(patsubst %.cxx,%.o,$(patsubst %.cc,%.o,$(SOURCES))))) ifneq (,$(USER_SOURCE_DIR)) - USER_SOURCES = $(shell find $(USER_SOURCE_DIR) -name "*.cpp" -or -name "*.c" -or -name "*.cc" -or -name "*.cxx") + USER_SOURCES = $(shell find $(USER_SOURCE_DIR) -name "*.cpp" -or -name "*.c" -or -name "*.cc" -or -name "*.cxx" 2> /dev/null) USER_OBJFILES = $(subst $(USER_SOURCE_DIR)/, ,$(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(patsubst %.cxx,%.o,$(patsubst %.cc,%.o,$(USER_SOURCES)))))) endif ifeq ($(APPNAME),) APPNAME = $(shell basename `pwd`) endif -CORE_INCLUDES = $(shell find $(OF_ROOT)/libs/openFrameworks/ -type d) +CORE_INCLUDES = $(shell find $(OF_ROOT)/libs/openFrameworks/ -type d 2> /dev/null) CORE_INCLUDE_FLAGS = $(addprefix -I,$(CORE_INCLUDES)) -INCLUDES = $(shell find $(OF_ROOT)/libs/*/include -type d | grep -v glu | grep -v quicktime | grep -v poco | grep -v glew) +INCLUDES = $(shell find $(OF_ROOT)/libs/*/include -type d 2> /dev/null | grep -v glu | grep -v quicktime | grep -v poco | grep -v glew ) INCLUDES_FLAGS += $(addprefix -I,$(INCLUDES)) INCLUDES_FLAGS += -I$(OF_ROOT)/libs/poco/include diff --git a/libs/openFrameworksCompiled/project/makefileCommon/Makefile.linux b/libs/openFrameworksCompiled/project/makefileCommon/Makefile.linux index 9ed3c9416d7..4d234dfeeb7 100644 --- a/libs/openFrameworksCompiled/project/makefileCommon/Makefile.linux +++ b/libs/openFrameworksCompiled/project/makefileCommon/Makefile.linux @@ -12,8 +12,14 @@ else endif endif +ifeq ($(shell pkg-config gstreamer-1.0 --exists; echo $$?),0) + GST_VERSION = 1.0 +else + GST_VERSION = 0.10 +endif + INCLUDES_FLAGS += -I$(OF_ROOT)/libs/glu/include -INCLUDES_FLAGS += $(shell pkg-config gl glew glu gstreamer-0.10 gstreamer-video-0.10 gstreamer-base-0.10 libudev cairo --cflags) +INCLUDES_FLAGS += $(shell pkg-config gl glew glu gstreamer-$(GST_VERSION) gstreamer-video-$(GST_VERSION) gstreamer-base-$(GST_VERSION) libudev cairo --cflags) #check if gtk exists and add it GTK = $(shell pkg-config gtk+-2.0 --exists; echo $$?) @@ -31,8 +37,9 @@ endif LDFLAGS = -Wl,-rpath=./libs -SYSTEMLIBS += $(shell pkg-config jack glu glew gstreamer-0.10 gstreamer-video-0.10 gstreamer-base-0.10 gstreamer-app-0.10 libudev cairo zlib --libs) -SYSTEMLIBS += -lglut -lGL -lasound -lopenal -lsndfile -lvorbis -lFLAC -logg -lfreeimage + +SYSTEMLIBS += $(shell pkg-config jack glu glew gstreamer-$(GST_VERSION) gstreamer-video-$(GST_VERSION) gstreamer-base-$(GST_VERSION) gstreamer-app-$(GST_VERSION) libudev cairo zlib --libs) +SYSTEMLIBS += -lglut -lGL -lasound -lopenal -lsndfile -lvorbis -lFLAC -logg -lfreeimage -lportaudio -lfreetype LIB_STATIC += $(OF_ROOT)/libs/poco/lib/$(LIBSPATH)/libPocoNet.a $(OF_ROOT)/libs/poco/lib/$(LIBSPATH)/libPocoXML.a $(OF_ROOT)/libs/poco/lib/$(LIBSPATH)/libPocoUtil.a $(OF_ROOT)/libs/poco/lib/$(LIBSPATH)/libPocoFoundation.a ifeq ($(findstring Debug,$(MAKECMDGOALS)),Debug) diff --git a/libs/portaudio/lib/linux/libportaudio.a b/libs/portaudio/lib/linux/libportaudio.a deleted file mode 100644 index 7cbd2318e16..00000000000 Binary files a/libs/portaudio/lib/linux/libportaudio.a and /dev/null differ diff --git a/libs/portaudio/lib/linux64/libportaudio.a b/libs/portaudio/lib/linux64/libportaudio.a deleted file mode 100644 index fe7d26e4be1..00000000000 Binary files a/libs/portaudio/lib/linux64/libportaudio.a and /dev/null differ diff --git a/readme.android b/readme.android index 52c86801546..38c4ac2c5fb 100644 --- a/readme.android +++ b/readme.android @@ -8,7 +8,7 @@ Right now this is only tested on Linux and OS X. To use it on Windows, check the To use it you will need Eclipse, the Android SDK, the Android NDK, the Android Eclipse plugin and the openFrameworks for Android package. -Because of the custom build system openFrameworks uses for Android, you may need to use the exact version of the SDK and NDK specified here. For 0071 you should use SDK 18 and NDK R8. Later versions will probably work but it's not guaranteed. +Because of the custom build system openFrameworks uses for Android, you may need to use the exact version of the SDK and NDK specified here. For this release you should use SDK 21 and NDK r8d. Later versions will probably work but it's not guaranteed. Summary ------- @@ -25,13 +25,13 @@ These instructions go into a lot of important detail, but the main steps are: Installation ------------ -**a) Eclipse**: download the C/C++ edition for your platform from here: +**a) Eclipse**: download the C/C++ edition of Eclipse 4.2 (Juno) for your platform from here: -http://www.eclipse.org/downloads/ +http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/junosr1 -These instructions currently use Eclipse 3.6, although 3.7 will probably work fine. +These instructions were originally written using Eclipse 3.6 (Helios), but have been used for setting up Eclipse 4.2 (Juno). -Ubuntu users: If downloading from the repositories, double check that the version of Eclipse is 3.6 or higher. +Ubuntu users: If downloading from the repositories, double check that the version of Eclipse is 3.6 (Helios) or higher. You will need Java to use Eclipse, you can download it from java.com. @@ -51,11 +51,11 @@ Uncompress it in any folder on your hard disk. Later you'll need to tell the ope **c) Android NDK**: This is the C/C++ compiler, headers and libraries for Android. -- OS X: http://dl.google.com/android/ndk/android-ndk-r8-darwin-x86.tar.bz2 -- Linux: http://dl.google.com/android/ndk/android-ndk-r8-linux-x86.tar.bz2 -- Windows: http://dl.google.com/android/ndk/android-ndk-r8-windows.zip +- OS X: http://dl.google.com/android/ndk/android-ndk-r8d-darwin-x86.tar.bz2 +- Linux: http://dl.google.com/android/ndk/android-ndk-r8d-linux-x86.tar.bz2 +- Windows: http://dl.google.com/android/ndk/android-ndk-r8d-windows.zip -Later versions are available at: +Other versions are available here, but we recommend using r8d for now: http://developer.android.com/sdk/ndk/index.html There's a bug in the official NDK that makes apps crash on Android 2.1 and lower versions of Android so by now openFrameworks for Android will only work on Android 2.2 and above. @@ -92,14 +92,14 @@ Certain build tools like make might not be installed by default. To install thes - Or, just download the build tools separately. They were repackaged and are hosted on GitHub: https://github.com/kennethreitz/osx-gcc-installer There are pkg files you can install for OS X 10.6 and 10.7. Note that this bundle doesn't include pkg-config, and errors may show up because it is missing, but you can ignore these. -**f) Set the paths for the SDK, NDK and Ant -** +**f) Set the paths for the SDK, NDK and Ant:** Edit this file: openFrameworks/libs/openFrameworksCompiled/project/android/paths.make This will tell openFrameworks where to find the SDK, NDK and Ant. +If you don't have this file, create it from the paths.make.default template in the same directory. - Set the values of SDK_ROOT and NDK_ROOT to their install paths @@ -128,13 +128,11 @@ You will see the SDK plugin in the list called "Developer Tools". Select it and press 'Next' until you get to the "Review Licenses" screen. Check the "I accept the terms of the license" checkbox and press 'Finish'. Eclipse will download and install the Android plugin. Once it finishes press 'Yes' in the popup to restart Eclipse. -**i) Set Eclipse Java compiler compliance to 1.5:** +**i) Set Eclipse Java compiler compliance to 1.6:** -*Note:* I didn't need to do this step for SDK version 15. +In the last version of Eclipse the Java compatibility should be set to version 6. You can check this in Window > Preferences > Java > Compiler. (Preferences is in the Eclipse menu for OS X.) -In the last version of Eclipse the Java compatibility is set to version 6 but Android needs version 5. You can change this in Window > Preferences > Java > Compiler. (Preferences is in the Eclipse menu for OS X.) - -The compiler compliance settings should be set to 1.5. +The compiler compliance settings should be set to 1.6. @@ -147,7 +145,7 @@ Now Eclipse knows where the SDK is. Next you'll need to install the API files and optionally create an emulator to be able to test programs without uploading to the phone. Press the Android button in the Eclipse toolbar, or go to Window > Android SDK Manager. -First you need to install the API package. Just click on the "Available Packages" tab, and choose the SDK Platform version 2.2 + the SDK platform tools. It's important to use at least version 2.2 since the makefiles are configured for that version. It doesn't matter what version of the OS you want to develop for. You can optionally install other versions and change the makefile to use that instead. +First you need to install the SDK platform-tools and API package. Just click on the "Tools" tab and select the box for Android SDK Platform-tools. Then click on the "Android 4.2 (API 17)" tab and select the box for SDK Platform. It's important to use SDK version 4.2 (API 17) since the makefiles are configured for that version. It doesn't matter what version of the Android OS you want to develop for, apps are compiled using SDK 4.2, but they should work on any phone that is at least 2.2. Once that is done you can create a new virtual device (AVD). Just select a name, the target Android version and a size for the virtual SD card. @@ -167,9 +165,10 @@ Import in this order: In the "Project Explorer" on the left side of the window, select the openFrameworks project. Choose the Android target in Project > Build Configurations > Set Active, and then click Project > Build Project. You can also do this from the toolbar by switching to the C/C++ perspective and clicking the toolbar button with a hammer. -When compiling on OS X I was missing pkg-config. Currently this doesn't seem to affect the build, since these commands were only important in detecting Linux libraries. +OS X seems to be missing pkg-config. Currently this doesn't seem to affect the build, since these commands were only important in detecting Linux libraries. **m) Enable development in your device:** + Enable USB debugging: Settings > Applications > Development > USB Debug (On Ice Cream Sandwich, this is in Settings > Developer options > USB Debugging). The device needs to be disconnected from the computer while you do this. **n) Connect the device now:** @@ -180,38 +179,13 @@ If you attempt to run your project and you don't have a device attached, Eclipse http://developer.android.com/guide/developing/device.html -**o) Create an External Tools Configuration and use it to install and run projects on the device or emulator** -Run > External Tools > External Tools Configuration - -Select 'Program' and press New. Name the new configuration: Android Install Main: - -<%text filter="h"> - Location: /usr/bin/make - - Working Directory: ${project_loc} - - Arguments: AndroidInstall PROJECT_PATH=${project_loc} - - Refresh: - Mark Refresh resources upon completion - Select The selected resource - - Build: - Mark Build before launch - Select The project containing the selected resource - Mark Include referenced projects - - - -Press Apply and Close. - -**p) Now install and run an example project on the device:** +**o) Now install and run an example project on the device:** - Connect the device. - Check that it is being detected and restart adb server if necessary. - Select the AndroidRelease target. You can pick a target at Project > Build Configurations > Set Active. -- Press the play button in the toolbar or Run > External Tools > Android Install. +- Press the play button in the toolbar or Run > Run As > Android Application. **Note:** If you get an error about an obsolete build.xml (or connected with that file), you can safely delete the build.xml file and recreate it using 'android update project -p '. (The 'android' tool is at SDK_DIR/tools/android.) You may also need to do this for openFrameworks/addons/ofxAndroid/ofAndroidLib. @@ -239,7 +213,9 @@ Window > Show View > Others > Android > LogCat You can see the output of the compiler in the Console tab and the output of your app in the LogCat one. Everything that is output by openFrameworks through ofLog will have an openFrameworks tag so you can use filters to see only your application's output. -There's a bug in the Android plugin that makes Eclipse to build every C/C++ project in your workspace before running any app, so try to keep your workspaces small. You can have as many workspaces as you want: +There's a bug in the Android plugin that makes Eclipse build every C/C++ project in your workspace before running any app. You can avoid this by closing projects that you're not currently working on (right-click > Close Project). + +Alternatively, you can create a separate workspace for your apps: - Create a folder inside openFrameworks/apps. @@ -248,31 +224,31 @@ There's a bug in the Android plugin that makes Eclipse to build every C/C++ proj Creating new applications ------------------------- -You can copy any of the examples and start a new application from there. It's currently far more difficult to create a project from scratch, since the makefiles and project settings contain a lot of details you would need to duplicate. +You can copy any of the examples and start a new application from there. It's currently far more difficult to create a project from scratch, since the makefiles and project settings contain a lot of details you would need to duplicate. -You'll need to change the name of the application in different places: +In Eclipse this is easily done by right-clicking on an existing project, selecting Copy, then right-clicking on the workspace and selecting Paste. A small Copy Project window will pop up for you to pick a new project name and location. For now, project name and directory must have the same name. Let's say your application is called myApp, this must also be the name of your folder. -- When you copy the application from an example set the name you want to use. Let's say your application is called myApp. This must also be the name of your folder. +After you're done copying the project, you'll need to change the name of the application in different places: - In res/values/strings.xml change app_name value to the name of your application. - In AndroidManifest.xml change the name of the package from cc.openframeworks.exampleName to cc.openframeworks.myApp - in srcJava, select the package cc.openframeworks.exampleName, press F2 to rename it and call it cc.openframeworks.myApp It's important to keep the package prefix as cc.openframeworks or some things can stop working. This will be fixed in future versions when Eclipse support for native code is better. -FAQ +FAQ --- **If the build fails:** - If it tells you that you're using an obsolete build.xml, delete it and regenerate it using 'android update project -p '. The build.xml files in the examples directory should not contain anything especially unique. - Are you including addons? They need to be specified in addons.make, and the case of the letters must match exactly (ie, ofxOpenCv works but ofxOpenCV won't work). This error will probably show up as missing header files or symbols. -- If you're getting a bunch of undeclared reference errors, check which version of the NDK you're using. For 0071 you should be using NDK r8. +- If you're getting a bunch of undeclared reference errors, check which version of the NDK you're using. For this version you should be using NDK r8d. - If you get 'com.android.sdklib.build.ApkCreationException: Debug Certificate expired on ', you have to 'rm ~/.android/debug.keystore'. A new certificate will be generated automatically. -**If the build succeeds but the Android Install command doesn't work:** +**If the build succeeds but you can't install it on the phone:** -- If you get a popup saying "Variable references empty selection: ${project_loc}", it means you need to select a project in Project Explorer first, before you run the Android Install command. +- Make sure you have your project selected in the Project Explorer before you tell it to run as an Android Application. - If you get a message saying "Activity class ... does not exist.", make sure that its namespace is called cc.openframeworks.your_folder_name_here.OFActivity. This is what the Makefile currently expects. If it does not work even with a correct entry, and you are using an emulator, try using a real device instead. **If the build succeeds but your app crashes:** diff --git a/scripts/linux/archlinux/install_dependencies.sh b/scripts/linux/archlinux/install_dependencies.sh index 7eb319ee12b..2e58effa626 100755 --- a/scripts/linux/archlinux/install_dependencies.sh +++ b/scripts/linux/archlinux/install_dependencies.sh @@ -10,7 +10,7 @@ if [ $EUID != 0 ]; then exit 1 fi -pacman -Sy --needed make pkg-config gcc openal python-lxml glew freeglut freeimage jack gstreamer0.10-good-plugins gstreamer0.10-bad-plugins +pacman -Sy --needed make pkg-config gcc openal python-lxml glew freeglut freeimage jack gstreamer0.10-good-plugins gstreamer0.10-bad-plugins portaudio exit_code=$? if [ $exit_code != 0 ]; then diff --git a/scripts/linux/debian/install_dependencies.sh b/scripts/linux/debian/install_dependencies.sh index 3c69e807029..4bbd797e403 100755 --- a/scripts/linux/debian/install_dependencies.sh +++ b/scripts/linux/debian/install_dependencies.sh @@ -10,8 +10,7 @@ if [ $EUID != 0 ]; then exit 1 fi apt-get update -apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev freeglut3-dev libasound2-dev libxmu-dev libxxf86vm-dev g++ libgl1-mesa-dev libglu1-mesa-dev libraw1394-dev libudev-dev libdrm-dev gstreamer0.10-ffmpeg libglew-dev libopenal-dev libsndfile-dev libfreeimage-dev libcairo2-dev libgtk2.0-dev libjack-dev python-lxml python-argparse - +apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev freeglut3-dev libasound2-dev libxmu-dev libxxf86vm-dev g++ libgl1-mesa-dev libglu1-mesa-dev libraw1394-dev libudev-dev libdrm-dev gstreamer0.10-ffmpeg libglew-dev libopenal-dev libsndfile-dev libfreeimage-dev libcairo2-dev libgtk2.0-dev python-lxml python-argparse portaudio19-dev libfreetype6-dev exit_code=$? if [ $exit_code != 0 ]; then diff --git a/scripts/linux/fedora/install_dependencies.sh b/scripts/linux/fedora/install_dependencies.sh index a139a431803..473b7eab952 100755 --- a/scripts/linux/fedora/install_dependencies.sh +++ b/scripts/linux/fedora/install_dependencies.sh @@ -10,7 +10,7 @@ if [ $EUID != 0 ]; then exit 1 fi -yum install freeglut-devel alsa-lib-devel libXmu-devel libXxf86vm-devel gcc-c++ libraw1394-devel gstreamer-devel gstreamer-plugins-base-devel libudev-devel libtheora-devel libvorbis-devel openal-soft-devel libsndfile-devel python-lxml gstreamer-devel glew-devel flac-devel freeimage-devel cairo-devel jack-audio-connection-kit-devel +yum install freeglut-devel alsa-lib-devel libXmu-devel libXxf86vm-devel gcc-c++ libraw1394-devel gstreamer-devel gstreamer-plugins-base-devel libudev-devel libtheora-devel libvorbis-devel openal-soft-devel libsndfile-devel python-lxml gstreamer-devel glew-devel flac-devel freeimage-devel cairo-devel jack-audio-connection-kit-devel portaudio-devel exit_code=$? if [ $exit_code != 0 ]; then diff --git a/scripts/linux/ubuntu/install_dependencies.sh b/scripts/linux/ubuntu/install_dependencies.sh index 1b2b5c309b3..7e1d5ae664c 100755 --- a/scripts/linux/ubuntu/install_dependencies.sh +++ b/scripts/linux/ubuntu/install_dependencies.sh @@ -10,7 +10,7 @@ if [ $EUID != 0 ]; then fi apt-get update -apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev freeglut3-dev libasound2-dev libxmu-dev libxxf86vm-dev g++ libgl1-mesa-dev libglu1-mesa-dev libraw1394-dev libudev-dev libdrm-dev gstreamer0.10-ffmpeg libglew-dev libopenal-dev libsndfile-dev libfreeimage-dev libcairo2-dev libgtk2.0-dev libjack-jackd2-dev python-lxml python-argparse +apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev freeglut3-dev libasound2-dev libxmu-dev libxxf86vm-dev g++ libgl1-mesa-dev libglu1-mesa-dev libraw1394-dev libudev-dev libdrm-dev gstreamer0.10-ffmpeg libglew-dev libopenal-dev libsndfile-dev libfreeimage-dev libcairo2-dev libgtk2.0-dev python-lxml python-argparse libfreetype6-dev portaudio19-dev exit_code=$? if [ $exit_code != 0 ]; then echo "error installing packages, there could be an error with your internet connection"