diff --git a/CMakeLists.txt b/CMakeLists.txt index 094695ca6..ca08f5a19 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -44,10 +44,10 @@ IF(MSVC) SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "/INCREMENTAL:NO ${replacementFlags}" ) MESSAGE("CMAKE_EXE_LINKER_FLAGS_DEBUG=${CMAKE_EXE_LINKER_FLAGS_DEBUG}") -# STRING(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replacementFlags2 ${CMAKE_EXE_LINKER_FLAGS}) -# SET(CMAKE_EXE_LINKER_FLAGS ${replacementFlag2}) -# STRING(REPLACE "INCREMENTAL:YES" "" replacementFlags3 ${CMAKE_EXTRA_LINK_FLAGS}) -# SET(CMAKE_EXTRA_LINK_FLAGS ${replacementFlag3}) + STRING(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replacementFlags2 ${CMAKE_EXE_LINKER_FLAGS}) + SET(CMAKE_EXE_LINKER_FLAGS ${replacementFlag2}) + STRING(REPLACE "INCREMENTAL:YES" "" replacementFlags3 ${CMAKE_EXTRA_LINK_FLAGS}) + SET(CMAKE_EXTRA_LINK_FLAGS ${replacementFlag3}) STRING(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replacementFlags3 ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO}) @@ -188,13 +188,13 @@ IF (USE_GLUT) ADD_DEFINITIONS(-DBT_USE_FREEGLUT) IF (CMAKE_CL_64) - message("Win64 using static freeglut in ObsoleteDemos/Glut/glut64.lib") - SET(GLUT_glut_LIBRARY ${BULLET_PHYSICS_SOURCE_DIR}/ObsoleteDemos/Glut/glut64.lib glu32.lib gdi32.lib winmm.lib user32.lib) + message("Win64 using static freeglut in Demos/Glut/glut64.lib") + SET(GLUT_glut_LIBRARY ${BULLET_PHYSICS_SOURCE_DIR}/Demos/Glut/glut64.lib glu32.lib gdi32.lib winmm.lib user32.lib) ELSE(CMAKE_CL_64) - message("Win32 using static freeglut in ObsoleteDemos/Glut/glut32.lib") - SET(GLUT_glut_LIBRARY ${BULLET_PHYSICS_SOURCE_DIR}/ObsoleteDemos/Glut/glut32.lib glu32.lib gdi32.lib winmm.lib user32.lib) + message("Win32 using static freeglut in Demos/Glut/glut32.lib") + SET(GLUT_glut_LIBRARY ${BULLET_PHYSICS_SOURCE_DIR}/Demos/Glut/glut32.lib glu32.lib gdi32.lib winmm.lib user32.lib) ENDIF (CMAKE_CL_64) - SET(GLUT_INCLUDE_DIR ${BULLET_PHYSICS_SOURCE_DIR}/ObsoleteDemos/Glut ) + SET(GLUT_INCLUDE_DIR ${BULLET_PHYSICS_SOURCE_DIR}/Demos/Glut ) ELSE() FIND_PACKAGE(GLUT) IF (GLUT_FOUND) @@ -219,8 +219,8 @@ IF (USE_GLUT) ENDIF(USE_GLUT) - IF(EXISTS ${BULLET_PHYSICS_SOURCE_DIR}/ObsoleteDemos AND IS_DIRECTORY ${BULLET_PHYSICS_SOURCE_DIR}/ObsoleteDemos) - SUBDIRS(ObsoleteDemos) + IF(EXISTS ${BULLET_PHYSICS_SOURCE_DIR}/Demos AND IS_DIRECTORY ${BULLET_PHYSICS_SOURCE_DIR}/Demos) + SUBDIRS(Demos) ENDIF() ENDIF(BUILD_OBSOLETE_DEMOS) @@ -232,6 +232,10 @@ IF(BUILD_BULLET3_DEMOS) ENDIF() ENDIF(BUILD_BULLET3_DEMOS) +OPTION(BUILD_EXTRAS "Set when you want to build the extras" ON) +IF(BUILD_EXTRAS) + SUBDIRS(Extras) +ENDIF(BUILD_EXTRAS) #Maya Dynamica plugin is moved to http://dynamica.googlecode.com @@ -266,9 +270,9 @@ IF(INSTALL_LIBS) ENDIF(INSTALL_LIBS) #INSTALL of other files requires CMake 2.6 -#IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) -# OPTION(INSTALL_EXTRA_LIBS "Set when you want extra libraries installed" OFF) -#ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) +IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) + OPTION(INSTALL_EXTRA_LIBS "Set when you want extra libraries installed" OFF) +ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) OPTION(BUILD_UNIT_TESTS "Build Unit Tests" ON) diff --git a/ObsoleteDemos/AllBulletDemos/CMakeLists.txt b/Demos/AllBulletDemos/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/AllBulletDemos/CMakeLists.txt rename to Demos/AllBulletDemos/CMakeLists.txt diff --git a/ObsoleteDemos/AllBulletDemos/DemoEntries.cpp b/Demos/AllBulletDemos/DemoEntries.cpp similarity index 100% rename from ObsoleteDemos/AllBulletDemos/DemoEntries.cpp rename to Demos/AllBulletDemos/DemoEntries.cpp diff --git a/ObsoleteDemos/AllBulletDemos/DemoEntries.h b/Demos/AllBulletDemos/DemoEntries.h similarity index 100% rename from ObsoleteDemos/AllBulletDemos/DemoEntries.h rename to Demos/AllBulletDemos/DemoEntries.h diff --git a/ObsoleteDemos/AllBulletDemos/Main.cpp b/Demos/AllBulletDemos/Main.cpp similarity index 100% rename from ObsoleteDemos/AllBulletDemos/Main.cpp rename to Demos/AllBulletDemos/Main.cpp diff --git a/ObsoleteDemos/AllBulletDemos/Makefile.am b/Demos/AllBulletDemos/Makefile.am similarity index 100% rename from ObsoleteDemos/AllBulletDemos/Makefile.am rename to Demos/AllBulletDemos/Makefile.am diff --git a/ObsoleteDemos/BasicDemo/BasicDemo.cpp b/Demos/BasicDemo/BasicDemo.cpp similarity index 100% rename from ObsoleteDemos/BasicDemo/BasicDemo.cpp rename to Demos/BasicDemo/BasicDemo.cpp diff --git a/ObsoleteDemos/BasicDemo/BasicDemo.h b/Demos/BasicDemo/BasicDemo.h similarity index 100% rename from ObsoleteDemos/BasicDemo/BasicDemo.h rename to Demos/BasicDemo/BasicDemo.h diff --git a/ObsoleteDemos/BasicDemo/CMakeLists.txt b/Demos/BasicDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/BasicDemo/CMakeLists.txt rename to Demos/BasicDemo/CMakeLists.txt diff --git a/ObsoleteDemos/BasicDemo/Makefile.am b/Demos/BasicDemo/Makefile.am similarity index 100% rename from ObsoleteDemos/BasicDemo/Makefile.am rename to Demos/BasicDemo/Makefile.am diff --git a/ObsoleteDemos/BasicDemo/Win32BasicDemo.cpp b/Demos/BasicDemo/Win32BasicDemo.cpp similarity index 100% rename from ObsoleteDemos/BasicDemo/Win32BasicDemo.cpp rename to Demos/BasicDemo/Win32BasicDemo.cpp diff --git a/ObsoleteDemos/BasicDemo/main.cpp b/Demos/BasicDemo/main.cpp similarity index 100% rename from ObsoleteDemos/BasicDemo/main.cpp rename to Demos/BasicDemo/main.cpp diff --git a/ObsoleteDemos/Benchmarks/BenchmarkDemo.cpp b/Demos/Benchmarks/BenchmarkDemo.cpp similarity index 100% rename from ObsoleteDemos/Benchmarks/BenchmarkDemo.cpp rename to Demos/Benchmarks/BenchmarkDemo.cpp diff --git a/ObsoleteDemos/Benchmarks/BenchmarkDemo.h b/Demos/Benchmarks/BenchmarkDemo.h similarity index 100% rename from ObsoleteDemos/Benchmarks/BenchmarkDemo.h rename to Demos/Benchmarks/BenchmarkDemo.h diff --git a/ObsoleteDemos/Benchmarks/CMakeLists.txt b/Demos/Benchmarks/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/Benchmarks/CMakeLists.txt rename to Demos/Benchmarks/CMakeLists.txt diff --git a/ObsoleteDemos/Benchmarks/Taru.mdl b/Demos/Benchmarks/Taru.mdl similarity index 100% rename from ObsoleteDemos/Benchmarks/Taru.mdl rename to Demos/Benchmarks/Taru.mdl diff --git a/ObsoleteDemos/Benchmarks/Win32BenchmarkDemo.cpp b/Demos/Benchmarks/Win32BenchmarkDemo.cpp similarity index 100% rename from ObsoleteDemos/Benchmarks/Win32BenchmarkDemo.cpp rename to Demos/Benchmarks/Win32BenchmarkDemo.cpp diff --git a/ObsoleteDemos/Benchmarks/landscape.mdl b/Demos/Benchmarks/landscape.mdl similarity index 100% rename from ObsoleteDemos/Benchmarks/landscape.mdl rename to Demos/Benchmarks/landscape.mdl diff --git a/ObsoleteDemos/Benchmarks/main.cpp b/Demos/Benchmarks/main.cpp similarity index 100% rename from ObsoleteDemos/Benchmarks/main.cpp rename to Demos/Benchmarks/main.cpp diff --git a/ObsoleteDemos/Benchmarks/premake4.lua b/Demos/Benchmarks/premake4.lua similarity index 100% rename from ObsoleteDemos/Benchmarks/premake4.lua rename to Demos/Benchmarks/premake4.lua diff --git a/ObsoleteDemos/Box2dDemo/Box2dDemo.cpp b/Demos/Box2dDemo/Box2dDemo.cpp similarity index 100% rename from ObsoleteDemos/Box2dDemo/Box2dDemo.cpp rename to Demos/Box2dDemo/Box2dDemo.cpp diff --git a/ObsoleteDemos/Box2dDemo/Box2dDemo.h b/Demos/Box2dDemo/Box2dDemo.h similarity index 100% rename from ObsoleteDemos/Box2dDemo/Box2dDemo.h rename to Demos/Box2dDemo/Box2dDemo.h diff --git a/ObsoleteDemos/Box2dDemo/CMakeLists.txt b/Demos/Box2dDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/Box2dDemo/CMakeLists.txt rename to Demos/Box2dDemo/CMakeLists.txt diff --git a/ObsoleteDemos/Box2dDemo/Win32Box2dDemo.cpp b/Demos/Box2dDemo/Win32Box2dDemo.cpp similarity index 100% rename from ObsoleteDemos/Box2dDemo/Win32Box2dDemo.cpp rename to Demos/Box2dDemo/Win32Box2dDemo.cpp diff --git a/ObsoleteDemos/Box2dDemo/main.cpp b/Demos/Box2dDemo/main.cpp similarity index 100% rename from ObsoleteDemos/Box2dDemo/main.cpp rename to Demos/Box2dDemo/main.cpp diff --git a/ObsoleteDemos/BspDemo/BspConverter.cpp b/Demos/BspDemo/BspConverter.cpp similarity index 100% rename from ObsoleteDemos/BspDemo/BspConverter.cpp rename to Demos/BspDemo/BspConverter.cpp diff --git a/ObsoleteDemos/BspDemo/BspConverter.h b/Demos/BspDemo/BspConverter.h similarity index 100% rename from ObsoleteDemos/BspDemo/BspConverter.h rename to Demos/BspDemo/BspConverter.h diff --git a/ObsoleteDemos/BspDemo/BspDemo.bsp b/Demos/BspDemo/BspDemo.bsp similarity index 100% rename from ObsoleteDemos/BspDemo/BspDemo.bsp rename to Demos/BspDemo/BspDemo.bsp diff --git a/ObsoleteDemos/BspDemo/BspDemo.cpp b/Demos/BspDemo/BspDemo.cpp similarity index 88% rename from ObsoleteDemos/BspDemo/BspDemo.cpp rename to Demos/BspDemo/BspDemo.cpp index 8301eac3e..52e48eb1b 100644 --- a/ObsoleteDemos/BspDemo/BspDemo.cpp +++ b/Demos/BspDemo/BspDemo.cpp @@ -4,8 +4,8 @@ Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/ This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. @@ -60,7 +60,7 @@ public: { ///perhaps we can do something special with entities (isEntity) ///like adding a collision Triggering (as example) - + if (vertices.size() > 0) { float mass = 0.f; @@ -69,7 +69,7 @@ public: startTransform.setIdentity(); startTransform.setOrigin(btVector3(0,0,-10.f)); //this create an internal copy of the vertices - + btCollisionShape* shape = new btConvexHullShape(&(vertices[0].getX()),vertices.size()); m_demoApp->m_collisionShapes.push_back(shape); @@ -134,7 +134,7 @@ BspDemo::~BspDemo() void BspDemo::initPhysics() { const char* bspfilename = "BspDemo.bsp"; - + initPhysics(bspfilename); } @@ -144,7 +144,7 @@ void BspDemo::initPhysics(const char* bspfilename) { setTexturing(true); setShadows(false); - + m_cameraUp = btVector3(0,0,1); m_forwardAxis = 1; @@ -170,31 +170,23 @@ void BspDemo::initPhysics(const char* bspfilename) #ifdef QUAKE_BSP_IMPORTING void* memoryBuffer = 0; - - FILE* file = fopen(bspfilename,"r"); - if (!file) - { - //try again other path, - //sight... visual studio leaves the current working directory in the projectfiles folder - //instead of executable folder. who wants this default behaviour?!? - bspfilename = "../../BspDemo.bsp"; - file = fopen(bspfilename,"r"); - } - if (!file) - { - //try again other path, cmake needs 4 levels deep back... - bspfilename = "../../../../BspDemo.bsp"; - file = fopen(bspfilename,"r"); - } - if (!file) - { - //try again other path, - //sight... visual studio leaves the current working directory in the projectfiles folder - //instead of executable folder. who wants this default behaviour?!? - bspfilename = "BspDemo.bsp"; - file = fopen(bspfilename,"r"); - } + const char* filename = "BspDemo.bsp"; + + const char* prefix[]={"./","../","../../","../../../","../../../../", "BspDemo/", "Demos/BspDemo/", + "../Demos/BspDemo/","../../Demos/BspDemo/"}; + int numPrefixes = sizeof(prefix)/sizeof(const char*); + char relativeFileName[1024]; + FILE* file=0; + + for (int i=0;istepSimulation(dt); //optional but useful: debug drawing @@ -248,7 +240,7 @@ void BspDemo::clientMoveAndDisplay() void BspDemo::displayCallback(void) { - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); renderme(); @@ -295,7 +287,7 @@ char* makeExeToBspFilename(const char* lpCmdLine) // If we hit a null or a quote, stop copying. This will get just the first filename. if(i && (in[0] == '.') && (in[1] == 'e') && (in[2] == 'x') && (in[3] == 'e')) break; - + // If we hit a null or a quote, stop copying. This will get just the first filename. if(*in == '\0' || *in == '\"') break; @@ -316,6 +308,6 @@ char* makeExeToBspFilename(const char* lpCmdLine) *(out++) = 's'; *(out++) = 'p'; *(out++) = 0; - + return cleaned_filename; } diff --git a/ObsoleteDemos/BspDemo/BspDemo.h b/Demos/BspDemo/BspDemo.h similarity index 100% rename from ObsoleteDemos/BspDemo/BspDemo.h rename to Demos/BspDemo/BspDemo.h diff --git a/ObsoleteDemos/BspDemo/BspLoader.cpp b/Demos/BspDemo/BspLoader.cpp similarity index 100% rename from ObsoleteDemos/BspDemo/BspLoader.cpp rename to Demos/BspDemo/BspLoader.cpp diff --git a/ObsoleteDemos/BspDemo/BspLoader.h b/Demos/BspDemo/BspLoader.h similarity index 100% rename from ObsoleteDemos/BspDemo/BspLoader.h rename to Demos/BspDemo/BspLoader.h diff --git a/ObsoleteDemos/BspDemo/CMakeLists.txt b/Demos/BspDemo/CMakeLists.txt similarity index 91% rename from ObsoleteDemos/BspDemo/CMakeLists.txt rename to Demos/BspDemo/CMakeLists.txt index 0a070a541..4d201988f 100644 --- a/ObsoleteDemos/BspDemo/CMakeLists.txt +++ b/Demos/BspDemo/CMakeLists.txt @@ -35,7 +35,7 @@ IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) ADD_CUSTOM_COMMAND( TARGET AppBspPhysicsDemo POST_BUILD - COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/ObsoleteDemos/BspDemo/BspDemo.bsp ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/Demos/BspDemo/BspDemo.bsp ${CMAKE_CURRENT_BINARY_DIR} ) ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) @@ -43,4 +43,4 @@ IF (INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES) SET_TARGET_PROPERTIES(AppBspPhysicsDemo PROPERTIES DEBUG_POSTFIX "_Debug") SET_TARGET_PROPERTIES(AppBspPhysicsDemo PROPERTIES MINSIZEREL_POSTFIX "_MinsizeRel") SET_TARGET_PROPERTIES(AppBspPhysicsDemo PROPERTIES RELWITHDEBINFO_POSTFIX "_RelWithDebugInfo") -ENDIF(INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES) \ No newline at end of file +ENDIF(INTERNAL_ADD_POSTFIX_EXECUTABLE_NAMES) diff --git a/ObsoleteDemos/BspDemo/main.cpp b/Demos/BspDemo/main.cpp similarity index 100% rename from ObsoleteDemos/BspDemo/main.cpp rename to Demos/BspDemo/main.cpp diff --git a/ObsoleteDemos/BulletDinoDemo/BulletDino.c b/Demos/BulletDinoDemo/BulletDino.c similarity index 100% rename from ObsoleteDemos/BulletDinoDemo/BulletDino.c rename to Demos/BulletDinoDemo/BulletDino.c diff --git a/ObsoleteDemos/BulletDinoDemo/CMakeLists.txt b/Demos/BulletDinoDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/BulletDinoDemo/CMakeLists.txt rename to Demos/BulletDinoDemo/CMakeLists.txt diff --git a/ObsoleteDemos/BulletXmlImportDemo/BulletXmlImportDemo.cpp b/Demos/BulletXmlImportDemo/BulletXmlImportDemo.cpp similarity index 83% rename from ObsoleteDemos/BulletXmlImportDemo/BulletXmlImportDemo.cpp rename to Demos/BulletXmlImportDemo/BulletXmlImportDemo.cpp index 9c670a81a..e1338dbc7 100644 --- a/ObsoleteDemos/BulletXmlImportDemo/BulletXmlImportDemo.cpp +++ b/Demos/BulletXmlImportDemo/BulletXmlImportDemo.cpp @@ -4,8 +4,8 @@ Copyright (c) 2003-2010 Erwin Coumans http://continuousphysics.com/Bullet/ This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. @@ -38,16 +38,36 @@ void BulletXmlImportDemo::initPhysics() setTexturing(true); setShadows(true); - + setupEmptyDynamicsWorld(); - + m_dynamicsWorld->setDebugDrawer(&gDebugDrawer); btBulletXmlWorldImporter* importer = new btBulletXmlWorldImporter(m_dynamicsWorld); - importer->loadFile("bullet_basic.xml"); + static const char* filename = "bullet_basic.xml"; + + const char* prefix[]={"./","../","../../","../../../","../../../../", "BulletXmlImportDemo/", "Demos/BulletXmlImportDemo/", + "../Demos/BulletXmlImportDemo/","../../Demos/BulletXmlImportDemo/"}; + int numPrefixes = sizeof(prefix)/sizeof(const char*); + char relativeFileName[1024]; + bool fileFound = false; + + for (int i=0;iloadFile(relativeFileName); // importer->loadFile("bulletser.xml"); // importer->loadFile("bullet_constraints.xml"); @@ -55,21 +75,21 @@ void BulletXmlImportDemo::initPhysics() void BulletXmlImportDemo::clientMoveAndDisplay() { - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //simple dynamics world doesn't handle fixed-time-stepping float ms = getDeltaTimeMicroseconds(); - + ///step the simulation if (m_dynamicsWorld) { - + m_dynamicsWorld->stepSimulation(ms / 1000000.f); m_dynamicsWorld->debugDrawWorld(); } - - renderme(); + + renderme(); glFlush(); @@ -81,8 +101,8 @@ void BulletXmlImportDemo::clientMoveAndDisplay() void BulletXmlImportDemo::displayCallback(void) { - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + renderme(); @@ -105,7 +125,7 @@ void BulletXmlImportDemo::setupEmptyDynamicsWorld() btGImpactCollisionAlgorithm::registerAlgorithm(m_dispatcher); m_broadphase = new btDbvtBroadphase(); - + ///the default constraint solver. For parallel processing you can use a different solver (see Extras/BulletMultiThreaded) btSequentialImpulseConstraintSolver* sol = new btSequentialImpulseConstraintSolver; m_solver = sol; @@ -113,7 +133,7 @@ void BulletXmlImportDemo::setupEmptyDynamicsWorld() //btGImpactCollisionAlgorithm::registerAlgorithm((btCollisionDispatcher*)m_dynamicsWorld->getDispatcher()); - + } @@ -123,7 +143,7 @@ void BulletXmlImportDemo::setupEmptyDynamicsWorld() BulletXmlImportDemo::~BulletXmlImportDemo() { m_fileLoader->deleteAllData(); - delete m_fileLoader; + delete m_fileLoader; exitPhysics(); } @@ -163,16 +183,16 @@ void BulletXmlImportDemo::exitPhysics() m_collisionShapes.clear(); delete m_dynamicsWorld; - + delete m_solver; - + delete m_broadphase; - + delete m_dispatcher; delete m_collisionConfiguration; - + } diff --git a/ObsoleteDemos/BulletXmlImportDemo/BulletXmlImportDemo.h b/Demos/BulletXmlImportDemo/BulletXmlImportDemo.h similarity index 100% rename from ObsoleteDemos/BulletXmlImportDemo/BulletXmlImportDemo.h rename to Demos/BulletXmlImportDemo/BulletXmlImportDemo.h diff --git a/ObsoleteDemos/BulletXmlImportDemo/CMakeLists.txt b/Demos/BulletXmlImportDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/BulletXmlImportDemo/CMakeLists.txt rename to Demos/BulletXmlImportDemo/CMakeLists.txt diff --git a/ObsoleteDemos/BulletXmlImportDemo/Win32BulletXmlImportDemo.cpp b/Demos/BulletXmlImportDemo/Win32BulletXmlImportDemo.cpp similarity index 100% rename from ObsoleteDemos/BulletXmlImportDemo/Win32BulletXmlImportDemo.cpp rename to Demos/BulletXmlImportDemo/Win32BulletXmlImportDemo.cpp diff --git a/ObsoleteDemos/BulletXmlImportDemo/bullet_basic.xml b/Demos/BulletXmlImportDemo/bullet_basic.xml similarity index 100% rename from ObsoleteDemos/BulletXmlImportDemo/bullet_basic.xml rename to Demos/BulletXmlImportDemo/bullet_basic.xml diff --git a/ObsoleteDemos/BulletXmlImportDemo/bulletser.xml b/Demos/BulletXmlImportDemo/bulletser.xml similarity index 100% rename from ObsoleteDemos/BulletXmlImportDemo/bulletser.xml rename to Demos/BulletXmlImportDemo/bulletser.xml diff --git a/ObsoleteDemos/BulletXmlImportDemo/main.cpp b/Demos/BulletXmlImportDemo/main.cpp similarity index 100% rename from ObsoleteDemos/BulletXmlImportDemo/main.cpp rename to Demos/BulletXmlImportDemo/main.cpp diff --git a/ObsoleteDemos/CMakeLists.txt b/Demos/CMakeLists.txt similarity index 91% rename from ObsoleteDemos/CMakeLists.txt rename to Demos/CMakeLists.txt index c6d13ac9c..5c53f021e 100644 --- a/ObsoleteDemos/CMakeLists.txt +++ b/Demos/CMakeLists.txt @@ -5,9 +5,9 @@ SUBDIRS( HelloWorld ) IF (USE_GLUT) IF (GLUT_FOUND) IF(BUILD_CPU_DEMOS) -# IF(BUILD_EXTRAS) -# SUBDIRS( BulletXmlImportDemo ConcaveDemo ConstraintDemo ConvexDecompositionDemo SerializeDemo ) -# ENDIF() + IF(BUILD_EXTRAS) + SUBDIRS( BulletXmlImportDemo ConcaveDemo ConvexDecompositionDemo SerializeDemo ) + ENDIF() SET(SharedDemoSubdirs OpenGL CcdPhysicsDemo ConstraintDemo SliderConstraintDemo GenericJointDemo Raytracer diff --git a/ObsoleteDemos/CcdPhysicsDemo/CMakeLists.txt b/Demos/CcdPhysicsDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/CcdPhysicsDemo/CMakeLists.txt rename to Demos/CcdPhysicsDemo/CMakeLists.txt diff --git a/ObsoleteDemos/CcdPhysicsDemo/CcdPhysicsDemo.cpp b/Demos/CcdPhysicsDemo/CcdPhysicsDemo.cpp similarity index 100% rename from ObsoleteDemos/CcdPhysicsDemo/CcdPhysicsDemo.cpp rename to Demos/CcdPhysicsDemo/CcdPhysicsDemo.cpp diff --git a/ObsoleteDemos/CcdPhysicsDemo/CcdPhysicsDemo.h b/Demos/CcdPhysicsDemo/CcdPhysicsDemo.h similarity index 100% rename from ObsoleteDemos/CcdPhysicsDemo/CcdPhysicsDemo.h rename to Demos/CcdPhysicsDemo/CcdPhysicsDemo.h diff --git a/ObsoleteDemos/CcdPhysicsDemo/Makefile.am b/Demos/CcdPhysicsDemo/Makefile.am similarity index 100% rename from ObsoleteDemos/CcdPhysicsDemo/Makefile.am rename to Demos/CcdPhysicsDemo/Makefile.am diff --git a/ObsoleteDemos/CcdPhysicsDemo/main.cpp b/Demos/CcdPhysicsDemo/main.cpp similarity index 100% rename from ObsoleteDemos/CcdPhysicsDemo/main.cpp rename to Demos/CcdPhysicsDemo/main.cpp diff --git a/ObsoleteDemos/CellSpuDemo/BasicDemo2.cpp b/Demos/CellSpuDemo/BasicDemo2.cpp similarity index 100% rename from ObsoleteDemos/CellSpuDemo/BasicDemo2.cpp rename to Demos/CellSpuDemo/BasicDemo2.cpp diff --git a/ObsoleteDemos/CellSpuDemo/BasicDemo2.h b/Demos/CellSpuDemo/BasicDemo2.h similarity index 100% rename from ObsoleteDemos/CellSpuDemo/BasicDemo2.h rename to Demos/CellSpuDemo/BasicDemo2.h diff --git a/ObsoleteDemos/CharacterDemo/CMakeLists.txt b/Demos/CharacterDemo/CMakeLists.txt similarity index 95% rename from ObsoleteDemos/CharacterDemo/CMakeLists.txt rename to Demos/CharacterDemo/CMakeLists.txt index 1a74ed557..9b344f8ae 100644 --- a/ObsoleteDemos/CharacterDemo/CMakeLists.txt +++ b/Demos/CharacterDemo/CMakeLists.txt @@ -46,7 +46,7 @@ IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) ADD_CUSTOM_COMMAND( TARGET AppCharacterDemo POST_BUILD - COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/ObsoleteDemos/BspDemo/BspDemo.bsp ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/Demos/BspDemo/BspDemo.bsp ${CMAKE_CURRENT_BINARY_DIR} ) ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) diff --git a/ObsoleteDemos/CharacterDemo/CharacterDemo.cpp b/Demos/CharacterDemo/CharacterDemo.cpp similarity index 94% rename from ObsoleteDemos/CharacterDemo/CharacterDemo.cpp rename to Demos/CharacterDemo/CharacterDemo.cpp index d944e1309..29a544a12 100644 --- a/ObsoleteDemos/CharacterDemo/CharacterDemo.cpp +++ b/Demos/CharacterDemo/CharacterDemo.cpp @@ -69,11 +69,11 @@ void CharacterDemo::initPhysics() m_constraintSolver = new btSequentialImpulseConstraintSolver(); m_dynamicsWorld = new btDiscreteDynamicsWorld(m_dispatcher,m_overlappingPairCache,m_constraintSolver,m_collisionConfiguration); m_dynamicsWorld->getDispatchInfo().m_allowedCcdPenetration=0.0001f; - + #ifdef DYNAMIC_CHARACTER_CONTROLLER m_character = new DynamicCharacterController (); #else - + btTransform startTransform; startTransform.setIdentity (); //startTransform.setOrigin (btVector3(0.0, 4.0, 0.0)); @@ -101,35 +101,30 @@ void CharacterDemo::initPhysics() btTransform tr; tr.setIdentity(); - const char* bspfilename = "BspDemo.bsp"; + const char* filename = "BspDemo.bsp"; + + const char* prefix[]={"./","../","../../","../../../","../../../../", "BspDemo/", "Demos/BspDemo/", + "../Demos/BspDemo/","../../Demos/BspDemo/"}; + int numPrefixes = sizeof(prefix)/sizeof(const char*); + char relativeFileName[1024]; + FILE* file=0; + + for (int i=0;igetOverlappingPairCache()->findPair(pair.m_pProxy0,pair.m_pProxy1); if (!collisionPair) continue; @@ -217,7 +212,7 @@ void CharacterDemo::clientMoveAndDisplay() /* Character stuff &*/ if (m_character) { - + } debugDrawContacts(); @@ -265,7 +260,7 @@ void CharacterDemo::clientMoveAndDisplay() walkDirection += forwardDir; if (gBackward) - walkDirection -= forwardDir; + walkDirection -= forwardDir; m_character->setWalkDirection(walkDirection*walkSpeed); @@ -344,7 +339,7 @@ void CharacterDemo::clientResetScene() m_character->reset (m_dynamicsWorld); ///WTF m_character->warp (btVector3(10.210001,-2.0306311,16.576973)); - + } void CharacterDemo::specialKeyboardUp(int key, int x, int y) @@ -444,7 +439,7 @@ void CharacterDemo::updateCamera() m_cameraTargetPosition = characterWorldTrans.getOrigin(); m_cameraPosition = m_cameraTargetPosition + up * 10.0 + backward * 12.0; - + //use the convex sweep test to find a safe position for the camera (not blocked by static geometry) btSphereShape cameraSphere(0.2f); btTransform cameraFrom,cameraTo; @@ -452,10 +447,10 @@ void CharacterDemo::updateCamera() cameraFrom.setOrigin(characterWorldTrans.getOrigin()); cameraTo.setIdentity(); cameraTo.setOrigin(m_cameraPosition); - + btCollisionWorld::ClosestConvexResultCallback cb( characterWorldTrans.getOrigin(), cameraTo.getOrigin() ); cb.m_collisionFilterMask = btBroadphaseProxy::StaticFilter; - + m_dynamicsWorld->convexSweepTest(&cameraSphere,cameraFrom,cameraTo,cb); if (cb.hasHit()) { diff --git a/ObsoleteDemos/CharacterDemo/CharacterDemo.h b/Demos/CharacterDemo/CharacterDemo.h similarity index 100% rename from ObsoleteDemos/CharacterDemo/CharacterDemo.h rename to Demos/CharacterDemo/CharacterDemo.h diff --git a/ObsoleteDemos/CharacterDemo/DynamicCharacterController.cpp b/Demos/CharacterDemo/DynamicCharacterController.cpp similarity index 100% rename from ObsoleteDemos/CharacterDemo/DynamicCharacterController.cpp rename to Demos/CharacterDemo/DynamicCharacterController.cpp diff --git a/ObsoleteDemos/CharacterDemo/DynamicCharacterController.h b/Demos/CharacterDemo/DynamicCharacterController.h similarity index 100% rename from ObsoleteDemos/CharacterDemo/DynamicCharacterController.h rename to Demos/CharacterDemo/DynamicCharacterController.h diff --git a/ObsoleteDemos/CharacterDemo/main.cpp b/Demos/CharacterDemo/main.cpp similarity index 100% rename from ObsoleteDemos/CharacterDemo/main.cpp rename to Demos/CharacterDemo/main.cpp diff --git a/ObsoleteDemos/CollisionDemo/CMakeLists.txt b/Demos/CollisionDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/CollisionDemo/CMakeLists.txt rename to Demos/CollisionDemo/CMakeLists.txt diff --git a/ObsoleteDemos/CollisionDemo/CollisionDemo.cpp b/Demos/CollisionDemo/CollisionDemo.cpp similarity index 100% rename from ObsoleteDemos/CollisionDemo/CollisionDemo.cpp rename to Demos/CollisionDemo/CollisionDemo.cpp diff --git a/ObsoleteDemos/CollisionDemo/CollisionDemo.h b/Demos/CollisionDemo/CollisionDemo.h similarity index 100% rename from ObsoleteDemos/CollisionDemo/CollisionDemo.h rename to Demos/CollisionDemo/CollisionDemo.h diff --git a/ObsoleteDemos/CollisionInterfaceDemo/CMakeLists.txt b/Demos/CollisionInterfaceDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/CollisionInterfaceDemo/CMakeLists.txt rename to Demos/CollisionInterfaceDemo/CMakeLists.txt diff --git a/ObsoleteDemos/CollisionInterfaceDemo/CollisionInterfaceDemo.cpp b/Demos/CollisionInterfaceDemo/CollisionInterfaceDemo.cpp similarity index 100% rename from ObsoleteDemos/CollisionInterfaceDemo/CollisionInterfaceDemo.cpp rename to Demos/CollisionInterfaceDemo/CollisionInterfaceDemo.cpp diff --git a/ObsoleteDemos/CollisionInterfaceDemo/CollisionInterfaceDemo.h b/Demos/CollisionInterfaceDemo/CollisionInterfaceDemo.h similarity index 100% rename from ObsoleteDemos/CollisionInterfaceDemo/CollisionInterfaceDemo.h rename to Demos/CollisionInterfaceDemo/CollisionInterfaceDemo.h diff --git a/ObsoleteDemos/CollisionInterfaceDemo/Win32CollisionInterfaceDemo.cpp b/Demos/CollisionInterfaceDemo/Win32CollisionInterfaceDemo.cpp similarity index 100% rename from ObsoleteDemos/CollisionInterfaceDemo/Win32CollisionInterfaceDemo.cpp rename to Demos/CollisionInterfaceDemo/Win32CollisionInterfaceDemo.cpp diff --git a/ObsoleteDemos/CollisionInterfaceDemo/main.cpp b/Demos/CollisionInterfaceDemo/main.cpp similarity index 100% rename from ObsoleteDemos/CollisionInterfaceDemo/main.cpp rename to Demos/CollisionInterfaceDemo/main.cpp diff --git a/ObsoleteDemos/ConcaveConvexcastDemo/CMakeLists.txt b/Demos/ConcaveConvexcastDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/ConcaveConvexcastDemo/CMakeLists.txt rename to Demos/ConcaveConvexcastDemo/CMakeLists.txt diff --git a/ObsoleteDemos/ConcaveConvexcastDemo/ConcaveConvexcastDemo.cpp b/Demos/ConcaveConvexcastDemo/ConcaveConvexcastDemo.cpp similarity index 100% rename from ObsoleteDemos/ConcaveConvexcastDemo/ConcaveConvexcastDemo.cpp rename to Demos/ConcaveConvexcastDemo/ConcaveConvexcastDemo.cpp diff --git a/ObsoleteDemos/ConcaveConvexcastDemo/ConcaveConvexcastDemo.h b/Demos/ConcaveConvexcastDemo/ConcaveConvexcastDemo.h similarity index 100% rename from ObsoleteDemos/ConcaveConvexcastDemo/ConcaveConvexcastDemo.h rename to Demos/ConcaveConvexcastDemo/ConcaveConvexcastDemo.h diff --git a/ObsoleteDemos/ConcaveConvexcastDemo/main.cpp b/Demos/ConcaveConvexcastDemo/main.cpp similarity index 100% rename from ObsoleteDemos/ConcaveConvexcastDemo/main.cpp rename to Demos/ConcaveConvexcastDemo/main.cpp diff --git a/ObsoleteDemos/ConcaveDemo/CMakeLists.txt b/Demos/ConcaveDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/ConcaveDemo/CMakeLists.txt rename to Demos/ConcaveDemo/CMakeLists.txt diff --git a/ObsoleteDemos/ConcaveDemo/ConcaveDemo.h b/Demos/ConcaveDemo/ConcaveDemo.h similarity index 100% rename from ObsoleteDemos/ConcaveDemo/ConcaveDemo.h rename to Demos/ConcaveDemo/ConcaveDemo.h diff --git a/ObsoleteDemos/ConcaveDemo/ConcavePhysicsDemo.cpp b/Demos/ConcaveDemo/ConcavePhysicsDemo.cpp similarity index 100% rename from ObsoleteDemos/ConcaveDemo/ConcavePhysicsDemo.cpp rename to Demos/ConcaveDemo/ConcavePhysicsDemo.cpp diff --git a/ObsoleteDemos/ConcaveDemo/Jamfile b/Demos/ConcaveDemo/Jamfile similarity index 100% rename from ObsoleteDemos/ConcaveDemo/Jamfile rename to Demos/ConcaveDemo/Jamfile diff --git a/ObsoleteDemos/ConcaveDemo/Win32ConcaveDemo.cpp b/Demos/ConcaveDemo/Win32ConcaveDemo.cpp similarity index 100% rename from ObsoleteDemos/ConcaveDemo/Win32ConcaveDemo.cpp rename to Demos/ConcaveDemo/Win32ConcaveDemo.cpp diff --git a/ObsoleteDemos/ConcaveDemo/main.cpp b/Demos/ConcaveDemo/main.cpp similarity index 100% rename from ObsoleteDemos/ConcaveDemo/main.cpp rename to Demos/ConcaveDemo/main.cpp diff --git a/ObsoleteDemos/ConcaveRaycastDemo/CMakeLists.txt b/Demos/ConcaveRaycastDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/ConcaveRaycastDemo/CMakeLists.txt rename to Demos/ConcaveRaycastDemo/CMakeLists.txt diff --git a/ObsoleteDemos/ConcaveRaycastDemo/ConcaveRaycastDemo.cpp b/Demos/ConcaveRaycastDemo/ConcaveRaycastDemo.cpp similarity index 100% rename from ObsoleteDemos/ConcaveRaycastDemo/ConcaveRaycastDemo.cpp rename to Demos/ConcaveRaycastDemo/ConcaveRaycastDemo.cpp diff --git a/ObsoleteDemos/ConcaveRaycastDemo/ConcaveRaycastDemo.h b/Demos/ConcaveRaycastDemo/ConcaveRaycastDemo.h similarity index 100% rename from ObsoleteDemos/ConcaveRaycastDemo/ConcaveRaycastDemo.h rename to Demos/ConcaveRaycastDemo/ConcaveRaycastDemo.h diff --git a/ObsoleteDemos/ConcaveRaycastDemo/main.cpp b/Demos/ConcaveRaycastDemo/main.cpp similarity index 100% rename from ObsoleteDemos/ConcaveRaycastDemo/main.cpp rename to Demos/ConcaveRaycastDemo/main.cpp diff --git a/ObsoleteDemos/ConstraintDemo/CMakeLists.txt b/Demos/ConstraintDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/ConstraintDemo/CMakeLists.txt rename to Demos/ConstraintDemo/CMakeLists.txt diff --git a/ObsoleteDemos/ConstraintDemo/ConstraintDemo.cpp b/Demos/ConstraintDemo/ConstraintDemo.cpp similarity index 100% rename from ObsoleteDemos/ConstraintDemo/ConstraintDemo.cpp rename to Demos/ConstraintDemo/ConstraintDemo.cpp diff --git a/ObsoleteDemos/ConstraintDemo/ConstraintDemo.h b/Demos/ConstraintDemo/ConstraintDemo.h similarity index 100% rename from ObsoleteDemos/ConstraintDemo/ConstraintDemo.h rename to Demos/ConstraintDemo/ConstraintDemo.h diff --git a/ObsoleteDemos/ConstraintDemo/Win32ConstraintDemo.cpp b/Demos/ConstraintDemo/Win32ConstraintDemo.cpp similarity index 100% rename from ObsoleteDemos/ConstraintDemo/Win32ConstraintDemo.cpp rename to Demos/ConstraintDemo/Win32ConstraintDemo.cpp diff --git a/ObsoleteDemos/ConstraintDemo/main.cpp b/Demos/ConstraintDemo/main.cpp similarity index 100% rename from ObsoleteDemos/ConstraintDemo/main.cpp rename to Demos/ConstraintDemo/main.cpp diff --git a/ObsoleteDemos/ContinuousConvexCollision/CMakeLists.txt b/Demos/ContinuousConvexCollision/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/ContinuousConvexCollision/CMakeLists.txt rename to Demos/ContinuousConvexCollision/CMakeLists.txt diff --git a/ObsoleteDemos/ContinuousConvexCollision/ContinuousConvexCollision.h b/Demos/ContinuousConvexCollision/ContinuousConvexCollision.h similarity index 100% rename from ObsoleteDemos/ContinuousConvexCollision/ContinuousConvexCollision.h rename to Demos/ContinuousConvexCollision/ContinuousConvexCollision.h diff --git a/ObsoleteDemos/ContinuousConvexCollision/ContinuousConvexCollisionDemo.cpp b/Demos/ContinuousConvexCollision/ContinuousConvexCollisionDemo.cpp similarity index 100% rename from ObsoleteDemos/ContinuousConvexCollision/ContinuousConvexCollisionDemo.cpp rename to Demos/ContinuousConvexCollision/ContinuousConvexCollisionDemo.cpp diff --git a/ObsoleteDemos/ConvexDecompositionDemo/CMakeLists.txt b/Demos/ConvexDecompositionDemo/CMakeLists.txt similarity index 96% rename from ObsoleteDemos/ConvexDecompositionDemo/CMakeLists.txt rename to Demos/ConvexDecompositionDemo/CMakeLists.txt index d3cd02e13..979c792bc 100644 --- a/ObsoleteDemos/ConvexDecompositionDemo/CMakeLists.txt +++ b/Demos/ConvexDecompositionDemo/CMakeLists.txt @@ -1,3 +1,4 @@ + # This is basically the overall name of the project in Visual Studio this is the name of the Solution File @@ -53,7 +54,7 @@ IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) TARGET AppConvexDecompositionDemo POST_BUILD COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/Demos/SerializeDemo/testFile.bullet ${CMAKE_CURRENT_BINARY_DIR}/testFile.bullet - COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/file.obj ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${BULLET_PHYSICS_SOURCE_DIR}/Demos/ConvexDecompositionDemo/file.obj ${CMAKE_CURRENT_BINARY_DIR} ) ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) diff --git a/ObsoleteDemos/ConvexDecompositionDemo/ConvexDecompositionDemo.cpp b/Demos/ConvexDecompositionDemo/ConvexDecompositionDemo.cpp similarity index 95% rename from ObsoleteDemos/ConvexDecompositionDemo/ConvexDecompositionDemo.cpp rename to Demos/ConvexDecompositionDemo/ConvexDecompositionDemo.cpp index c2b9bcf87..3b081eaf9 100644 --- a/ObsoleteDemos/ConvexDecompositionDemo/ConvexDecompositionDemo.cpp +++ b/Demos/ConvexDecompositionDemo/ConvexDecompositionDemo.cpp @@ -4,8 +4,8 @@ Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/ This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. @@ -178,23 +178,22 @@ void ConvexDecompositionDemo::initPhysics(const char* filename) ConvexDecomposition::WavefrontObj wo; - tcount = wo.loadObj(filename); + tcount = 0; + const char* prefix[]={"./","../","../../","../../../","../../../../", "ConvexDecompositionDemo/", "Demos/ConvexDecompositionDemo/", + "../Demos/ConvexDecompositionDemo/","../../Demos/ConvexDecompositionDemo/"}; + int numPrefixes = sizeof(prefix)/sizeof(const char*); + char relativeFileName[1024]; + + for (int i=0;i m_convexShapes; @@ -220,7 +219,7 @@ void ConvexDecompositionDemo::initPhysics(const char* filename) { } - + virtual void ConvexDecompResult(ConvexDecomposition::ConvexResult &result) { @@ -256,7 +255,7 @@ void ConvexDecompositionDemo::initPhysics(const char* filename) btVector3 vertex(result.mHullVertices[i*3],result.mHullVertices[i*3+1],result.mHullVertices[i*3+2]); vertex *= localScaling; centroid += vertex; - + } } @@ -273,8 +272,8 @@ void ConvexDecompositionDemo::initPhysics(const char* filename) vertices.push_back(vertex); } } - - + + if ( 1 ) { @@ -292,7 +291,7 @@ void ConvexDecompositionDemo::initPhysics(const char* filename) vertex0 *= localScaling; vertex1 *= localScaling; vertex2 *= localScaling; - + vertex0 -= centroid; vertex1 -= centroid; vertex2 -= centroid; @@ -303,20 +302,20 @@ void ConvexDecompositionDemo::initPhysics(const char* filename) index0+=mBaseCount; index1+=mBaseCount; index2+=mBaseCount; - + fprintf(mOutputFile,"f %d %d %d\r\n", index0+1, index1+1, index2+1 ); } } // float mass = 1.f; - + //this is a tools issue: due to collision margin, convex objects overlap, compensate for it here: //#define SHRINK_OBJECT_INWARDS 1 #ifdef SHRINK_OBJECT_INWARDS float collisionMargin = 0.01f; - + btAlignedObjectArray planeEquations; btGeometryUtil::getPlaneEquationsFromVertices(vertices,planeEquations); @@ -330,13 +329,13 @@ void ConvexDecompositionDemo::initPhysics(const char* filename) btAlignedObjectArray shiftedVertices; btGeometryUtil::getVerticesFromPlaneEquations(shiftedPlaneEquations,shiftedVertices); - + btConvexHullShape* convexShape = new btConvexHullShape(&(shiftedVertices[0].getX()),shiftedVertices.size()); - + #else //SHRINK_OBJECT_INWARDS - + btConvexHullShape* convexShape = new btConvexHullShape(&(vertices[0].getX()),vertices.size()); -#endif +#endif if (sEnableSAT) convexShape->initializePolyhedralFeatures(); convexShape->setMargin(0.01f); @@ -361,7 +360,7 @@ void ConvexDecompositionDemo::initPhysics(const char* filename) m_trimeshes.push_back(trimesh); btVector3 localScaling(6.f,6.f,6.f); - + int i; for ( i=0;iaddTriangle(vertex0,vertex1,vertex2); } - + btConvexShape* tmpConvexShape = new btConvexTriangleMeshShape(trimesh); - + printf("old numTriangles= %d\n",wo.mTriCount); printf("old numIndices = %d\n",wo.mTriCount*3); printf("old numVertices = %d\n",wo.mVertexCount); - + printf("reducing vertices by creating a convex hull\n"); //create a hull approximation @@ -394,18 +393,18 @@ void ConvexDecompositionDemo::initPhysics(const char* filename) btScalar margin = tmpConvexShape->getMargin(); hull->buildHull(margin); tmpConvexShape->setUserPointer(hull); - - + + printf("new numTriangles = %d\n", hull->numTriangles ()); printf("new numIndices = %d\n", hull->numIndices ()); printf("new numVertices = %d\n", hull->numVertices ()); - + btConvexHullShape* convexShape = new btConvexHullShape(); bool updateLocalAabb = false; for (i=0;inumVertices();i++) { - convexShape->addPoint(hull->getVertexPointer()[i],updateLocalAabb); + convexShape->addPoint(hull->getVertexPointer()[i],updateLocalAabb); } convexShape->recalcLocalAabb(); @@ -419,13 +418,13 @@ void ConvexDecompositionDemo::initPhysics(const char* filename) m_collisionShapes.push_back(convexShape); float mass = 1.f; - + btTransform startTransform; startTransform.setIdentity(); startTransform.setOrigin(btVector3(0,2,14)); localCreateRigidBody(mass, startTransform,convexShape); - + bool useQuantization = true; btCollisionShape* concaveShape = new btBvhTriangleMeshShape(trimesh,useQuantization); startTransform.setOrigin(convexDecompositionObjectOffset); @@ -434,7 +433,7 @@ void ConvexDecompositionDemo::initPhysics(const char* filename) m_collisionShapes.push_back (concaveShape); } - + if (tcount) { @@ -445,11 +444,11 @@ void ConvexDecompositionDemo::initPhysics(const char* filename) char outputFileName[512]; strcpy(outputFileName,filename); char *dot = strstr(outputFileName,"."); - if ( dot ) + if ( dot ) *dot = 0; strcat(outputFileName,"_convex.obj"); FILE* outputFile = fopen(outputFileName,"wb"); - + unsigned int depth = 5; float cpercent = 5; float ppercent = 15; @@ -479,7 +478,7 @@ void ConvexDecompositionDemo::initPhysics(const char* filename) std::vector< HACD::Vec3 > points; std::vector< HACD::Vec3 > triangles; - for(int i=0; i vertex(wo.mVertices[index], wo.mVertices[index+1],wo.mVertices[index+2]); @@ -509,17 +508,17 @@ void ConvexDecompositionDemo::initPhysics(const char* filename) bool invert = false; bool addExtraDistPoints = false; bool addNeighboursDistPoints = false; - bool addFacesPoints = false; + bool addFacesPoints = false; myHACD.SetNClusters(nClusters); // minimum number of clusters myHACD.SetNVerticesPerCH(100); // max of 100 vertices per convex-hull myHACD.SetConcavity(concavity); // maximum concavity - myHACD.SetAddExtraDistPoints(addExtraDistPoints); - myHACD.SetAddNeighboursDistPoints(addNeighboursDistPoints); - myHACD.SetAddFacesPoints(addFacesPoints); + myHACD.SetAddExtraDistPoints(addExtraDistPoints); + myHACD.SetAddNeighboursDistPoints(addNeighboursDistPoints); + myHACD.SetAddFacesPoints(addFacesPoints); myHACD.Compute(); - nClusters = myHACD.GetNClusters(); + nClusters = myHACD.GetNClusters(); myHACD.Save("output.wrl", false); @@ -529,7 +528,7 @@ void ConvexDecompositionDemo::initPhysics(const char* filename) // ConvexBuilder cb(desc.mCallback); // cb.process(desc); //now create some bodies - + if (1) { btCompoundShape* compound = new btCompoundShape(); @@ -546,7 +545,7 @@ void ConvexDecompositionDemo::initPhysics(const char* filename) float* vertices = new float[nPoints*3]; unsigned int* triangles = new unsigned int[nTriangles*3]; - + HACD::Vec3 * pointsCH = new HACD::Vec3[nPoints]; HACD::Vec3 * trianglesCH = new HACD::Vec3[nTriangles]; myHACD.GetCH(c, pointsCH, trianglesCH); @@ -585,7 +584,7 @@ void ConvexDecompositionDemo::initPhysics(const char* filename) } /* for (int i=0;iserialize(serializer); - + FILE* f2 = fopen("testFile.bullet","wb"); fwrite(serializer->getBufferPointer(),serializer->getCurrentBufferSize(),1,f2); fclose(f2); @@ -651,17 +650,17 @@ void ConvexDecompositionDemo::initPhysics(const char* filename) //fileLoader->loadFile("testFile64Double.bullet"); //fileLoader->loadFile("testFile64Single.bullet"); //fileLoader->loadFile("testFile32Single.bullet"); - + #endif //TEST_SERIALIZATION - + } void ConvexDecompositionDemo::clientMoveAndDisplay() { - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); float dt = getDeltaTimeMicroseconds() * 0.000001f; @@ -681,7 +680,7 @@ void ConvexDecompositionDemo::clientMoveAndDisplay() void ConvexDecompositionDemo::displayCallback(void) { - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); if (m_dynamicsWorld) @@ -749,7 +748,7 @@ void ConvexDecompositionDemo::exitPhysics() delete m_collisionConfiguration; - + } @@ -768,7 +767,7 @@ void ConvexDecompositionDemo::keyboardCallback(unsigned char key, int x, int y) { printf("SAT enabled after the next restart of the demo\n"); } else - { + { printf("SAT disabled after the next restart of the demo\n"); } } else @@ -776,4 +775,4 @@ void ConvexDecompositionDemo::keyboardCallback(unsigned char key, int x, int y) PlatformDemoApplication::keyboardCallback(key,x,y); } -} \ No newline at end of file +} diff --git a/ObsoleteDemos/ConvexDecompositionDemo/ConvexDecompositionDemo.h b/Demos/ConvexDecompositionDemo/ConvexDecompositionDemo.h similarity index 100% rename from ObsoleteDemos/ConvexDecompositionDemo/ConvexDecompositionDemo.h rename to Demos/ConvexDecompositionDemo/ConvexDecompositionDemo.h diff --git a/ObsoleteDemos/ConvexDecompositionDemo/Win32ConvexDecompositionDemo.cpp b/Demos/ConvexDecompositionDemo/Win32ConvexDecompositionDemo.cpp similarity index 100% rename from ObsoleteDemos/ConvexDecompositionDemo/Win32ConvexDecompositionDemo.cpp rename to Demos/ConvexDecompositionDemo/Win32ConvexDecompositionDemo.cpp diff --git a/Demos/ConvexDecompositionDemo/file.obj b/Demos/ConvexDecompositionDemo/file.obj new file mode 100644 index 000000000..15047b022 --- /dev/null +++ b/Demos/ConvexDecompositionDemo/file.obj @@ -0,0 +1,3578 @@ +v 0.000118 -0.390977 -0.478607 +v 0.017389 -0.390977 -0.478271 +v 0.029547 -0.390983 -0.429828 +v 0.000118 -0.390983 -0.429848 +v 0.017389 -0.390977 -0.478271 +v 0.017389 -0.342855 -0.474044 +v 0.029547 -0.317820 -0.429577 +v 0.029547 -0.390983 -0.429828 +v 0.017389 -0.342855 -0.474044 +v 0.000118 -0.331762 -0.473074 +v 0.000118 -0.306727 -0.429520 +v 0.029547 -0.317820 -0.429577 +v -0.017152 -0.342855 -0.474044 +v -0.029311 -0.317820 -0.429577 +v -0.017152 -0.342855 -0.474044 +v -0.017152 -0.390977 -0.478271 +v -0.029311 -0.390983 -0.429828 +v -0.029311 -0.317820 -0.429577 +v -0.017152 -0.390977 -0.478271 +v -0.029311 -0.390983 -0.429828 +v 0.017389 -0.391071 -0.377731 +v 0.000118 -0.391100 -0.378066 +v 0.017389 -0.336012 -0.378305 +v 0.017389 -0.391071 -0.377731 +v 0.029547 -0.317820 -0.429577 +v 0.000118 -0.306727 -0.429520 +v 0.000118 -0.324876 -0.378305 +v 0.017389 -0.336012 -0.378305 +v 0.000118 -0.306727 -0.429520 +v -0.029311 -0.317820 -0.429577 +v -0.017152 -0.336012 -0.378305 +v 0.000118 -0.324876 -0.378305 +v -0.017152 -0.391071 -0.377731 +v -0.017152 -0.336012 -0.378305 +v -0.017152 -0.391071 -0.377731 +v 0.017389 -0.355018 -0.311310 +v 0.000118 -0.358745 -0.310312 +v 0.017389 -0.313071 -0.327714 +v 0.017389 -0.355018 -0.311310 +v 0.000118 -0.302315 -0.330597 +v 0.017389 -0.313071 -0.327714 +v -0.017152 -0.313071 -0.327714 +v 0.000118 -0.302315 -0.330597 +v -0.017152 -0.355018 -0.311310 +v -0.017152 -0.313071 -0.327714 +v -0.017152 -0.355018 -0.311310 +v 0.027414 -0.282077 -0.242925 +v 0.000118 -0.286749 -0.239005 +v 0.027414 -0.244765 -0.265699 +v 0.027414 -0.282077 -0.242925 +v 0.000118 -0.231283 -0.277012 +v 0.027414 -0.244765 -0.265699 +v -0.027178 -0.244765 -0.265699 +v 0.000118 -0.231283 -0.277012 +v -0.027178 -0.282077 -0.242925 +v -0.027178 -0.244765 -0.265699 +v -0.027178 -0.282077 -0.242925 +v 0.035601 -0.254040 -0.188841 +v 0.000118 -0.261848 -0.187464 +v 0.035601 -0.172486 -0.190596 +v 0.035601 -0.254040 -0.188841 +v 0.000118 -0.149955 -0.194569 +v 0.035601 -0.172486 -0.190596 +v -0.035364 -0.172486 -0.190596 +v 0.000118 -0.149955 -0.194569 +v -0.035364 -0.254040 -0.188841 +v -0.035364 -0.172486 -0.190596 +v -0.035364 -0.254040 -0.188841 +v 0.000118 -0.360973 -0.484897 +v 0.017389 -0.390977 -0.478271 +v 0.000118 -0.390977 -0.478607 +v 0.017389 -0.342855 -0.474044 +v 0.000118 -0.331762 -0.473074 +v -0.017152 -0.342855 -0.474044 +v -0.017152 -0.390977 -0.478271 +v 0.035601 -0.232880 -0.098411 +v 0.000118 -0.240808 -0.098411 +v 0.035601 -0.144967 -0.098411 +v 0.035601 -0.232880 -0.098411 +v 0.000118 -0.122088 -0.098411 +v 0.035601 -0.144967 -0.098411 +v -0.035364 -0.144967 -0.098411 +v 0.000118 -0.122088 -0.098411 +v -0.035364 -0.232880 -0.098411 +v -0.035364 -0.144967 -0.098411 +v -0.035364 -0.232880 -0.098411 +v 0.478607 -0.390977 0.000118 +v 0.478271 -0.390977 0.017389 +v 0.429828 -0.390983 0.029547 +v 0.429848 -0.390983 0.000118 +v 0.478271 -0.390977 0.017389 +v 0.474044 -0.342855 0.017389 +v 0.429577 -0.317820 0.029547 +v 0.429828 -0.390983 0.029547 +v 0.474044 -0.342855 0.017389 +v 0.473074 -0.331762 0.000118 +v 0.429520 -0.306727 0.000118 +v 0.429577 -0.317820 0.029547 +v 0.474044 -0.342855 -0.017152 +v 0.429577 -0.317820 -0.029311 +v 0.474044 -0.342855 -0.017152 +v 0.478271 -0.390977 -0.017152 +v 0.429828 -0.390983 -0.029311 +v 0.429577 -0.317820 -0.029311 +v 0.478271 -0.390977 -0.017152 +v 0.429828 -0.390983 -0.029311 +v 0.377731 -0.391071 0.017389 +v 0.378066 -0.391100 0.000118 +v 0.378305 -0.336012 0.017389 +v 0.377731 -0.391071 0.017389 +v 0.429577 -0.317820 0.029547 +v 0.429520 -0.306727 0.000118 +v 0.378305 -0.324876 0.000118 +v 0.378305 -0.336012 0.017389 +v 0.429520 -0.306727 0.000118 +v 0.429577 -0.317820 -0.029311 +v 0.378305 -0.336012 -0.017152 +v 0.378305 -0.324876 0.000118 +v 0.377731 -0.391071 -0.017152 +v 0.378305 -0.336012 -0.017152 +v 0.377731 -0.391071 -0.017152 +v 0.311310 -0.355018 0.017389 +v 0.310312 -0.358745 0.000118 +v 0.327714 -0.313071 0.017389 +v 0.311310 -0.355018 0.017389 +v 0.330597 -0.302315 0.000118 +v 0.327714 -0.313071 0.017389 +v 0.327714 -0.313071 -0.017152 +v 0.330597 -0.302315 0.000118 +v 0.311310 -0.355018 -0.017152 +v 0.327714 -0.313071 -0.017152 +v 0.311310 -0.355018 -0.017152 +v 0.242925 -0.282077 0.027414 +v 0.239005 -0.286749 0.000118 +v 0.265699 -0.244765 0.027414 +v 0.242925 -0.282077 0.027414 +v 0.277012 -0.231283 0.000118 +v 0.265699 -0.244765 0.027414 +v 0.265699 -0.244765 -0.027178 +v 0.277012 -0.231283 0.000118 +v 0.242925 -0.282077 -0.027178 +v 0.265699 -0.244765 -0.027178 +v 0.242925 -0.282077 -0.027178 +v 0.188841 -0.254040 0.035601 +v 0.187464 -0.261848 0.000118 +v 0.190596 -0.172486 0.035601 +v 0.188841 -0.254040 0.035601 +v 0.194569 -0.149955 0.000118 +v 0.190596 -0.172486 0.035601 +v 0.190596 -0.172486 -0.035364 +v 0.194569 -0.149955 0.000118 +v 0.188841 -0.254040 -0.035364 +v 0.190596 -0.172486 -0.035364 +v 0.188841 -0.254040 -0.035364 +v 0.484897 -0.360973 0.000118 +v 0.478271 -0.390977 0.017389 +v 0.478607 -0.390977 0.000118 +v 0.474044 -0.342855 0.017389 +v 0.473074 -0.331762 0.000118 +v 0.474044 -0.342855 -0.017152 +v 0.478271 -0.390977 -0.017152 +v 0.098411 -0.232880 0.035601 +v 0.098411 -0.240808 0.000118 +v 0.098411 -0.144967 0.035601 +v 0.098411 -0.232880 0.035601 +v 0.098411 -0.122088 0.000118 +v 0.098411 -0.144967 0.035601 +v 0.098411 -0.144967 -0.035364 +v 0.098411 -0.122088 0.000118 +v 0.098411 -0.232880 -0.035364 +v 0.098411 -0.144967 -0.035364 +v 0.098411 -0.232880 -0.035364 +v -0.000118 -0.390977 0.478607 +v -0.017389 -0.390977 0.478271 +v -0.029547 -0.390983 0.429828 +v -0.000118 -0.390983 0.429848 +v -0.017389 -0.390977 0.478271 +v -0.017389 -0.342855 0.474044 +v -0.029547 -0.317820 0.429577 +v -0.029547 -0.390983 0.429828 +v -0.017389 -0.342855 0.474044 +v -0.000118 -0.331762 0.473074 +v -0.000118 -0.306727 0.429520 +v -0.029547 -0.317820 0.429577 +v 0.017152 -0.342855 0.474044 +v 0.029310 -0.317820 0.429577 +v 0.017152 -0.342855 0.474044 +v 0.017152 -0.390977 0.478271 +v 0.029310 -0.390983 0.429828 +v 0.029310 -0.317820 0.429577 +v 0.017152 -0.390977 0.478271 +v 0.029310 -0.390983 0.429828 +v -0.017389 -0.391071 0.377731 +v -0.000118 -0.391100 0.378066 +v -0.017389 -0.336012 0.378305 +v -0.017389 -0.391071 0.377731 +v -0.029547 -0.317820 0.429577 +v -0.000118 -0.306727 0.429520 +v -0.000118 -0.324876 0.378305 +v -0.017389 -0.336012 0.378305 +v -0.000118 -0.306727 0.429520 +v 0.029310 -0.317820 0.429577 +v 0.017152 -0.336012 0.378305 +v -0.000118 -0.324876 0.378305 +v 0.017152 -0.391071 0.377731 +v 0.017152 -0.336012 0.378305 +v 0.017152 -0.391071 0.377731 +v -0.017389 -0.355018 0.311310 +v -0.000118 -0.358745 0.310312 +v -0.017389 -0.313071 0.327714 +v -0.017389 -0.355018 0.311310 +v -0.000118 -0.302315 0.330597 +v -0.017389 -0.313071 0.327714 +v 0.017152 -0.313071 0.327714 +v -0.000118 -0.302315 0.330597 +v 0.017152 -0.355018 0.311310 +v 0.017152 -0.313071 0.327714 +v 0.017152 -0.355018 0.311310 +v -0.027414 -0.282077 0.242925 +v -0.000118 -0.286749 0.239005 +v -0.027414 -0.244765 0.265699 +v -0.027414 -0.282077 0.242925 +v -0.000118 -0.231283 0.277012 +v -0.027414 -0.244765 0.265699 +v 0.027178 -0.244765 0.265699 +v -0.000118 -0.231283 0.277012 +v 0.027178 -0.282077 0.242925 +v 0.027178 -0.244765 0.265699 +v 0.027178 -0.282077 0.242925 +v -0.035601 -0.254040 0.188841 +v -0.000118 -0.261848 0.187464 +v -0.035601 -0.172486 0.190596 +v -0.035601 -0.254040 0.188841 +v -0.000118 -0.149955 0.194569 +v -0.035601 -0.172486 0.190596 +v 0.035364 -0.172486 0.190596 +v -0.000118 -0.149955 0.194569 +v 0.035364 -0.254040 0.188841 +v 0.035364 -0.172486 0.190596 +v 0.035364 -0.254040 0.188841 +v -0.000118 -0.360973 0.484897 +v -0.017389 -0.390977 0.478271 +v -0.000118 -0.390977 0.478607 +v -0.017389 -0.342855 0.474044 +v -0.000118 -0.331762 0.473074 +v 0.017152 -0.342855 0.474044 +v 0.017152 -0.390977 0.478271 +v -0.035601 -0.232880 0.098411 +v -0.000118 -0.240808 0.098411 +v -0.035601 -0.144967 0.098411 +v -0.035601 -0.232880 0.098411 +v -0.000118 -0.122088 0.098411 +v -0.035601 -0.144967 0.098411 +v 0.035364 -0.144967 0.098411 +v -0.000118 -0.122088 0.098411 +v 0.035364 -0.232880 0.098411 +v 0.035364 -0.144967 0.098411 +v 0.035364 -0.232880 0.098411 +v -0.478607 -0.390977 -0.000118 +v -0.478271 -0.390977 -0.017389 +v -0.429828 -0.390983 -0.029547 +v -0.429848 -0.390983 -0.000118 +v -0.478271 -0.390977 -0.017389 +v -0.474044 -0.342855 -0.017389 +v -0.429577 -0.317820 -0.029547 +v -0.429828 -0.390983 -0.029547 +v -0.474044 -0.342855 -0.017389 +v -0.473074 -0.331762 -0.000118 +v -0.429520 -0.306727 -0.000118 +v -0.429577 -0.317820 -0.029547 +v -0.474044 -0.342855 0.017152 +v -0.429577 -0.317820 0.029310 +v -0.474044 -0.342855 0.017152 +v -0.478271 -0.390977 0.017152 +v -0.429828 -0.390983 0.029310 +v -0.429577 -0.317820 0.029310 +v -0.478271 -0.390977 0.017152 +v -0.429828 -0.390983 0.029310 +v -0.377731 -0.391071 -0.017389 +v -0.378066 -0.391100 -0.000118 +v -0.378305 -0.336012 -0.017389 +v -0.377731 -0.391071 -0.017389 +v -0.429577 -0.317820 -0.029547 +v -0.429520 -0.306727 -0.000118 +v -0.378305 -0.324876 -0.000118 +v -0.378305 -0.336012 -0.017389 +v -0.429520 -0.306727 -0.000118 +v -0.429577 -0.317820 0.029310 +v -0.378305 -0.336012 0.017152 +v -0.378305 -0.324876 -0.000118 +v -0.377731 -0.391071 0.017152 +v -0.378305 -0.336012 0.017152 +v -0.377731 -0.391071 0.017152 +v -0.311310 -0.355018 -0.017389 +v -0.310312 -0.358745 -0.000118 +v -0.327714 -0.313071 -0.017389 +v -0.311310 -0.355018 -0.017389 +v -0.330597 -0.302315 -0.000118 +v -0.327714 -0.313071 -0.017389 +v -0.327714 -0.313071 0.017152 +v -0.330597 -0.302315 -0.000118 +v -0.311310 -0.355018 0.017152 +v -0.327714 -0.313071 0.017152 +v -0.311310 -0.355018 0.017152 +v -0.242925 -0.282077 -0.027414 +v -0.239005 -0.286749 -0.000118 +v -0.265699 -0.244765 -0.027414 +v -0.242925 -0.282077 -0.027414 +v -0.277012 -0.231283 -0.000118 +v -0.265699 -0.244765 -0.027414 +v -0.265699 -0.244765 0.027178 +v -0.277012 -0.231283 -0.000118 +v -0.242925 -0.282077 0.027178 +v -0.265699 -0.244765 0.027178 +v -0.242925 -0.282077 0.027178 +v -0.188841 -0.254040 -0.035601 +v -0.187464 -0.261848 -0.000118 +v -0.190596 -0.172486 -0.035601 +v -0.188841 -0.254040 -0.035601 +v -0.194569 -0.149955 -0.000118 +v -0.190596 -0.172486 -0.035601 +v -0.190596 -0.172486 0.035364 +v -0.194569 -0.149955 -0.000118 +v -0.188841 -0.254040 0.035364 +v -0.190596 -0.172486 0.035364 +v -0.188841 -0.254040 0.035364 +v -0.484897 -0.360973 -0.000118 +v -0.478271 -0.390977 -0.017389 +v -0.478607 -0.390977 -0.000118 +v -0.474044 -0.342855 -0.017389 +v -0.473074 -0.331762 -0.000118 +v -0.474044 -0.342855 0.017152 +v -0.478271 -0.390977 0.017152 +v -0.098411 -0.232880 -0.035601 +v -0.098411 -0.240808 -0.000118 +v -0.098411 -0.144967 -0.035601 +v -0.098411 -0.232880 -0.035601 +v -0.098411 -0.122088 -0.000118 +v -0.098411 -0.144967 -0.035601 +v -0.098411 -0.144967 0.035364 +v -0.098411 -0.122088 -0.000118 +v -0.098411 -0.232880 0.035364 +v -0.098411 -0.144967 0.035364 +v -0.098411 -0.232880 0.035364 +v 0.000000 -0.094464 0.000000 +v 0.043796 -0.094464 0.105844 +v 0.105811 -0.094464 0.043875 +v -0.043875 -0.094464 0.105811 +v -0.105844 -0.094464 0.043796 +v -0.105811 -0.094464 -0.043875 +v -0.043796 -0.094464 -0.105844 +v 0.043875 -0.094464 -0.105811 +v 0.105844 -0.094464 -0.043796 +v 0.043796 -0.255563 0.105844 +v 0.105811 -0.255563 0.043875 +v 0.105811 -0.094464 0.043875 +v 0.043796 -0.094464 0.105844 +v -0.043875 -0.255563 0.105811 +v 0.043796 -0.255563 0.105844 +v 0.043796 -0.094464 0.105844 +v -0.043875 -0.094464 0.105811 +v -0.105844 -0.255563 0.043796 +v -0.043875 -0.255563 0.105811 +v -0.043875 -0.094464 0.105811 +v -0.105844 -0.094464 0.043796 +v -0.105811 -0.255563 -0.043875 +v -0.105844 -0.255563 0.043796 +v -0.105844 -0.094464 0.043796 +v -0.105811 -0.094464 -0.043875 +v -0.043796 -0.255563 -0.105844 +v -0.105811 -0.255563 -0.043875 +v -0.105811 -0.094464 -0.043875 +v -0.043796 -0.094464 -0.105844 +v 0.043875 -0.255563 -0.105811 +v -0.043796 -0.255563 -0.105844 +v -0.043796 -0.094464 -0.105844 +v 0.043875 -0.094464 -0.105811 +v 0.105844 -0.255563 -0.043796 +v 0.043875 -0.255563 -0.105811 +v 0.043875 -0.094464 -0.105811 +v 0.105844 -0.094464 -0.043796 +v 0.105811 -0.255563 0.043875 +v 0.105844 -0.255563 -0.043796 +v 0.105844 -0.094464 -0.043796 +v 0.105811 -0.094464 0.043875 +v 0.000000 -0.255563 0.000000 +v 0.105811 -0.255563 0.043875 +v 0.043796 -0.255563 0.105844 +v -0.043875 -0.255563 0.105811 +v -0.105844 -0.255563 0.043796 +v -0.105811 -0.255563 -0.043875 +v -0.043796 -0.255563 -0.105844 +v 0.043875 -0.255563 -0.105811 +v 0.105844 -0.255563 -0.043796 +v -0.275954 0.604340 0.275954 +v -0.275954 0.604340 -0.275954 +v -0.275954 0.612392 -0.275954 +v -0.275954 0.612392 0.275954 +v -0.275954 0.604340 -0.275954 +v 0.275954 0.604340 -0.275954 +v 0.275954 0.612392 -0.275954 +v -0.275954 0.612392 -0.275954 +v 0.275954 0.604340 -0.275954 +v 0.275954 0.604340 0.275954 +v 0.275954 0.612392 0.275954 +v 0.275954 0.612392 -0.275954 +v 0.275954 0.604340 0.275954 +v -0.275954 0.604340 0.275954 +v -0.275954 0.612392 0.275954 +v 0.275954 0.612392 0.275954 +v -0.275954 0.612392 0.275954 +v -0.275954 0.612392 -0.275954 +v -0.284007 0.611587 -0.284007 +v -0.284007 0.611587 0.284007 +v -0.275954 0.612392 -0.275954 +v 0.275954 0.612392 -0.275954 +v 0.284007 0.611587 -0.284007 +v -0.284007 0.611587 -0.284007 +v 0.275954 0.612392 -0.275954 +v 0.275954 0.612392 0.275954 +v 0.284007 0.611587 0.284007 +v 0.284007 0.611587 -0.284007 +v 0.275954 0.612392 0.275954 +v -0.275954 0.612392 0.275954 +v -0.284007 0.611587 0.284007 +v 0.284007 0.611587 0.284007 +v -0.284007 0.611587 0.284007 +v -0.284007 0.611587 -0.284007 +v -0.284007 0.603535 -0.284007 +v -0.284007 0.603535 0.284007 +v -0.284007 0.611587 -0.284007 +v 0.284007 0.611587 -0.284007 +v 0.284007 0.603535 -0.284007 +v -0.284007 0.603535 -0.284007 +v 0.284007 0.611587 -0.284007 +v 0.284007 0.611587 0.284007 +v 0.284007 0.603535 0.284007 +v 0.284007 0.603535 -0.284007 +v 0.284007 0.611587 0.284007 +v -0.284007 0.611587 0.284007 +v -0.284007 0.603535 0.284007 +v 0.284007 0.603535 0.284007 +v -0.507297 0.549194 0.507297 +v 0.507297 0.549194 0.507297 +v 0.507297 0.550000 0.507297 +v -0.507297 0.550000 0.507297 +v 0.507297 0.549194 0.507297 +v 0.507297 0.549194 -0.507297 +v 0.507297 0.550000 -0.507297 +v 0.507297 0.550000 0.507297 +v 0.507297 0.549194 -0.507297 +v -0.507297 0.549194 -0.507297 +v -0.507297 0.550000 -0.507297 +v 0.507297 0.550000 -0.507297 +v -0.507297 0.549194 -0.507297 +v -0.507297 0.549194 0.507297 +v -0.507297 0.550000 0.507297 +v -0.507297 0.550000 -0.507297 +v 0.507297 0.558052 0.507297 +v -0.507297 0.558052 0.507297 +v 0.507297 0.558052 -0.507297 +v 0.507297 0.558052 0.507297 +v -0.507297 0.558052 -0.507297 +v 0.507297 0.558052 -0.507297 +v -0.507297 0.558052 0.507297 +v -0.507297 0.558052 -0.507297 +v 0.499245 0.566104 0.499245 +v -0.499245 0.566104 0.499245 +v 0.499245 0.566104 -0.499245 +v 0.499245 0.566104 0.499245 +v -0.499245 0.566104 -0.499245 +v 0.499245 0.566104 -0.499245 +v -0.499245 0.566104 0.499245 +v -0.499245 0.566104 -0.499245 +v 0.499245 0.574157 0.499245 +v -0.499245 0.574157 0.499245 +v 0.499245 0.574157 -0.499245 +v 0.499245 0.574157 0.499245 +v -0.499245 0.574157 -0.499245 +v 0.499245 0.574157 -0.499245 +v -0.499245 0.574157 0.499245 +v -0.499245 0.574157 -0.499245 +v 0.491193 0.582209 0.491193 +v -0.491193 0.582209 0.491193 +v 0.491193 0.582209 -0.491193 +v 0.491193 0.582209 0.491193 +v -0.491193 0.582209 -0.491193 +v 0.491193 0.582209 -0.491193 +v -0.491193 0.582209 0.491193 +v -0.491193 0.582209 -0.491193 +v -0.491193 0.582209 0.491193 +v 0.491193 0.582209 0.491193 +v 0.483140 0.583014 0.483140 +v -0.483140 0.583014 0.483140 +v 0.491193 0.582209 0.491193 +v 0.491193 0.582209 -0.491193 +v 0.483140 0.583014 -0.483140 +v 0.483140 0.583014 0.483140 +v 0.491193 0.582209 -0.491193 +v -0.491193 0.582209 -0.491193 +v -0.483140 0.583014 -0.483140 +v 0.483140 0.583014 -0.483140 +v -0.491193 0.582209 -0.491193 +v -0.491193 0.582209 0.491193 +v -0.483140 0.583014 0.483140 +v -0.483140 0.583014 -0.483140 +v -0.314041 0.591939 -0.314041 +v -0.314041 0.591939 0.314041 +v 0.314041 0.591939 -0.314041 +v -0.314041 0.591939 -0.314041 +v 0.314041 0.591939 0.314041 +v 0.314041 0.591939 -0.314041 +v -0.314041 0.591939 0.314041 +v 0.314041 0.591939 0.314041 +v -0.322094 0.591134 -0.322094 +v -0.322094 0.591134 0.322094 +v 0.322094 0.591134 -0.322094 +v -0.322094 0.591134 -0.322094 +v 0.322094 0.591134 0.322094 +v 0.322094 0.591134 -0.322094 +v -0.322094 0.591134 0.322094 +v 0.322094 0.591134 0.322094 +v -0.322094 0.583082 -0.322094 +v -0.322094 0.583082 0.322094 +v 0.322094 0.583082 -0.322094 +v -0.322094 0.583082 -0.322094 +v 0.322094 0.583082 0.322094 +v 0.322094 0.583082 -0.322094 +v -0.322094 0.583082 0.322094 +v 0.322094 0.583082 0.322094 +v -0.322094 0.583082 0.322094 +v -0.322094 0.583082 -0.322094 +v -0.483140 0.575029 -0.483140 +v -0.483140 0.575029 0.483140 +v -0.322094 0.583082 -0.322094 +v 0.322094 0.583082 -0.322094 +v 0.483140 0.575029 -0.483140 +v -0.483140 0.575029 -0.483140 +v 0.322094 0.583082 -0.322094 +v 0.322094 0.583082 0.322094 +v 0.483140 0.575029 0.483140 +v 0.483140 0.575029 -0.483140 +v 0.322094 0.583082 0.322094 +v -0.322094 0.583082 0.322094 +v -0.483140 0.575029 0.483140 +v 0.483140 0.575029 0.483140 +v -0.483140 0.575029 0.483140 +v -0.483140 0.575029 -0.483140 +v -0.483140 0.583014 -0.483140 +v -0.483140 0.583014 0.483140 +v -0.483140 0.575029 -0.483140 +v 0.483140 0.575029 -0.483140 +v 0.483140 0.583014 -0.483140 +v -0.483140 0.583014 -0.483140 +v 0.483140 0.575029 -0.483140 +v 0.483140 0.575029 0.483140 +v 0.483140 0.583014 0.483140 +v 0.483140 0.583014 -0.483140 +v 0.483140 0.575029 0.483140 +v -0.483140 0.575029 0.483140 +v -0.483140 0.583014 0.483140 +v 0.483140 0.583014 0.483140 +v 0.275954 0.604340 -0.275954 +v -0.275954 0.604340 -0.275954 +v -0.275954 0.604340 0.275954 +v 0.275954 0.604340 0.275954 +v 0.507297 0.549194 -0.507297 +v 0.507297 0.549194 0.507297 +v -0.507297 0.549194 0.507297 +v -0.507297 0.549194 -0.507297 +v 0.061122 0.493612 0.044408 +v 0.075551 0.493612 0.000000 +v 0.153763 0.549783 0.000000 +v 0.124397 0.549782 0.090379 +v 0.023346 0.493612 0.071853 +v 0.047515 0.549782 0.146237 +v -0.023346 0.493612 0.071853 +v -0.047515 0.549782 0.146237 +v -0.061122 0.493612 0.044408 +v -0.124396 0.549782 0.090380 +v -0.075551 0.493612 0.000000 +v -0.153763 0.549783 0.000000 +v -0.061122 0.493612 -0.044407 +v -0.124397 0.549783 -0.090379 +v -0.023346 0.493612 -0.071853 +v -0.047515 0.549783 -0.146237 +v 0.023346 0.493612 -0.071853 +v 0.047515 0.549783 -0.146237 +v 0.061122 0.493612 -0.044407 +v 0.124396 0.549783 -0.090379 +v 0.039643 0.457110 0.028802 +v 0.049002 0.457110 0.000000 +v 0.015142 0.457110 0.046603 +v -0.015142 0.457110 0.046603 +v -0.039643 0.457110 0.028802 +v -0.049002 0.457110 0.000000 +v -0.039643 0.457110 -0.028802 +v -0.015142 0.457110 -0.046603 +v 0.015142 0.457110 -0.046603 +v 0.039643 0.457110 -0.028802 +v 0.065534 -0.100432 0.047613 +v 0.081005 -0.100432 0.000000 +v 0.081005 -0.082613 0.000000 +v 0.065534 -0.082613 0.047613 +v 0.025032 -0.100432 0.077040 +v 0.065534 -0.100432 0.047613 +v 0.065534 -0.082613 0.047613 +v 0.025032 -0.082613 0.077040 +v -0.025032 -0.100432 0.077040 +v 0.025032 -0.100432 0.077040 +v 0.025032 -0.082613 0.077040 +v -0.025032 -0.082613 0.077040 +v -0.065534 -0.100432 0.047613 +v -0.025032 -0.100432 0.077040 +v -0.025032 -0.082613 0.077040 +v -0.065534 -0.082613 0.047613 +v -0.081005 -0.100432 0.000000 +v -0.065534 -0.100432 0.047613 +v -0.065534 -0.082613 0.047613 +v -0.081005 -0.082613 0.000000 +v -0.065534 -0.100432 -0.047613 +v -0.081005 -0.100432 0.000000 +v -0.081005 -0.082613 0.000000 +v -0.065534 -0.082613 -0.047613 +v -0.025032 -0.100432 -0.077040 +v -0.065534 -0.100432 -0.047613 +v -0.065534 -0.082613 -0.047613 +v -0.025032 -0.082613 -0.077040 +v 0.025032 -0.100432 -0.077040 +v -0.025032 -0.100432 -0.077040 +v -0.025032 -0.082613 -0.077040 +v 0.025032 -0.082613 -0.077040 +v 0.065534 -0.100432 -0.047613 +v 0.025032 -0.100432 -0.077040 +v 0.025032 -0.082613 -0.077040 +v 0.065534 -0.082613 -0.047613 +v 0.081005 -0.100432 0.000000 +v 0.065534 -0.100432 -0.047613 +v 0.065534 -0.082613 -0.047613 +v 0.081005 -0.082613 0.000000 +v 0.065534 -0.082613 0.047613 +v 0.081005 -0.082613 0.000000 +v 0.062269 -0.081722 0.000000 +v 0.050377 -0.081722 0.036601 +v 0.025032 -0.082613 0.077040 +v 0.065534 -0.082613 0.047613 +v 0.050377 -0.081722 0.036601 +v 0.019242 -0.081722 0.059221 +v -0.025032 -0.082613 0.077040 +v 0.025032 -0.082613 0.077040 +v 0.019242 -0.081722 0.059221 +v -0.019242 -0.081722 0.059221 +v -0.065534 -0.082613 0.047613 +v -0.025032 -0.082613 0.077040 +v -0.019242 -0.081722 0.059221 +v -0.050377 -0.081722 0.036601 +v -0.081005 -0.082613 0.000000 +v -0.065534 -0.082613 0.047613 +v -0.050377 -0.081722 0.036601 +v -0.062269 -0.081722 0.000000 +v -0.065534 -0.082613 -0.047613 +v -0.081005 -0.082613 0.000000 +v -0.062269 -0.081722 0.000000 +v -0.050377 -0.081722 -0.036601 +v -0.025032 -0.082613 -0.077040 +v -0.065534 -0.082613 -0.047613 +v -0.050377 -0.081722 -0.036601 +v -0.019242 -0.081722 -0.059221 +v 0.025032 -0.082613 -0.077040 +v -0.025032 -0.082613 -0.077040 +v -0.019242 -0.081722 -0.059221 +v 0.019242 -0.081722 -0.059221 +v 0.065534 -0.082613 -0.047613 +v 0.025032 -0.082613 -0.077040 +v 0.019242 -0.081722 -0.059221 +v 0.050377 -0.081722 -0.036601 +v 0.081005 -0.082613 0.000000 +v 0.065534 -0.082613 -0.047613 +v 0.050377 -0.081722 -0.036601 +v 0.062269 -0.081722 0.000000 +v 0.050377 -0.081722 0.036601 +v 0.062269 -0.081722 0.000000 +v 0.062269 -0.063904 0.000000 +v 0.050377 -0.063904 0.036601 +v 0.019242 -0.081722 0.059221 +v 0.050377 -0.081722 0.036601 +v 0.050377 -0.063904 0.036601 +v 0.019242 -0.063904 0.059221 +v -0.019242 -0.081722 0.059221 +v 0.019242 -0.081722 0.059221 +v 0.019242 -0.063904 0.059221 +v -0.019242 -0.063904 0.059221 +v -0.050377 -0.081722 0.036601 +v -0.019242 -0.081722 0.059221 +v -0.019242 -0.063904 0.059221 +v -0.050377 -0.063904 0.036601 +v -0.062269 -0.081722 0.000000 +v -0.050377 -0.081722 0.036601 +v -0.050377 -0.063904 0.036601 +v -0.062269 -0.063904 0.000000 +v -0.050377 -0.081722 -0.036601 +v -0.062269 -0.081722 0.000000 +v -0.062269 -0.063904 0.000000 +v -0.050377 -0.063904 -0.036601 +v -0.019242 -0.081722 -0.059221 +v -0.050377 -0.081722 -0.036601 +v -0.050377 -0.063904 -0.036601 +v -0.019242 -0.063904 -0.059221 +v 0.019242 -0.081722 -0.059221 +v -0.019242 -0.081722 -0.059221 +v -0.019242 -0.063904 -0.059221 +v 0.019242 -0.063904 -0.059221 +v 0.050377 -0.081722 -0.036601 +v 0.019242 -0.081722 -0.059221 +v 0.019242 -0.063904 -0.059221 +v 0.050377 -0.063904 -0.036601 +v 0.062269 -0.081722 0.000000 +v 0.050377 -0.081722 -0.036601 +v 0.050377 -0.063904 -0.036601 +v 0.062269 -0.063904 0.000000 +v 0.050377 -0.063904 0.036601 +v 0.062269 -0.063904 0.000000 +v 0.071637 -0.059449 0.000000 +v 0.057955 -0.059449 0.042107 +v 0.019242 -0.063904 0.059221 +v 0.050377 -0.063904 0.036601 +v 0.057955 -0.059449 0.042107 +v 0.022137 -0.059449 0.068131 +v -0.019242 -0.063904 0.059221 +v 0.019242 -0.063904 0.059221 +v 0.022137 -0.059449 0.068131 +v -0.022137 -0.059449 0.068131 +v -0.050377 -0.063904 0.036601 +v -0.019242 -0.063904 0.059221 +v -0.022137 -0.059449 0.068131 +v -0.057955 -0.059449 0.042107 +v -0.062269 -0.063904 0.000000 +v -0.050377 -0.063904 0.036601 +v -0.057955 -0.059449 0.042107 +v -0.071637 -0.059449 0.000000 +v -0.050377 -0.063904 -0.036601 +v -0.062269 -0.063904 0.000000 +v -0.071637 -0.059449 0.000000 +v -0.057955 -0.059449 -0.042107 +v -0.019242 -0.063904 -0.059221 +v -0.050377 -0.063904 -0.036601 +v -0.057955 -0.059449 -0.042107 +v -0.022137 -0.059449 -0.068131 +v 0.019242 -0.063904 -0.059221 +v -0.019242 -0.063904 -0.059221 +v -0.022137 -0.059449 -0.068131 +v 0.022137 -0.059449 -0.068131 +v 0.050377 -0.063904 -0.036601 +v 0.019242 -0.063904 -0.059221 +v 0.022137 -0.059449 -0.068131 +v 0.057955 -0.059449 -0.042107 +v 0.062269 -0.063904 0.000000 +v 0.050377 -0.063904 -0.036601 +v 0.057955 -0.059449 -0.042107 +v 0.071637 -0.059449 0.000000 +v 0.057955 -0.059449 0.042107 +v 0.071637 -0.059449 0.000000 +v 0.071637 -0.050540 0.000000 +v 0.057955 -0.050540 0.042107 +v 0.022137 -0.059449 0.068131 +v 0.057955 -0.059449 0.042107 +v 0.057955 -0.050540 0.042107 +v 0.022137 -0.050540 0.068131 +v -0.022137 -0.059449 0.068131 +v 0.022137 -0.059449 0.068131 +v 0.022137 -0.050540 0.068131 +v -0.022137 -0.050540 0.068131 +v -0.057955 -0.059449 0.042107 +v -0.022137 -0.059449 0.068131 +v -0.022137 -0.050540 0.068131 +v -0.057955 -0.050540 0.042107 +v -0.071637 -0.059449 0.000000 +v -0.057955 -0.059449 0.042107 +v -0.057955 -0.050540 0.042107 +v -0.071637 -0.050540 0.000000 +v -0.057955 -0.059449 -0.042107 +v -0.071637 -0.059449 0.000000 +v -0.071637 -0.050540 0.000000 +v -0.057955 -0.050540 -0.042107 +v -0.022137 -0.059449 -0.068131 +v -0.057955 -0.059449 -0.042107 +v -0.057955 -0.050540 -0.042107 +v -0.022137 -0.050540 -0.068131 +v 0.022137 -0.059449 -0.068131 +v -0.022137 -0.059449 -0.068131 +v -0.022137 -0.050540 -0.068131 +v 0.022137 -0.050540 -0.068131 +v 0.057955 -0.059449 -0.042107 +v 0.022137 -0.059449 -0.068131 +v 0.022137 -0.050540 -0.068131 +v 0.057955 -0.050540 -0.042107 +v 0.071637 -0.059449 0.000000 +v 0.057955 -0.059449 -0.042107 +v 0.057955 -0.050540 -0.042107 +v 0.071637 -0.050540 0.000000 +v 0.057955 -0.050540 0.042107 +v 0.071637 -0.050540 0.000000 +v 0.062269 -0.046085 0.000000 +v 0.050377 -0.046085 0.036601 +v 0.022137 -0.050540 0.068131 +v 0.057955 -0.050540 0.042107 +v 0.050377 -0.046085 0.036601 +v 0.019242 -0.046085 0.059221 +v -0.022137 -0.050540 0.068131 +v 0.022137 -0.050540 0.068131 +v 0.019242 -0.046085 0.059221 +v -0.019242 -0.046085 0.059221 +v -0.057955 -0.050540 0.042107 +v -0.022137 -0.050540 0.068131 +v -0.019242 -0.046085 0.059221 +v -0.050377 -0.046085 0.036601 +v -0.071637 -0.050540 0.000000 +v -0.057955 -0.050540 0.042107 +v -0.050377 -0.046085 0.036601 +v -0.062269 -0.046085 0.000000 +v -0.057955 -0.050540 -0.042107 +v -0.071637 -0.050540 0.000000 +v -0.062269 -0.046085 0.000000 +v -0.050377 -0.046085 -0.036601 +v -0.022137 -0.050540 -0.068131 +v -0.057955 -0.050540 -0.042107 +v -0.050377 -0.046085 -0.036601 +v -0.019242 -0.046085 -0.059221 +v 0.022137 -0.050540 -0.068131 +v -0.022137 -0.050540 -0.068131 +v -0.019242 -0.046085 -0.059221 +v 0.019242 -0.046085 -0.059221 +v 0.057955 -0.050540 -0.042107 +v 0.022137 -0.050540 -0.068131 +v 0.019242 -0.046085 -0.059221 +v 0.050377 -0.046085 -0.036601 +v 0.071637 -0.050540 0.000000 +v 0.057955 -0.050540 -0.042107 +v 0.050377 -0.046085 -0.036601 +v 0.062269 -0.046085 0.000000 +v 0.050377 -0.046085 0.036601 +v 0.062269 -0.046085 0.000000 +v 0.062269 -0.037015 0.000000 +v 0.050377 -0.037015 0.036601 +v 0.019242 -0.046085 0.059221 +v 0.050377 -0.046085 0.036601 +v 0.050377 -0.037015 0.036601 +v 0.019242 -0.037015 0.059221 +v -0.019242 -0.046085 0.059221 +v 0.019242 -0.046085 0.059221 +v 0.019242 -0.037015 0.059221 +v -0.019242 -0.037015 0.059221 +v -0.050377 -0.046085 0.036601 +v -0.019242 -0.046085 0.059221 +v -0.019242 -0.037015 0.059221 +v -0.050377 -0.037015 0.036601 +v -0.062269 -0.046085 0.000000 +v -0.050377 -0.046085 0.036601 +v -0.050377 -0.037015 0.036601 +v -0.062269 -0.037015 0.000000 +v -0.050377 -0.046085 -0.036601 +v -0.062269 -0.046085 0.000000 +v -0.062269 -0.037015 0.000000 +v -0.050377 -0.037015 -0.036601 +v -0.019242 -0.046085 -0.059221 +v -0.050377 -0.046085 -0.036601 +v -0.050377 -0.037015 -0.036601 +v -0.019242 -0.037015 -0.059221 +v 0.019242 -0.046085 -0.059221 +v -0.019242 -0.046085 -0.059221 +v -0.019242 -0.037015 -0.059221 +v 0.019242 -0.037015 -0.059221 +v 0.050377 -0.046085 -0.036601 +v 0.019242 -0.046085 -0.059221 +v 0.019242 -0.037015 -0.059221 +v 0.050377 -0.037015 -0.036601 +v 0.062269 -0.046085 0.000000 +v 0.050377 -0.046085 -0.036601 +v 0.050377 -0.037015 -0.036601 +v 0.062269 -0.037015 0.000000 +v 0.035221 0.414309 0.025590 +v 0.043536 0.414309 0.000000 +v 0.049002 0.457110 0.000000 +v 0.039643 0.457110 0.028802 +v 0.013453 0.414309 0.041405 +v 0.015142 0.457110 0.046603 +v -0.013453 0.414309 0.041405 +v -0.015142 0.457110 0.046603 +v -0.035221 0.414309 0.025590 +v -0.039643 0.457110 0.028802 +v -0.043536 0.414309 0.000000 +v -0.049002 0.457110 0.000000 +v -0.035221 0.414309 -0.025590 +v -0.039643 0.457110 -0.028802 +v -0.013453 0.414309 -0.041405 +v -0.015142 0.457110 -0.046603 +v 0.013453 0.414309 -0.041405 +v 0.015142 0.457110 -0.046603 +v 0.035221 0.414309 -0.025590 +v 0.013453 0.414309 -0.041405 +v 0.015142 0.457110 -0.046603 +v 0.039643 0.457110 -0.028802 +v 0.051175 0.223460 0.037181 +v 0.063256 0.223460 0.000000 +v 0.019547 0.223460 0.060160 +v -0.019547 0.223460 0.060160 +v -0.051175 0.223460 0.037181 +v -0.063256 0.223460 0.000000 +v -0.051175 0.223460 -0.037181 +v -0.019547 0.223460 -0.060160 +v 0.019547 0.223460 -0.060160 +v 0.051176 0.223460 -0.037181 +v 0.019547 0.223460 -0.060160 +v 0.076220 0.102045 0.055377 +v 0.094213 0.102045 0.000000 +v 0.029113 0.102045 0.089602 +v -0.029113 0.102045 0.089602 +v -0.076220 0.102045 0.055377 +v -0.094213 0.102045 0.000000 +v -0.076220 0.102045 -0.055377 +v -0.029113 0.102045 -0.089602 +v 0.029113 0.102045 -0.089602 +v 0.076220 0.102045 -0.055377 +v 0.029113 0.102045 -0.089602 +v 0.068919 -0.002139 0.050073 +v 0.085189 -0.002139 0.000000 +v 0.026325 -0.002139 0.081019 +v -0.026325 -0.002139 0.081019 +v -0.068919 -0.002139 0.050073 +v -0.085189 -0.002139 0.000000 +v -0.068919 -0.002139 -0.050073 +v -0.026325 -0.002139 -0.081019 +v 0.026325 -0.002139 -0.081019 +v 0.068919 -0.002139 -0.050073 +v 0.026325 -0.002139 -0.081019 +v 0.050377 -0.037015 0.036601 +v 0.062269 -0.037015 0.000000 +v 0.019242 -0.037015 0.059221 +v -0.019242 -0.037015 0.059221 +v -0.050377 -0.037015 0.036601 +v -0.062269 -0.037015 0.000000 +v -0.050377 -0.037015 -0.036601 +v -0.019242 -0.037015 -0.059221 +v 0.019242 -0.037015 -0.059221 +v 0.050377 -0.037015 -0.036601 +v 0.019242 -0.037015 -0.059221 +vt 0.017083 0.467481 +vt 0.017498 0.425773 +vt 0.077301 0.425780 +vt 0.077277 0.475172 +vt 0.017498 0.425773 +vt 0.022716 0.366365 +vt 0.077611 0.335458 +vt 0.077301 0.425780 +vt 0.022716 0.366365 +vt 0.023914 0.320840 +vt 0.077682 0.295421 +vt 0.077611 0.335458 +vt 0.022716 0.366365 +vt 0.077611 0.335458 +vt 0.022716 0.366365 +vt 0.017498 0.425773 +vt 0.077301 0.425780 +vt 0.077611 0.335458 +vt 0.017498 0.425773 +vt 0.077301 0.425780 +vt 0.141617 0.425888 +vt 0.141203 0.458853 +vt 0.140908 0.357917 +vt 0.141617 0.425888 +vt 0.077611 0.335458 +vt 0.077682 0.295421 +vt 0.140908 0.303558 +vt 0.140908 0.357917 +vt 0.077682 0.295421 +vt 0.077611 0.335458 +vt 0.140908 0.357917 +vt 0.140908 0.303558 +vt 0.141617 0.425888 +vt 0.140908 0.357917 +vt 0.141617 0.425888 +vt 0.223614 0.381380 +vt 0.233628 0.407934 +vt 0.203363 0.329596 +vt 0.223614 0.381380 +vt 0.187732 0.293268 +vt 0.203363 0.329596 +vt 0.203363 0.329596 +vt 0.187732 0.293268 +vt 0.223614 0.381380 +vt 0.203363 0.329596 +vt 0.223614 0.381380 +vt 0.308037 0.291333 +vt 0.324950 0.321248 +vt 0.279922 0.245271 +vt 0.308037 0.291333 +vt 0.264859 0.213261 +vt 0.279922 0.245271 +vt 0.279922 0.245271 +vt 0.264859 0.213261 +vt 0.308037 0.291333 +vt 0.279922 0.245271 +vt 0.308037 0.291333 +vt 0.377000 0.255623 +vt 0.378700 0.295995 +vt 0.372639 0.156040 +vt 0.377000 0.255623 +vt 0.367735 0.111762 +vt 0.372639 0.156040 +vt 0.372639 0.156040 +vt 0.367735 0.111762 +vt 0.377000 0.255623 +vt 0.372639 0.156040 +vt 0.377000 0.255623 +vt 0.393655 0.410963 +vt 0.467714 0.453591 +vt 0.467714 0.410963 +vt 0.348935 0.453591 +vt 0.321554 0.410963 +vt 0.348935 0.368334 +vt 0.467714 0.368334 +vt 0.486443 0.230599 +vt 0.486443 0.273314 +vt 0.486443 0.122067 +vt 0.486443 0.230599 +vt 0.486443 0.071872 +vt 0.486443 0.122067 +vt 0.486443 0.122067 +vt 0.486443 0.071872 +vt 0.486443 0.230599 +vt 0.486443 0.122067 +vt 0.486443 0.230599 +vt 0.017083 0.467481 +vt 0.017498 0.425773 +vt 0.077301 0.425780 +vt 0.077277 0.475172 +vt 0.017498 0.425773 +vt 0.022716 0.366365 +vt 0.077611 0.335458 +vt 0.077301 0.425780 +vt 0.022716 0.366365 +vt 0.023914 0.320840 +vt 0.077682 0.295421 +vt 0.077611 0.335458 +vt 0.022716 0.366365 +vt 0.077611 0.335458 +vt 0.022716 0.366365 +vt 0.017498 0.425773 +vt 0.077301 0.425780 +vt 0.077611 0.335458 +vt 0.017498 0.425773 +vt 0.077301 0.425780 +vt 0.141617 0.425888 +vt 0.141203 0.458853 +vt 0.140908 0.357917 +vt 0.141617 0.425888 +vt 0.077611 0.335458 +vt 0.077682 0.295421 +vt 0.140908 0.303558 +vt 0.140908 0.357917 +vt 0.077682 0.295421 +vt 0.077611 0.335458 +vt 0.140908 0.357917 +vt 0.140908 0.303558 +vt 0.141617 0.425888 +vt 0.140908 0.357917 +vt 0.141617 0.425888 +vt 0.223614 0.381380 +vt 0.233628 0.407934 +vt 0.203363 0.329596 +vt 0.223614 0.381380 +vt 0.187732 0.293268 +vt 0.203363 0.329596 +vt 0.203363 0.329596 +vt 0.187732 0.293268 +vt 0.223614 0.381380 +vt 0.203363 0.329596 +vt 0.223614 0.381380 +vt 0.308037 0.291333 +vt 0.324950 0.321248 +vt 0.279922 0.245271 +vt 0.308037 0.291333 +vt 0.264859 0.213261 +vt 0.279922 0.245271 +vt 0.279922 0.245271 +vt 0.264859 0.213261 +vt 0.308037 0.291333 +vt 0.279922 0.245271 +vt 0.308037 0.291333 +vt 0.377000 0.255623 +vt 0.378700 0.295995 +vt 0.372639 0.156040 +vt 0.377000 0.255623 +vt 0.367735 0.111762 +vt 0.372639 0.156040 +vt 0.372639 0.156040 +vt 0.367735 0.111762 +vt 0.377000 0.255623 +vt 0.372639 0.156040 +vt 0.377000 0.255623 +vt 0.393655 0.410963 +vt 0.467714 0.453591 +vt 0.467714 0.410963 +vt 0.348935 0.453591 +vt 0.321554 0.410963 +vt 0.348935 0.368334 +vt 0.467714 0.368334 +vt 0.486443 0.230599 +vt 0.486443 0.273314 +vt 0.486443 0.122067 +vt 0.486443 0.230599 +vt 0.486443 0.071872 +vt 0.486443 0.122067 +vt 0.486443 0.122067 +vt 0.486443 0.071872 +vt 0.486443 0.230599 +vt 0.486443 0.122067 +vt 0.486443 0.230599 +vt 0.017083 0.467481 +vt 0.017498 0.425773 +vt 0.077301 0.425780 +vt 0.077277 0.475172 +vt 0.017498 0.425773 +vt 0.022716 0.366365 +vt 0.077611 0.335458 +vt 0.077301 0.425780 +vt 0.022716 0.366365 +vt 0.023914 0.320840 +vt 0.077682 0.295421 +vt 0.077611 0.335458 +vt 0.022716 0.366365 +vt 0.077611 0.335458 +vt 0.022716 0.366365 +vt 0.017498 0.425773 +vt 0.077301 0.425780 +vt 0.077611 0.335458 +vt 0.017498 0.425773 +vt 0.077301 0.425780 +vt 0.141617 0.425888 +vt 0.141203 0.458853 +vt 0.140908 0.357917 +vt 0.141617 0.425888 +vt 0.077611 0.335458 +vt 0.077682 0.295421 +vt 0.140908 0.303558 +vt 0.140908 0.357917 +vt 0.077682 0.295421 +vt 0.077611 0.335458 +vt 0.140908 0.357917 +vt 0.140908 0.303558 +vt 0.141617 0.425888 +vt 0.140908 0.357917 +vt 0.141617 0.425888 +vt 0.223614 0.381380 +vt 0.233628 0.407934 +vt 0.203363 0.329596 +vt 0.223614 0.381380 +vt 0.187732 0.293268 +vt 0.203363 0.329596 +vt 0.203363 0.329596 +vt 0.187732 0.293268 +vt 0.223614 0.381380 +vt 0.203363 0.329596 +vt 0.223614 0.381380 +vt 0.308037 0.291333 +vt 0.324950 0.321248 +vt 0.279922 0.245271 +vt 0.308037 0.291333 +vt 0.264859 0.213261 +vt 0.279922 0.245271 +vt 0.279922 0.245271 +vt 0.264859 0.213261 +vt 0.308037 0.291333 +vt 0.279922 0.245271 +vt 0.308037 0.291333 +vt 0.377000 0.255623 +vt 0.378700 0.295995 +vt 0.372639 0.156040 +vt 0.377000 0.255623 +vt 0.367735 0.111762 +vt 0.372639 0.156040 +vt 0.372639 0.156040 +vt 0.367735 0.111762 +vt 0.377000 0.255623 +vt 0.372639 0.156040 +vt 0.377000 0.255623 +vt 0.393655 0.410963 +vt 0.467714 0.453591 +vt 0.467714 0.410963 +vt 0.348935 0.453591 +vt 0.321554 0.410963 +vt 0.348935 0.368334 +vt 0.467714 0.368334 +vt 0.486443 0.230599 +vt 0.486443 0.273314 +vt 0.486443 0.122067 +vt 0.486443 0.230599 +vt 0.486443 0.071872 +vt 0.486443 0.122067 +vt 0.486443 0.122067 +vt 0.486443 0.071872 +vt 0.486443 0.230599 +vt 0.486443 0.122067 +vt 0.486443 0.230599 +vt 0.017083 0.467481 +vt 0.017498 0.425773 +vt 0.077301 0.425780 +vt 0.077277 0.475172 +vt 0.017498 0.425773 +vt 0.022716 0.366365 +vt 0.077611 0.335458 +vt 0.077301 0.425780 +vt 0.022716 0.366365 +vt 0.023914 0.320840 +vt 0.077682 0.295421 +vt 0.077611 0.335458 +vt 0.022716 0.366365 +vt 0.077611 0.335458 +vt 0.022716 0.366365 +vt 0.017498 0.425773 +vt 0.077301 0.425780 +vt 0.077611 0.335458 +vt 0.017498 0.425773 +vt 0.077301 0.425780 +vt 0.141617 0.425888 +vt 0.141203 0.458853 +vt 0.140908 0.357917 +vt 0.141617 0.425888 +vt 0.077611 0.335458 +vt 0.077682 0.295421 +vt 0.140908 0.303558 +vt 0.140908 0.357917 +vt 0.077682 0.295421 +vt 0.077611 0.335458 +vt 0.140908 0.357917 +vt 0.140908 0.303558 +vt 0.141617 0.425888 +vt 0.140908 0.357917 +vt 0.141617 0.425888 +vt 0.223614 0.381380 +vt 0.233628 0.407934 +vt 0.203363 0.329596 +vt 0.223614 0.381380 +vt 0.187732 0.293268 +vt 0.203363 0.329596 +vt 0.203363 0.329596 +vt 0.187732 0.293268 +vt 0.223614 0.381380 +vt 0.203363 0.329596 +vt 0.223614 0.381380 +vt 0.308037 0.291333 +vt 0.324950 0.321248 +vt 0.279922 0.245271 +vt 0.308037 0.291333 +vt 0.264859 0.213261 +vt 0.279922 0.245271 +vt 0.279922 0.245271 +vt 0.264859 0.213261 +vt 0.308037 0.291333 +vt 0.279922 0.245271 +vt 0.308037 0.291333 +vt 0.377000 0.255623 +vt 0.378700 0.295995 +vt 0.372639 0.156040 +vt 0.377000 0.255623 +vt 0.367735 0.111762 +vt 0.372639 0.156040 +vt 0.372639 0.156040 +vt 0.367735 0.111762 +vt 0.377000 0.255623 +vt 0.372639 0.156040 +vt 0.377000 0.255623 +vt 0.393655 0.410963 +vt 0.467714 0.453591 +vt 0.467714 0.410963 +vt 0.348935 0.453591 +vt 0.321554 0.410963 +vt 0.348935 0.368334 +vt 0.467714 0.368334 +vt 0.486443 0.230599 +vt 0.486443 0.273314 +vt 0.486443 0.122067 +vt 0.486443 0.230599 +vt 0.486443 0.071872 +vt 0.486443 0.122067 +vt 0.486443 0.122067 +vt 0.486443 0.071872 +vt 0.486443 0.230599 +vt 0.486443 0.122067 +vt 0.486443 0.230599 +vt 0.000000 1.000000 +vt 0.312949 0.385343 +vt 0.374010 0.385343 +vt 0.251887 0.385343 +vt 0.190825 0.385343 +vt 0.129763 0.385343 +vt 0.068702 0.385343 +vt 0.496134 0.385343 +vt 0.435072 0.385343 +vt 0.312949 0.498276 +vt 0.374010 0.498276 +vt 0.374010 0.385343 +vt 0.312949 0.385343 +vt 0.251887 0.498276 +vt 0.312949 0.498276 +vt 0.312949 0.385343 +vt 0.251887 0.385343 +vt 0.190825 0.498276 +vt 0.251887 0.498276 +vt 0.251887 0.385343 +vt 0.190825 0.385343 +vt 0.129763 0.498276 +vt 0.190825 0.498276 +vt 0.190825 0.385343 +vt 0.129763 0.385343 +vt 0.068702 0.498276 +vt 0.129763 0.498276 +vt 0.129763 0.385343 +vt 0.068702 0.385343 +vt 0.007640 0.498276 +vt 0.068702 0.498276 +vt 0.068702 0.385343 +vt 0.007640 0.385343 +vt 0.435072 0.498276 +vt 0.496134 0.498276 +vt 0.496134 0.385343 +vt 0.435072 0.385343 +vt 0.321935 0.273341 +vt 0.321962 0.201250 +vt 0.321962 0.201250 +vt 0.321935 0.273341 +vt 0.234927 0.237263 +vt 0.321935 0.273341 +vt 0.270940 0.324298 +vt 0.198849 0.324271 +vt 0.147891 0.273276 +vt 0.147918 0.201184 +vt 0.198914 0.150227 +vt 0.271005 0.150254 +vt 0.321962 0.201250 +vt 0.143227 0.361033 +vt 0.143227 0.144695 +vt 0.135916 0.138034 +vt 0.135916 0.368993 +vt 0.143227 0.144695 +vt 0.359565 0.144695 +vt 0.366875 0.138034 +vt 0.135916 0.138034 +vt 0.359565 0.144695 +vt 0.359565 0.361033 +vt 0.366875 0.368993 +vt 0.366875 0.138034 +vt 0.359565 0.361033 +vt 0.143227 0.361033 +vt 0.135916 0.368993 +vt 0.366875 0.368993 +vt 0.135916 0.368993 +vt 0.135916 0.138034 +vt 0.113352 0.114821 +vt 0.113352 0.390908 +vt 0.135916 0.138034 +vt 0.366875 0.138034 +vt 0.389439 0.114821 +vt 0.113352 0.114821 +vt 0.366875 0.138034 +vt 0.366875 0.368993 +vt 0.389439 0.390908 +vt 0.389439 0.114821 +vt 0.366875 0.368993 +vt 0.135916 0.368993 +vt 0.113352 0.390908 +vt 0.389439 0.390908 +vt 0.113352 0.390908 +vt 0.113352 0.114821 +vt 0.121903 0.123372 +vt 0.121903 0.382356 +vt 0.113352 0.114821 +vt 0.389439 0.114821 +vt 0.380888 0.123372 +vt 0.121903 0.123372 +vt 0.389439 0.114821 +vt 0.389439 0.390908 +vt 0.380888 0.382356 +vt 0.380888 0.123372 +vt 0.389439 0.390908 +vt 0.113352 0.390908 +vt 0.121903 0.382356 +vt 0.380888 0.382356 +vt 0.004820 0.499440 +vt 0.497971 0.499440 +vt 0.497971 0.499440 +vt 0.004820 0.499440 +vt 0.497971 0.499440 +vt 0.497971 0.006289 +vt 0.497971 0.006289 +vt 0.497971 0.499440 +vt 0.497971 0.006289 +vt 0.004820 0.006289 +vt 0.004820 0.006289 +vt 0.497971 0.006289 +vt 0.004820 0.006289 +vt 0.004820 0.499440 +vt 0.004820 0.499440 +vt 0.004820 0.006289 +vt 0.497971 0.499440 +vt 0.004820 0.499440 +vt 0.497971 0.006289 +vt 0.497971 0.499440 +vt 0.004820 0.006289 +vt 0.497971 0.006289 +vt 0.004820 0.499440 +vt 0.004820 0.006289 +vt 0.491654 0.493123 +vt 0.011137 0.493123 +vt 0.491654 0.012605 +vt 0.491654 0.493123 +vt 0.011137 0.012605 +vt 0.491654 0.012605 +vt 0.011137 0.493123 +vt 0.011137 0.012605 +vt 0.482370 0.483838 +vt 0.020421 0.483838 +vt 0.482370 0.021890 +vt 0.482370 0.483838 +vt 0.020421 0.021890 +vt 0.482370 0.021890 +vt 0.020421 0.483838 +vt 0.020421 0.021890 +vt 0.470567 0.472035 +vt 0.032224 0.472035 +vt 0.470567 0.033693 +vt 0.470567 0.472035 +vt 0.032224 0.033693 +vt 0.470567 0.033693 +vt 0.032224 0.472035 +vt 0.032224 0.033693 +vt 0.032224 0.472035 +vt 0.470567 0.472035 +vt 0.459013 0.460481 +vt 0.043778 0.460481 +vt 0.470567 0.472035 +vt 0.470567 0.033693 +vt 0.459013 0.045247 +vt 0.459013 0.460481 +vt 0.470567 0.033693 +vt 0.032224 0.033693 +vt 0.043778 0.045247 +vt 0.459013 0.045247 +vt 0.032224 0.033693 +vt 0.032224 0.472035 +vt 0.043778 0.460481 +vt 0.043778 0.045247 +vt 0.098754 0.100222 +vt 0.098754 0.405506 +vt 0.404037 0.100222 +vt 0.098754 0.100222 +vt 0.404037 0.405506 +vt 0.404037 0.100222 +vt 0.098754 0.405506 +vt 0.404037 0.405506 +vt 0.094840 0.096308 +vt 0.094840 0.409420 +vt 0.407951 0.096308 +vt 0.094840 0.096308 +vt 0.407951 0.409420 +vt 0.407951 0.096308 +vt 0.094840 0.409420 +vt 0.407951 0.409420 +vt 0.087012 0.088481 +vt 0.087012 0.417248 +vt 0.415779 0.088481 +vt 0.087012 0.088481 +vt 0.415779 0.417248 +vt 0.415779 0.088481 +vt 0.087012 0.417248 +vt 0.415779 0.417248 +vt 0.586243 0.413570 +vt 0.586243 0.086583 +vt 0.504496 0.004836 +vt 0.504496 0.495317 +vt 0.586243 0.086583 +vt 0.913231 0.086583 +vt 0.994978 0.004836 +vt 0.504496 0.004836 +vt 0.913231 0.086583 +vt 0.913231 0.413570 +vt 0.994978 0.495317 +vt 0.994978 0.004836 +vt 0.913231 0.413570 +vt 0.586243 0.413570 +vt 0.504496 0.495317 +vt 0.994978 0.495317 +vt 0.052083 0.452177 +vt 0.052083 0.053552 +vt 0.043778 0.045247 +vt 0.043778 0.460481 +vt 0.052083 0.053552 +vt 0.450708 0.053552 +vt 0.459013 0.045247 +vt 0.043778 0.045247 +vt 0.450708 0.053552 +vt 0.450708 0.452177 +vt 0.459013 0.460481 +vt 0.459013 0.045247 +vt 0.450708 0.452177 +vt 0.052083 0.452177 +vt 0.043778 0.460481 +vt 0.459013 0.460481 +vt 0.997798 0.502710 +vt 0.503545 0.502710 +vt 0.503545 0.996963 +vt 0.997798 0.996963 +vt 0.497971 0.006289 +vt 0.497971 0.499440 +vt 0.004820 0.499440 +vt 0.004820 0.006289 +vt 0.366183 0.254192 +vt 0.376207 0.221754 +vt 0.430543 0.221754 +vt 0.410142 0.287774 +vt 0.339940 0.274240 +vt 0.356731 0.328576 +vt 0.307501 0.274241 +vt 0.290711 0.328576 +vt 0.281258 0.254192 +vt 0.237300 0.287774 +vt 0.271234 0.221754 +vt 0.216899 0.221754 +vt 0.281258 0.189315 +vt 0.237300 0.155734 +vt 0.307501 0.169267 +vt 0.290711 0.114932 +vt 0.339940 0.169267 +vt 0.356731 0.114932 +vt 0.366183 0.189315 +vt 0.410142 0.155734 +vt 0.351262 0.242793 +vt 0.357763 0.221754 +vt 0.334240 0.255796 +vt 0.313201 0.255796 +vt 0.296180 0.242793 +vt 0.289678 0.221754 +vt 0.296180 0.200714 +vt 0.313201 0.187711 +vt 0.334240 0.187711 +vt 0.351262 0.200714 +vt 0.350121 0.494170 +vt 0.396949 0.494170 +vt 0.396949 0.469050 +vt 0.350121 0.469050 +vt 0.300793 0.494170 +vt 0.350121 0.494170 +vt 0.350121 0.469050 +vt 0.300793 0.469050 +vt 0.249801 0.494170 +vt 0.300793 0.494170 +vt 0.300793 0.469050 +vt 0.249801 0.469050 +vt 0.200473 0.494170 +vt 0.249801 0.494170 +vt 0.249801 0.469050 +vt 0.200473 0.469050 +vt 0.153645 0.494170 +vt 0.200473 0.494170 +vt 0.200473 0.469050 +vt 0.153645 0.469050 +vt 0.106818 0.494170 +vt 0.153645 0.494170 +vt 0.153645 0.469050 +vt 0.106818 0.469050 +vt 0.057489 0.494170 +vt 0.106818 0.494170 +vt 0.106818 0.469050 +vt 0.057489 0.469050 +vt 0.006498 0.494170 +vt 0.057489 0.494170 +vt 0.057489 0.469050 +vt 0.006498 0.469050 +vt 0.443776 0.494170 +vt 0.493105 0.494170 +vt 0.493105 0.469050 +vt 0.443776 0.469050 +vt 0.396949 0.494170 +vt 0.443776 0.494170 +vt 0.443776 0.469050 +vt 0.396949 0.469050 +vt 0.350121 0.469050 +vt 0.396949 0.469050 +vt 0.396949 0.467794 +vt 0.350121 0.467794 +vt 0.300793 0.469050 +vt 0.350121 0.469050 +vt 0.350121 0.467794 +vt 0.300793 0.467794 +vt 0.249801 0.469050 +vt 0.300793 0.469050 +vt 0.300793 0.467794 +vt 0.249801 0.467794 +vt 0.200473 0.469050 +vt 0.249801 0.469050 +vt 0.249801 0.467794 +vt 0.200473 0.467794 +vt 0.153645 0.469050 +vt 0.200473 0.469050 +vt 0.200473 0.467794 +vt 0.153645 0.467794 +vt 0.106818 0.469050 +vt 0.153645 0.469050 +vt 0.153645 0.467794 +vt 0.106818 0.467794 +vt 0.057489 0.469050 +vt 0.106818 0.469050 +vt 0.106818 0.467794 +vt 0.057489 0.467794 +vt 0.006498 0.469050 +vt 0.057489 0.469050 +vt 0.057489 0.467794 +vt 0.006498 0.467794 +vt 0.443776 0.469050 +vt 0.493105 0.469050 +vt 0.493105 0.467794 +vt 0.443776 0.467794 +vt 0.396949 0.469050 +vt 0.443776 0.469050 +vt 0.443776 0.467794 +vt 0.396949 0.467794 +vt 0.350121 0.467794 +vt 0.396949 0.467794 +vt 0.396949 0.442675 +vt 0.350121 0.442675 +vt 0.300793 0.467794 +vt 0.350121 0.467794 +vt 0.350121 0.442675 +vt 0.300793 0.442675 +vt 0.249801 0.467794 +vt 0.300793 0.467794 +vt 0.300793 0.442675 +vt 0.249801 0.442675 +vt 0.200473 0.467794 +vt 0.249801 0.467794 +vt 0.249801 0.442675 +vt 0.200473 0.442675 +vt 0.153645 0.467794 +vt 0.200473 0.467794 +vt 0.200473 0.442675 +vt 0.153645 0.442675 +vt 0.106818 0.467794 +vt 0.153645 0.467794 +vt 0.153645 0.442675 +vt 0.106818 0.442675 +vt 0.057489 0.467794 +vt 0.106818 0.467794 +vt 0.106818 0.442675 +vt 0.057489 0.442675 +vt 0.006498 0.467794 +vt 0.057489 0.467794 +vt 0.057489 0.442675 +vt 0.006498 0.442675 +vt 0.443776 0.467794 +vt 0.493105 0.467794 +vt 0.493105 0.442675 +vt 0.443776 0.442675 +vt 0.396949 0.467794 +vt 0.443776 0.467794 +vt 0.443776 0.442675 +vt 0.396949 0.442675 +vt 0.350121 0.442675 +vt 0.396949 0.442675 +vt 0.396949 0.436395 +vt 0.350121 0.436395 +vt 0.300793 0.442675 +vt 0.350121 0.442675 +vt 0.350121 0.436395 +vt 0.300793 0.436395 +vt 0.249801 0.442675 +vt 0.300793 0.442675 +vt 0.300793 0.436395 +vt 0.249801 0.436395 +vt 0.200473 0.442675 +vt 0.249801 0.442675 +vt 0.249801 0.436395 +vt 0.200473 0.436395 +vt 0.153645 0.442675 +vt 0.200473 0.442675 +vt 0.200473 0.436395 +vt 0.153645 0.436395 +vt 0.106818 0.442675 +vt 0.153645 0.442675 +vt 0.153645 0.436395 +vt 0.106818 0.436395 +vt 0.057489 0.442675 +vt 0.106818 0.442675 +vt 0.106818 0.436395 +vt 0.057489 0.436395 +vt 0.006498 0.442675 +vt 0.057489 0.442675 +vt 0.057489 0.436395 +vt 0.006498 0.436395 +vt 0.443776 0.442675 +vt 0.493105 0.442675 +vt 0.493105 0.436395 +vt 0.443776 0.436395 +vt 0.396949 0.442675 +vt 0.443776 0.442675 +vt 0.443776 0.436395 +vt 0.396949 0.436395 +vt 0.350121 0.436395 +vt 0.396949 0.436395 +vt 0.396949 0.423835 +vt 0.350121 0.423835 +vt 0.300793 0.436395 +vt 0.350121 0.436395 +vt 0.350121 0.423835 +vt 0.300793 0.423835 +vt 0.249801 0.436395 +vt 0.300793 0.436395 +vt 0.300793 0.423835 +vt 0.249801 0.423835 +vt 0.200473 0.436395 +vt 0.249801 0.436395 +vt 0.249801 0.423835 +vt 0.200473 0.423835 +vt 0.153645 0.436395 +vt 0.200473 0.436395 +vt 0.200473 0.423835 +vt 0.153645 0.423835 +vt 0.106818 0.436395 +vt 0.153645 0.436395 +vt 0.153645 0.423835 +vt 0.106818 0.423835 +vt 0.057489 0.436395 +vt 0.106818 0.436395 +vt 0.106818 0.423835 +vt 0.057489 0.423835 +vt 0.006498 0.436395 +vt 0.057489 0.436395 +vt 0.057489 0.423835 +vt 0.006498 0.423835 +vt 0.443776 0.436395 +vt 0.493105 0.436395 +vt 0.493105 0.423835 +vt 0.443776 0.423835 +vt 0.396949 0.436395 +vt 0.443776 0.436395 +vt 0.443776 0.423835 +vt 0.396949 0.423835 +vt 0.350121 0.423835 +vt 0.396949 0.423835 +vt 0.396949 0.417555 +vt 0.350121 0.417555 +vt 0.300793 0.423835 +vt 0.350121 0.423835 +vt 0.350121 0.417555 +vt 0.300793 0.417555 +vt 0.249801 0.423835 +vt 0.300793 0.423835 +vt 0.300793 0.417555 +vt 0.249801 0.417555 +vt 0.200473 0.423835 +vt 0.249801 0.423835 +vt 0.249801 0.417555 +vt 0.200473 0.417555 +vt 0.153645 0.423835 +vt 0.200473 0.423835 +vt 0.200473 0.417555 +vt 0.153645 0.417555 +vt 0.106818 0.423835 +vt 0.153645 0.423835 +vt 0.153645 0.417555 +vt 0.106818 0.417555 +vt 0.057489 0.423835 +vt 0.106818 0.423835 +vt 0.106818 0.417555 +vt 0.057489 0.417555 +vt 0.006498 0.423835 +vt 0.057489 0.423835 +vt 0.057489 0.417555 +vt 0.006498 0.417555 +vt 0.443776 0.423835 +vt 0.493105 0.423835 +vt 0.493105 0.417555 +vt 0.443776 0.417555 +vt 0.396949 0.423835 +vt 0.443776 0.423835 +vt 0.443776 0.417555 +vt 0.396949 0.417555 +vt 0.350121 0.417555 +vt 0.396949 0.417555 +vt 0.396949 0.404768 +vt 0.350121 0.404768 +vt 0.300793 0.417555 +vt 0.350121 0.417555 +vt 0.350121 0.404768 +vt 0.300793 0.404768 +vt 0.249801 0.417555 +vt 0.300793 0.417555 +vt 0.300793 0.404768 +vt 0.249801 0.404768 +vt 0.200473 0.417555 +vt 0.249801 0.417555 +vt 0.249801 0.404768 +vt 0.200473 0.404768 +vt 0.153645 0.417555 +vt 0.200473 0.417555 +vt 0.200473 0.404768 +vt 0.153645 0.404768 +vt 0.106818 0.417555 +vt 0.153645 0.417555 +vt 0.153645 0.404768 +vt 0.106818 0.404768 +vt 0.057489 0.417555 +vt 0.106818 0.417555 +vt 0.106818 0.404768 +vt 0.057489 0.404768 +vt 0.006498 0.417555 +vt 0.057489 0.417555 +vt 0.057489 0.404768 +vt 0.006498 0.404768 +vt 0.443776 0.417555 +vt 0.493105 0.417555 +vt 0.493105 0.404768 +vt 0.443776 0.404768 +vt 0.396949 0.417555 +vt 0.443776 0.417555 +vt 0.443776 0.404768 +vt 0.396949 0.404768 +vt 0.350998 0.547962 +vt 0.398319 0.547961 +vt 0.398319 0.498824 +vt 0.350998 0.498825 +vt 0.301150 0.547961 +vt 0.301150 0.498825 +vt 0.249620 0.547961 +vt 0.249620 0.498825 +vt 0.199772 0.547962 +vt 0.199772 0.498825 +vt 0.152451 0.547962 +vt 0.152451 0.498824 +vt 0.105130 0.547961 +vt 0.105130 0.498824 +vt 0.055282 0.547962 +vt 0.055282 0.498824 +vt 0.003753 0.547962 +vt 0.003753 0.498824 +vt 0.445640 0.547961 +vt 0.495488 0.547962 +vt 0.495488 0.498824 +vt 0.445640 0.498824 +vt 0.350998 0.737698 +vt 0.398319 0.737698 +vt 0.301150 0.737698 +vt 0.249620 0.737698 +vt 0.199772 0.737698 +vt 0.152451 0.737698 +vt 0.105130 0.737698 +vt 0.055282 0.737698 +vt 0.003753 0.737698 +vt 0.445640 0.737698 +vt 0.495488 0.737698 +vt 0.350998 0.858405 +vt 0.398319 0.858405 +vt 0.301150 0.858405 +vt 0.249620 0.858405 +vt 0.199772 0.858405 +vt 0.152451 0.858405 +vt 0.105130 0.858405 +vt 0.055282 0.858405 +vt 0.003753 0.858405 +vt 0.445640 0.858405 +vt 0.495488 0.858405 +vt 0.350998 0.961982 +vt 0.398319 0.961982 +vt 0.301150 0.961982 +vt 0.249620 0.961982 +vt 0.199772 0.961982 +vt 0.152451 0.961982 +vt 0.105130 0.961982 +vt 0.055282 0.961982 +vt 0.003753 0.961982 +vt 0.445640 0.961982 +vt 0.495488 0.961982 +vt 0.350998 0.996654 +vt 0.398319 0.996654 +vt 0.301150 0.996654 +vt 0.249620 0.996654 +vt 0.199772 0.996654 +vt 0.152451 0.996654 +vt 0.105130 0.996654 +vt 0.055282 0.996654 +vt 0.003753 0.996654 +vt 0.445640 0.996654 +vt 0.495488 0.996654 +vn 0.000001 -0.000117 -1.000000 +vn 0.000007 -0.000119 -1.000000 +vn 0.000004 -0.000642 -1.000000 +vn 0.000290 -0.001097 -0.999999 +vn 0.965539 -0.259953 0.012557 +vn 0.960748 -0.276359 0.024272 +vn 0.995038 -0.099144 0.008333 +vn 0.997311 0.073275 0.000826 +vn 0.384905 -0.746403 0.542891 +vn -0.062420 -0.728758 0.681921 +vn 0.161475 -0.510903 0.844336 +vn 0.298440 -0.528902 0.794478 +vn -0.388088 -0.822360 0.416066 +vn -0.374937 -0.503238 0.778571 +vn -0.967185 -0.253827 0.011142 +vn -0.969696 -0.243379 0.021376 +vn -0.995359 -0.095953 0.007360 +vn -0.997773 0.066697 0.000871 +vn -0.000005 -0.000117 -1.000000 +vn -0.000578 -0.001225 -0.999999 +vn -0.002059 0.162154 -0.986763 +vn 0.036715 0.227361 -0.973118 +vn 0.988150 0.153490 0.000530 +vn 0.997092 0.076202 0.000795 +vn 0.419290 0.355620 0.835302 +vn 0.335340 0.314686 0.887986 +vn 0.476829 0.120448 0.870704 +vn 0.548589 -0.115983 0.828008 +vn -0.425538 0.336785 0.839936 +vn -0.326355 0.383871 0.863791 +vn -0.479491 0.111072 0.870489 +vn -0.546378 -0.151051 0.823805 +vn -0.988094 0.153853 0.000548 +vn -0.996980 0.077652 0.000810 +vn -0.071204 0.307808 -0.948780 +vn 0.134041 0.542848 -0.829065 +vn 0.038742 0.586621 -0.808935 +vn 0.999191 -0.037450 -0.014645 +vn 0.997224 -0.066926 -0.032638 +vn 0.508477 -0.486691 0.710340 +vn 0.518399 -0.586423 0.622391 +vn -0.510691 -0.477362 0.715067 +vn -0.519541 -0.586094 0.621748 +vn -0.999321 -0.034320 -0.013421 +vn -0.997248 -0.066385 -0.032993 +vn -0.208233 0.626135 -0.751394 +vn 0.208454 0.614903 -0.760553 +vn 0.003597 0.581754 -0.813357 +vn 0.994885 -0.089661 -0.046525 +vn 0.994269 -0.101688 -0.032983 +vn 0.510524 -0.657019 0.554699 +vn 0.512927 -0.632907 0.579944 +vn -0.512007 -0.660652 0.548989 +vn -0.514396 -0.638014 0.573004 +vn -0.992961 -0.104288 -0.056137 +vn -0.993472 -0.105450 -0.043510 +vn -0.215729 0.522222 -0.825073 +vn 0.214294 0.359182 -0.908332 +vn 0.000134 0.334072 -0.942548 +vn 0.997269 -0.072312 -0.015018 +vn 0.998775 -0.049471 -0.001064 +vn 0.525393 -0.499573 0.688759 +vn 0.520961 -0.381681 0.763491 +vn -0.527026 -0.502395 0.685451 +vn -0.522284 -0.373646 0.766556 +vn -0.997005 -0.073521 -0.023992 +vn -0.999371 -0.035442 -0.000762 +vn -0.214604 0.292047 -0.932016 +vn -0.000002 -0.996240 0.086630 +vn 0.254654 -0.964745 -0.066466 +vn -0.000002 -0.978728 -0.205161 +vn 0.384905 -0.746403 0.542891 +vn -0.062420 -0.728758 0.681921 +vn -0.388088 -0.822360 0.416066 +vn -0.254657 -0.964744 -0.066466 +vn 0.215116 0.223526 -0.950664 +vn -0.074129 0.228601 -0.970694 +vn 1.000000 0.000000 -0.000000 +vn 1.000000 0.000000 -0.000000 +vn 0.532664 -0.238851 0.811923 +vn 0.525606 -0.243348 0.815181 +vn -0.532938 -0.238769 0.811767 +vn -0.526504 -0.236645 0.816574 +vn -1.000000 -0.000000 0.000000 +vn -1.000000 -0.000000 0.000000 +vn -0.212589 0.222631 -0.951442 +vn 0.000117 0.000000 -1.000000 +vn 0.000118 0.000007 -1.000000 +vn 0.000642 0.000004 -1.000000 +vn 0.001097 0.000289 -0.999999 +vn 0.259953 0.965539 0.012557 +vn 0.276358 0.960748 0.024272 +vn 0.099144 0.995038 0.008333 +vn -0.073275 0.997311 0.000826 +vn 0.746403 0.384905 0.542891 +vn 0.728758 -0.062420 0.681921 +vn 0.510903 0.161476 0.844336 +vn 0.528902 0.298440 0.794478 +vn 0.822360 -0.388088 0.416066 +vn 0.503238 -0.374936 0.778572 +vn 0.253827 -0.967185 0.011142 +vn 0.243379 -0.969696 0.021376 +vn 0.095953 -0.995359 0.007360 +vn -0.066697 -0.997773 0.000871 +vn 0.000117 -0.000006 -1.000000 +vn 0.001225 -0.000578 -0.999999 +vn -0.162154 -0.002061 -0.986763 +vn -0.227361 0.036714 -0.973118 +vn -0.153490 0.988150 0.000530 +vn -0.076202 0.997092 0.000795 +vn -0.355620 0.419290 0.835302 +vn -0.314686 0.335340 0.887986 +vn -0.120448 0.476829 0.870704 +vn 0.115983 0.548589 0.828008 +vn -0.336785 -0.425537 0.839937 +vn -0.383871 -0.326354 0.863792 +vn -0.111072 -0.479490 0.870490 +vn 0.151051 -0.546377 0.823805 +vn -0.153853 -0.988094 0.000549 +vn -0.077652 -0.996980 0.000810 +vn -0.307808 -0.071204 -0.948780 +vn -0.542849 0.134040 -0.829065 +vn -0.586621 0.038742 -0.808935 +vn 0.037450 0.999191 -0.014646 +vn 0.066926 0.997224 -0.032638 +vn 0.486691 0.508477 0.710340 +vn 0.586423 0.518399 0.622390 +vn 0.477362 -0.510691 0.715067 +vn 0.586095 -0.519541 0.621748 +vn 0.034320 -0.999321 -0.013421 +vn 0.066385 -0.997248 -0.032993 +vn -0.626135 -0.208233 -0.751394 +vn -0.614903 0.208454 -0.760553 +vn -0.581754 0.003596 -0.813357 +vn 0.089661 0.994885 -0.046525 +vn 0.101687 0.994269 -0.032983 +vn 0.657019 0.510524 0.554699 +vn 0.632907 0.512927 0.579944 +vn 0.660652 -0.512006 0.548989 +vn 0.638015 -0.514396 0.573004 +vn 0.104288 -0.992961 -0.056137 +vn 0.105450 -0.993472 -0.043510 +vn -0.522222 -0.215730 -0.825073 +vn -0.359182 0.214294 -0.908332 +vn -0.334072 0.000134 -0.942547 +vn 0.072312 0.997269 -0.015018 +vn 0.049471 0.998775 -0.001064 +vn 0.499573 0.525393 0.688759 +vn 0.381681 0.520961 0.763491 +vn 0.502395 -0.527026 0.685451 +vn 0.373646 -0.522284 0.766556 +vn 0.073521 -0.997005 -0.023992 +vn 0.035442 -0.999371 -0.000762 +vn -0.292047 -0.214604 -0.932016 +vn 0.996240 -0.000002 0.086630 +vn 0.964745 0.254654 -0.066466 +vn 0.978728 -0.000002 -0.205161 +vn 0.746403 0.384905 0.542891 +vn 0.728758 -0.062420 0.681921 +vn 0.822360 -0.388088 0.416066 +vn 0.964744 -0.254658 -0.066466 +vn -0.223526 0.215116 -0.950664 +vn -0.228601 -0.074129 -0.970694 +vn -0.000000 1.000000 -0.000000 +vn -0.000000 1.000000 -0.000000 +vn 0.238851 0.532664 0.811923 +vn 0.243348 0.525606 0.815181 +vn 0.238770 -0.532938 0.811767 +vn 0.236645 -0.526504 0.816574 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn -0.222631 -0.212589 -0.951442 +vn -0.000001 0.000116 -1.000000 +vn -0.000009 0.000119 -1.000000 +vn -0.000005 0.000642 -1.000000 +vn -0.000289 0.001096 -0.999999 +vn -0.965539 0.259953 0.012557 +vn -0.960748 0.276358 0.024272 +vn -0.995038 0.099144 0.008333 +vn -0.997311 -0.073275 0.000826 +vn -0.384905 0.746403 0.542891 +vn 0.062420 0.728758 0.681921 +vn -0.161475 0.510903 0.844336 +vn -0.298440 0.528902 0.794478 +vn 0.388088 0.822361 0.416066 +vn 0.374936 0.503239 0.778571 +vn 0.967185 0.253827 0.011142 +vn 0.969696 0.243379 0.021376 +vn 0.995359 0.095953 0.007360 +vn 0.997773 -0.066696 0.000871 +vn 0.000006 0.000116 -1.000000 +vn 0.000578 0.001225 -0.999999 +vn 0.002061 -0.162154 -0.986763 +vn -0.036715 -0.227361 -0.973118 +vn -0.988150 -0.153490 0.000530 +vn -0.997092 -0.076202 0.000795 +vn -0.419290 -0.355620 0.835302 +vn -0.335340 -0.314686 0.887986 +vn -0.476829 -0.120448 0.870704 +vn -0.548589 0.115983 0.828008 +vn 0.425538 -0.336785 0.839937 +vn 0.326355 -0.383871 0.863791 +vn 0.479490 -0.111072 0.870490 +vn 0.546377 0.151051 0.823806 +vn 0.988094 -0.153853 0.000549 +vn 0.996980 -0.077652 0.000810 +vn 0.071202 -0.307807 -0.948781 +vn -0.134041 -0.542849 -0.829065 +vn -0.038743 -0.586621 -0.808935 +vn -0.999191 0.037450 -0.014645 +vn -0.997224 0.066925 -0.032638 +vn -0.508477 0.486691 0.710340 +vn -0.518400 0.586423 0.622390 +vn 0.510690 0.477362 0.715067 +vn 0.519540 0.586095 0.621748 +vn 0.999321 0.034320 -0.013421 +vn 0.997248 0.066385 -0.032993 +vn 0.208233 -0.626135 -0.751394 +vn -0.208455 -0.614903 -0.760553 +vn -0.003597 -0.581754 -0.813357 +vn -0.994885 0.089660 -0.046525 +vn -0.994269 0.101687 -0.032983 +vn -0.510524 0.657019 0.554699 +vn -0.512927 0.632907 0.579944 +vn 0.512006 0.660652 0.548989 +vn 0.514396 0.638015 0.573004 +vn 0.992961 0.104288 -0.056137 +vn 0.993472 0.105451 -0.043510 +vn 0.215730 -0.522222 -0.825072 +vn -0.214294 -0.359182 -0.908332 +vn -0.000134 -0.334072 -0.942547 +vn -0.997269 0.072312 -0.015018 +vn -0.998775 0.049471 -0.001064 +vn -0.525393 0.499573 0.688759 +vn -0.520961 0.381681 0.763491 +vn 0.527026 0.502395 0.685451 +vn 0.522284 0.373646 0.766556 +vn 0.997005 0.073521 -0.023992 +vn 0.999371 0.035442 -0.000762 +vn 0.214604 -0.292047 -0.932016 +vn 0.000002 0.996240 0.086630 +vn -0.254654 0.964745 -0.066466 +vn 0.000002 0.978728 -0.205161 +vn -0.384905 0.746403 0.542891 +vn 0.062420 0.728758 0.681921 +vn 0.388088 0.822361 0.416066 +vn 0.254658 0.964744 -0.066466 +vn -0.215116 -0.223526 -0.950664 +vn 0.074129 -0.228601 -0.970694 +vn -1.000000 -0.000000 -0.000000 +vn -1.000000 -0.000000 -0.000000 +vn -0.532664 0.238851 0.811923 +vn -0.525606 0.243348 0.815181 +vn 0.532938 0.238770 0.811767 +vn 0.526504 0.236645 0.816574 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.212589 -0.222631 -0.951442 +vn -0.000117 -0.000002 -1.000000 +vn -0.000120 -0.000009 -1.000000 +vn -0.000642 -0.000005 -1.000000 +vn -0.001096 -0.000290 -0.999999 +vn -0.259953 -0.965540 0.012557 +vn -0.276358 -0.960748 0.024272 +vn -0.099144 -0.995038 0.008333 +vn 0.073275 -0.997311 0.000826 +vn -0.746403 -0.384905 0.542891 +vn -0.728758 0.062420 0.681921 +vn -0.510903 -0.161475 0.844336 +vn -0.528903 -0.298440 0.794478 +vn -0.822360 0.388088 0.416066 +vn -0.503238 0.374937 0.778571 +vn -0.253827 0.967185 0.011142 +vn -0.243379 0.969696 0.021376 +vn -0.095953 0.995359 0.007360 +vn 0.066697 0.997773 0.000871 +vn -0.000116 0.000005 -1.000000 +vn -0.001225 0.000578 -0.999999 +vn 0.162155 0.002059 -0.986763 +vn 0.227361 -0.036715 -0.973118 +vn 0.153490 -0.988150 0.000530 +vn 0.076203 -0.997092 0.000795 +vn 0.355621 -0.419290 0.835302 +vn 0.314686 -0.335340 0.887986 +vn 0.120448 -0.476829 0.870704 +vn -0.115983 -0.548589 0.828008 +vn 0.336785 0.425538 0.839937 +vn 0.383871 0.326355 0.863791 +vn 0.111072 0.479490 0.870490 +vn -0.151051 0.546377 0.823805 +vn 0.153853 0.988094 0.000548 +vn 0.077652 0.996980 0.000810 +vn 0.307808 0.071202 -0.948781 +vn 0.542849 -0.134041 -0.829065 +vn 0.586621 -0.038743 -0.808934 +vn -0.037450 -0.999191 -0.014645 +vn -0.066925 -0.997224 -0.032638 +vn -0.486691 -0.508477 0.710340 +vn -0.586423 -0.518400 0.622390 +vn -0.477362 0.510691 0.715067 +vn -0.586095 0.519541 0.621748 +vn -0.034320 0.999321 -0.013421 +vn -0.066385 0.997248 -0.032993 +vn 0.626135 0.208232 -0.751395 +vn 0.614903 -0.208454 -0.760553 +vn 0.581754 -0.003597 -0.813357 +vn -0.089660 -0.994885 -0.046525 +vn -0.101687 -0.994269 -0.032983 +vn -0.657019 -0.510525 0.554699 +vn -0.632907 -0.512927 0.579944 +vn -0.660652 0.512007 0.548988 +vn -0.638015 0.514396 0.573004 +vn -0.104288 0.992961 -0.056137 +vn -0.105451 0.993472 -0.043510 +vn 0.522222 0.215729 -0.825072 +vn 0.359182 -0.214295 -0.908331 +vn 0.334072 -0.000134 -0.942547 +vn -0.072312 -0.997269 -0.015018 +vn -0.049471 -0.998775 -0.001064 +vn -0.499573 -0.525393 0.688759 +vn -0.381681 -0.520961 0.763491 +vn -0.502395 0.527026 0.685451 +vn -0.373646 0.522284 0.766556 +vn -0.073521 0.997005 -0.023992 +vn -0.035442 0.999371 -0.000763 +vn 0.292047 0.214604 -0.932016 +vn -0.996240 0.000002 0.086630 +vn -0.964745 -0.254654 -0.066466 +vn -0.978728 0.000002 -0.205161 +vn -0.746403 -0.384905 0.542891 +vn -0.728758 0.062420 0.681921 +vn -0.822360 0.388088 0.416066 +vn -0.964744 0.254657 -0.066466 +vn 0.223526 -0.215116 -0.950664 +vn 0.228601 0.074129 -0.970694 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 -0.000000 +vn -0.238851 -0.532664 0.811923 +vn -0.243348 -0.525606 0.815181 +vn -0.238770 0.532938 0.811767 +vn -0.236645 0.526504 0.816574 +vn -0.000000 1.000000 0.000000 +vn -0.000000 1.000000 0.000000 +vn 0.222631 0.212589 -0.951442 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn 0.706842 0.707371 0.000000 +vn 0.706842 0.707371 0.000000 +vn 0.706842 0.707371 0.000000 +vn 0.706842 0.707371 0.000000 +vn -0.000374 1.000000 0.000000 +vn -0.000374 1.000000 0.000000 +vn -0.000374 1.000000 0.000000 +vn -0.000374 1.000000 0.000000 +vn -0.707371 0.706842 0.000000 +vn -0.707371 0.706842 0.000000 +vn -0.707371 0.706842 0.000000 +vn -0.707371 0.706842 0.000000 +vn -1.000000 -0.000374 0.000000 +vn -1.000000 -0.000374 0.000000 +vn -1.000000 -0.000374 0.000000 +vn -1.000000 -0.000374 0.000000 +vn -0.706842 -0.707371 -0.000000 +vn -0.706842 -0.707371 -0.000000 +vn -0.706842 -0.707371 -0.000000 +vn -0.706842 -0.707371 0.000000 +vn 0.000374 -1.000000 -0.000000 +vn 0.000374 -1.000000 0.000000 +vn 0.000374 -1.000000 -0.000000 +vn 0.000374 -1.000000 -0.000000 +vn 0.707371 -0.706842 -0.000000 +vn 0.707371 -0.706842 -0.000000 +vn 0.707371 -0.706842 -0.000000 +vn 0.707371 -0.706842 -0.000000 +vn 1.000000 0.000374 0.000000 +vn 1.000000 0.000374 0.000000 +vn 1.000000 0.000374 0.000000 +vn 1.000000 0.000374 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 -1.000000 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn -0.099506 0.000000 0.995037 +vn -0.099506 0.000000 0.995037 +vn -0.099506 0.000000 0.995037 +vn -0.099506 0.000000 0.995037 +vn 0.000000 -0.099506 0.995037 +vn 0.000000 -0.099506 0.995037 +vn 0.000000 -0.099506 0.995037 +vn 0.000000 -0.099506 0.995037 +vn 0.099506 0.000000 0.995037 +vn 0.099506 0.000000 0.995037 +vn 0.099506 0.000000 0.995037 +vn 0.099506 0.000000 0.995037 +vn 0.000000 0.099506 0.995037 +vn 0.000000 0.099506 0.995037 +vn 0.000000 0.099506 0.995037 +vn 0.000000 0.099506 0.995037 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn -0.929987 0.000000 0.367592 +vn -0.677867 0.000000 0.735184 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -0.929987 0.367592 +vn 0.000000 -0.677867 0.735184 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.929987 0.000000 0.367592 +vn 0.677867 0.000000 0.735184 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 0.929987 0.367592 +vn 0.000000 0.677867 0.735184 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn -0.000000 -1.000000 0.000000 +vn -0.000000 -1.000000 0.000000 +vn -0.000000 -1.000000 0.000000 +vn -0.000000 -1.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.967538 0.252725 +vn 0.000000 0.862856 0.505449 +vn 0.967538 0.000000 0.252725 +vn 0.862856 0.000000 0.505449 +vn -0.000000 -0.967538 0.252725 +vn -0.000000 -0.862856 0.505449 +vn -0.967538 0.000000 0.252725 +vn -0.862856 0.000000 0.505449 +vn 0.000000 0.862856 0.505449 +vn 0.000000 0.967538 0.252725 +vn 0.862856 0.000000 0.505449 +vn 0.967538 0.000000 0.252725 +vn -0.000000 -0.862856 0.505449 +vn -0.000000 -0.967538 0.252725 +vn -0.862856 0.000000 0.505449 +vn -0.967538 0.000000 0.252725 +vn 0.000000 0.967538 0.252725 +vn 0.000000 0.862856 0.505449 +vn 0.967538 0.000000 0.252724 +vn 0.862857 0.000000 0.505449 +vn -0.000000 -0.967538 0.252724 +vn -0.000000 -0.862857 0.505448 +vn -0.967538 0.000000 0.252725 +vn -0.862857 0.000000 0.505449 +vn 0.000000 0.707107 0.707107 +vn 0.000000 0.707107 0.707107 +vn 0.707108 0.000000 0.707106 +vn 0.707107 0.000000 0.707107 +vn -0.000000 -0.707108 0.707105 +vn -0.000000 -0.707108 0.707105 +vn -0.707108 0.000000 0.707106 +vn -0.707108 0.000000 0.707105 +vn 0.000000 0.099506 0.995037 +vn 0.000000 0.099506 0.995037 +vn 0.000000 0.099506 0.995037 +vn 0.000000 0.099506 0.995037 +vn 0.099506 0.000000 0.995037 +vn 0.099501 0.000000 0.995037 +vn 0.099506 0.000000 0.995037 +vn 0.099506 0.000000 0.995037 +vn -0.000000 -0.099501 0.995037 +vn -0.000000 -0.099501 0.995037 +vn -0.000000 -0.099501 0.995037 +vn -0.000000 -0.099501 0.995037 +vn -0.099501 0.000000 0.995037 +vn -0.099506 0.000000 0.995037 +vn -0.099501 0.000000 0.995037 +vn -0.099501 0.000000 0.995037 +vn -0.275482 0.000000 0.961306 +vn -0.187896 0.000000 0.982189 +vn 0.000000 -0.275482 0.961306 +vn 0.000000 -0.187896 0.982189 +vn 0.275482 0.000000 0.961306 +vn 0.187896 0.000000 0.982189 +vn 0.000000 0.275482 0.961306 +vn 0.000000 0.187896 0.982189 +vn -0.516067 0.000000 0.856548 +vn -0.903649 0.000000 0.428274 +vn 0.000000 -0.516067 0.856548 +vn 0.000000 -0.903649 0.428274 +vn 0.516067 0.000000 0.856548 +vn 0.903649 0.000000 0.428274 +vn 0.000000 0.516067 0.856548 +vn 0.000000 0.903649 0.428274 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn -0.049938 0.000000 0.998752 +vn -0.049938 0.000000 0.998752 +vn -0.049938 0.000000 0.998752 +vn -0.049938 0.000000 0.998752 +vn 0.000000 -0.049938 0.998752 +vn 0.000000 -0.049938 0.998752 +vn 0.000000 -0.049938 0.998752 +vn 0.000000 -0.049938 0.998752 +vn 0.049938 0.000000 0.998752 +vn 0.049938 0.000000 0.998752 +vn 0.049938 0.000000 0.998752 +vn 0.049938 0.000000 0.998752 +vn 0.000000 0.049938 0.998752 +vn 0.000000 0.049938 0.998752 +vn 0.000000 0.049938 0.998752 +vn 0.000000 0.049938 0.998752 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 1.000000 -0.000002 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 -0.000002 +vn 0.000000 1.000000 -0.000005 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn -0.000000 -1.000000 0.000002 +vn 0.000000 -1.000000 0.000005 +vn -0.000000 -1.000000 0.000002 +vn -0.000000 -1.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.562661 0.423331 -0.710072 +vn 0.704032 0.011758 -0.710070 +vn 0.582173 0.063049 -0.810617 +vn 0.433925 0.393201 -0.810618 +vn 0.206373 0.673207 -0.710072 +vn 0.119934 0.573161 -0.810618 +vn -0.228742 0.665939 -0.710072 +vn -0.239867 0.534192 -0.810618 +vn -0.576487 0.404302 -0.710072 +vn -0.508049 0.291177 -0.810618 +vn -0.704032 -0.011763 -0.710070 +vn -0.582173 -0.063055 -0.810616 +vn -0.562662 -0.423334 -0.710070 +vn -0.433926 -0.393204 -0.810616 +vn -0.206373 -0.673209 -0.710070 +vn -0.119934 -0.573164 -0.810616 +vn 0.228743 -0.665941 -0.710070 +vn 0.239869 -0.534195 -0.810616 +vn 0.576487 -0.404306 -0.710070 +vn 0.508049 -0.291182 -0.810616 +vn 0.745732 0.553468 -0.370886 +vn 0.928631 0.009435 -0.370885 +vn 0.277988 0.886096 -0.370886 +vn -0.295936 0.880264 -0.370886 +vn -0.756825 0.538201 -0.370886 +vn -0.928631 -0.009437 -0.370885 +vn -0.745732 -0.553469 -0.370885 +vn -0.277989 -0.886096 -0.370885 +vn 0.295937 -0.880265 -0.370885 +vn 0.756824 -0.538202 -0.370885 +vn 0.951056 0.309017 0.000000 +vn 0.951056 0.309017 0.000000 +vn 0.951056 0.309017 0.000000 +vn 0.951056 0.309017 0.000000 +vn 0.587785 0.809017 0.000000 +vn 0.587785 0.809017 0.000000 +vn 0.587785 0.809017 0.000000 +vn 0.587785 0.809017 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn -0.587785 0.809017 0.000000 +vn -0.587785 0.809017 0.000000 +vn -0.587785 0.809017 0.000000 +vn -0.587785 0.809017 0.000000 +vn -0.951056 0.309017 0.000000 +vn -0.951056 0.309017 0.000000 +vn -0.951056 0.309017 0.000000 +vn -0.951056 0.309017 0.000000 +vn -0.951056 -0.309017 0.000000 +vn -0.951056 -0.309017 -0.000000 +vn -0.951056 -0.309017 0.000000 +vn -0.951056 -0.309017 0.000000 +vn -0.587785 -0.809017 0.000000 +vn -0.587785 -0.809017 0.000000 +vn -0.587785 -0.809017 0.000000 +vn -0.587785 -0.809017 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.587785 -0.809017 0.000000 +vn 0.587785 -0.809017 0.000000 +vn 0.587785 -0.809017 0.000000 +vn 0.587785 -0.809017 0.000000 +vn 0.951056 -0.309017 -0.000000 +vn 0.951056 -0.309017 0.000000 +vn 0.951056 -0.309017 -0.000000 +vn 0.951056 -0.309017 -0.000000 +vn 0.047494 0.015432 0.998752 +vn 0.047493 0.015432 0.998752 +vn 0.047494 0.015432 0.998752 +vn 0.047494 0.015432 0.998752 +vn 0.029353 0.040401 0.998752 +vn 0.029353 0.040401 0.998752 +vn 0.029353 0.040401 0.998752 +vn 0.029353 0.040401 0.998752 +vn 0.000000 0.049938 0.998752 +vn 0.000000 0.049938 0.998752 +vn 0.000000 0.049938 0.998752 +vn 0.000000 0.049938 0.998752 +vn -0.029353 0.040401 0.998752 +vn -0.029353 0.040401 0.998752 +vn -0.029353 0.040401 0.998752 +vn -0.029353 0.040401 0.998752 +vn -0.047493 0.015431 0.998752 +vn -0.047494 0.015432 0.998752 +vn -0.047493 0.015431 0.998752 +vn -0.047493 0.015431 0.998752 +vn -0.047493 -0.015432 0.998752 +vn -0.047493 -0.015432 0.998752 +vn -0.047493 -0.015432 0.998752 +vn -0.047493 -0.015432 0.998752 +vn -0.029353 -0.040400 0.998752 +vn -0.029353 -0.040400 0.998752 +vn -0.029353 -0.040400 0.998752 +vn -0.029353 -0.040400 0.998752 +vn 0.000000 -0.049937 0.998752 +vn 0.000000 -0.049937 0.998752 +vn 0.000000 -0.049937 0.998752 +vn 0.000000 -0.049937 0.998752 +vn 0.029353 -0.040399 0.998752 +vn 0.029353 -0.040400 0.998752 +vn 0.029353 -0.040399 0.998752 +vn 0.029353 -0.040399 0.998752 +vn 0.047493 -0.015432 0.998752 +vn 0.047493 -0.015432 0.998752 +vn 0.047493 -0.015432 0.998752 +vn 0.047493 -0.015432 0.998752 +vn 0.951056 0.309017 0.000000 +vn 0.951056 0.309017 0.000000 +vn 0.951056 0.309017 0.000000 +vn 0.951056 0.309017 0.000000 +vn 0.587785 0.809017 0.000000 +vn 0.587785 0.809017 0.000000 +vn 0.587785 0.809017 0.000000 +vn 0.587785 0.809017 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn -0.587785 0.809017 0.000000 +vn -0.587785 0.809017 0.000000 +vn -0.587785 0.809017 0.000000 +vn -0.587785 0.809017 0.000000 +vn -0.951056 0.309017 0.000000 +vn -0.951056 0.309017 0.000000 +vn -0.951056 0.309017 0.000000 +vn -0.951056 0.309017 0.000000 +vn -0.951056 -0.309017 0.000000 +vn -0.951056 -0.309017 -0.000000 +vn -0.951056 -0.309017 0.000000 +vn -0.951056 -0.309017 0.000000 +vn -0.587785 -0.809017 0.000000 +vn -0.587785 -0.809017 0.000000 +vn -0.587785 -0.809017 0.000000 +vn -0.587785 -0.809017 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.587785 -0.809017 0.000000 +vn 0.587785 -0.809017 0.000000 +vn 0.587785 -0.809017 0.000000 +vn 0.587785 -0.809017 0.000000 +vn 0.951056 -0.309017 -0.000000 +vn 0.951056 -0.309017 0.000000 +vn 0.951056 -0.309017 -0.000000 +vn 0.951056 -0.309017 -0.000000 +vn 0.425325 0.138196 -0.894427 +vn 0.425326 0.138197 -0.894427 +vn 0.425325 0.138196 -0.894427 +vn 0.425325 0.138196 -0.894427 +vn 0.262866 0.361804 -0.894427 +vn 0.262865 0.361803 -0.894427 +vn 0.262866 0.361804 -0.894427 +vn 0.262866 0.361804 -0.894427 +vn -0.000000 0.447215 -0.894427 +vn 0.000000 0.447214 -0.894427 +vn -0.000000 0.447215 -0.894427 +vn -0.000000 0.447215 -0.894427 +vn -0.262865 0.361803 -0.894427 +vn -0.262866 0.361804 -0.894427 +vn -0.262865 0.361803 -0.894427 +vn -0.262865 0.361803 -0.894427 +vn -0.425326 0.138196 -0.894427 +vn -0.425325 0.138196 -0.894427 +vn -0.425326 0.138196 -0.894427 +vn -0.425326 0.138196 -0.894427 +vn -0.425326 -0.138196 -0.894427 +vn -0.425326 -0.138196 -0.894427 +vn -0.425326 -0.138196 -0.894427 +vn -0.425326 -0.138196 -0.894427 +vn -0.262865 -0.361804 -0.894427 +vn -0.262865 -0.361804 -0.894427 +vn -0.262865 -0.361804 -0.894427 +vn -0.262865 -0.361804 -0.894427 +vn 0.000000 -0.447214 -0.894427 +vn 0.000000 -0.447214 -0.894427 +vn 0.000000 -0.447214 -0.894427 +vn 0.000000 -0.447214 -0.894427 +vn 0.262865 -0.361804 -0.894427 +vn 0.262865 -0.361804 -0.894427 +vn 0.262865 -0.361804 -0.894427 +vn 0.262865 -0.361804 -0.894427 +vn 0.425326 -0.138196 -0.894427 +vn 0.425326 -0.138196 -0.894427 +vn 0.425326 -0.138196 -0.894427 +vn 0.425326 -0.138196 -0.894427 +vn 0.951056 0.309017 0.000000 +vn 0.951056 0.309017 0.000000 +vn 0.951056 0.309017 0.000000 +vn 0.951056 0.309017 0.000000 +vn 0.587786 0.809017 -0.000000 +vn 0.587785 0.809017 0.000000 +vn 0.587786 0.809017 -0.000000 +vn 0.587786 0.809017 -0.000000 +vn -0.000000 1.000000 0.000000 +vn -0.000000 1.000000 -0.000001 +vn -0.000000 1.000000 0.000000 +vn -0.000000 1.000000 0.000000 +vn -0.587785 0.809017 0.000000 +vn -0.587785 0.809017 0.000000 +vn -0.587785 0.809017 0.000000 +vn -0.587785 0.809017 0.000000 +vn -0.951056 0.309017 0.000000 +vn -0.951056 0.309017 0.000000 +vn -0.951056 0.309017 0.000000 +vn -0.951056 0.309017 0.000000 +vn -0.951056 -0.309017 0.000000 +vn -0.951056 -0.309017 -0.000000 +vn -0.951056 -0.309017 0.000000 +vn -0.951056 -0.309017 0.000000 +vn -0.587785 -0.809017 0.000000 +vn -0.587785 -0.809017 0.000000 +vn -0.587785 -0.809017 0.000000 +vn -0.587785 -0.809017 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.587785 -0.809017 0.000000 +vn 0.587785 -0.809017 0.000000 +vn 0.587785 -0.809017 0.000000 +vn 0.587785 -0.809017 0.000000 +vn 0.951056 -0.309017 -0.000000 +vn 0.951056 -0.309017 0.000000 +vn 0.951056 -0.309017 -0.000000 +vn 0.951056 -0.309017 -0.000000 +vn 0.425325 0.138197 0.894427 +vn 0.425326 0.138197 0.894427 +vn 0.425325 0.138197 0.894427 +vn 0.425325 0.138197 0.894427 +vn 0.262866 0.361803 0.894427 +vn 0.262866 0.361804 0.894427 +vn 0.262866 0.361803 0.894427 +vn 0.262866 0.361803 0.894427 +vn 0.000000 0.447214 0.894427 +vn -0.000000 0.447213 0.894427 +vn 0.000000 0.447214 0.894427 +vn 0.000000 0.447214 0.894427 +vn -0.262866 0.361804 0.894427 +vn -0.262865 0.361804 0.894427 +vn -0.262866 0.361804 0.894427 +vn -0.262866 0.361804 0.894427 +vn -0.425326 0.138197 0.894427 +vn -0.425326 0.138197 0.894427 +vn -0.425326 0.138197 0.894427 +vn -0.425326 0.138197 0.894427 +vn -0.425324 -0.138197 0.894428 +vn -0.425326 -0.138197 0.894427 +vn -0.425324 -0.138197 0.894428 +vn -0.425324 -0.138197 0.894428 +vn -0.262866 -0.361803 0.894427 +vn -0.262865 -0.361802 0.894428 +vn -0.262866 -0.361803 0.894427 +vn -0.262866 -0.361803 0.894427 +vn 0.000000 -0.447213 0.894427 +vn 0.000000 -0.447213 0.894427 +vn 0.000000 -0.447213 0.894427 +vn 0.000000 -0.447213 0.894427 +vn 0.262866 -0.361802 0.894427 +vn 0.262866 -0.361803 0.894427 +vn 0.262866 -0.361802 0.894427 +vn 0.262866 -0.361802 0.894427 +vn 0.425326 -0.138198 0.894427 +vn 0.425325 -0.138197 0.894427 +vn 0.425326 -0.138198 0.894427 +vn 0.425326 -0.138198 0.894427 +vn 0.951056 0.309017 0.000000 +vn 0.951056 0.309017 0.000001 +vn 0.951056 0.309017 0.000000 +vn 0.951056 0.309017 0.000000 +vn 0.587785 0.809017 0.000000 +vn 0.587785 0.809017 0.000000 +vn 0.587785 0.809017 0.000000 +vn 0.587785 0.809017 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn -0.587785 0.809017 0.000001 +vn -0.587785 0.809017 0.000000 +vn -0.587785 0.809017 0.000001 +vn -0.587785 0.809017 0.000001 +vn -0.951056 0.309017 0.000000 +vn -0.951056 0.309017 0.000001 +vn -0.951056 0.309017 0.000000 +vn -0.951056 0.309017 0.000000 +vn -0.951056 -0.309017 0.000000 +vn -0.951056 -0.309017 -0.000000 +vn -0.951056 -0.309017 0.000000 +vn -0.951056 -0.309017 0.000000 +vn -0.587785 -0.809017 0.000000 +vn -0.587785 -0.809017 0.000000 +vn -0.587785 -0.809017 0.000000 +vn -0.587785 -0.809017 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.587785 -0.809017 0.000000 +vn 0.587785 -0.809017 0.000000 +vn 0.587785 -0.809017 0.000000 +vn 0.587785 -0.809017 0.000000 +vn 0.951056 -0.309017 0.000001 +vn 0.951056 -0.309017 0.000000 +vn 0.951056 -0.309017 0.000001 +vn 0.951056 -0.309017 0.000001 +vn 0.808878 0.587853 -0.012040 +vn 0.999927 0.000136 -0.012040 +vn 0.928631 0.009435 -0.370885 +vn 0.745732 0.553468 -0.370886 +vn 0.308865 0.951030 -0.012040 +vn 0.277988 0.886096 -0.370886 +vn -0.309124 0.950945 -0.012040 +vn -0.295936 0.880264 -0.370886 +vn -0.809038 0.587632 -0.012040 +vn -0.756825 0.538201 -0.370886 +vn -0.999927 -0.000136 -0.012040 +vn -0.928631 -0.009437 -0.370885 +vn -0.808878 -0.587853 -0.012040 +vn -0.745732 -0.553469 -0.370885 +vn -0.308865 -0.951030 -0.012040 +vn -0.277989 -0.886096 -0.370885 +vn 0.309124 -0.950945 -0.012040 +vn 0.295937 -0.880265 -0.370885 +vn 0.809038 -0.587632 -0.012040 +vn 0.309124 -0.950945 -0.012040 +vn 0.295937 -0.880265 -0.370885 +vn 0.756824 -0.538202 -0.370885 +vn 0.797207 0.577639 0.175482 +vn 0.984482 -0.001267 0.175482 +vn 0.305427 0.935906 0.175482 +vn -0.303017 0.936689 0.175482 +vn -0.795718 0.579689 0.175482 +vn -0.984482 0.001267 0.175482 +vn -0.797207 -0.577639 0.175482 +vn -0.305426 -0.935906 0.175482 +vn 0.303017 -0.936689 0.175482 +vn 0.795718 -0.579689 0.175482 +vn 0.303017 -0.936689 0.175482 +vn 0.805510 0.586917 0.081747 +vn 0.996652 0.001359 0.081747 +vn 0.306690 0.948292 0.081747 +vn -0.309275 0.947452 0.081747 +vn -0.807107 0.584718 0.081747 +vn -0.996652 -0.001359 0.081747 +vn -0.805510 -0.586917 0.081747 +vn -0.306690 -0.948292 0.081747 +vn 0.309275 -0.947452 0.081747 +vn 0.807107 -0.584718 0.081747 +vn 0.309275 -0.947452 0.081747 +vn 0.768673 0.548289 -0.329426 +vn 0.944145 -0.008240 -0.329426 +vn 0.299593 0.895389 -0.329426 +vn -0.283921 0.900482 -0.329426 +vn -0.758987 0.561621 -0.329426 +vn -0.944145 0.008240 -0.329426 +vn -0.768673 -0.548289 -0.329426 +vn -0.299593 -0.895389 -0.329426 +vn 0.283921 -0.900482 -0.329426 +vn 0.758987 -0.561620 -0.329426 +vn 0.283921 -0.900482 -0.329426 +vn 0.726320 0.416280 -0.546965 +vn 0.832289 -0.090142 -0.546964 +vn 0.342922 0.763698 -0.546965 +vn -0.171461 0.819409 -0.546965 +vn -0.620351 0.562133 -0.546965 +vn -0.832288 0.090142 -0.546965 +vn -0.726320 -0.416280 -0.546965 +vn -0.342922 -0.763698 -0.546965 +vn 0.171461 -0.819409 -0.546965 +vn 0.620351 -0.562134 -0.546965 +vn 0.171461 -0.819409 -0.546965 +f 1/1/1 2/2/2 3/3/3 +f 3/3/3 4/4/4 1/1/1 +f 5/5/5 6/6/6 7/7/7 +f 7/7/7 8/8/8 5/5/5 +f 9/9/9 10/10/10 11/11/11 +f 11/11/11 12/12/12 9/9/9 +f 10/10/10 13/13/13 14/14/14 +f 14/14/14 11/11/11 10/10/10 +f 15/15/15 16/16/16 17/17/17 +f 17/17/17 18/18/18 15/15/15 +f 19/19/19 1/1/1 4/4/4 +f 4/4/4 20/20/20 19/19/19 +f 4/4/4 3/3/3 21/21/21 +f 21/21/21 22/22/22 4/4/4 +f 8/8/8 7/7/7 23/23/23 +f 23/23/23 24/24/24 8/8/8 +f 25/25/25 26/26/26 27/27/27 +f 27/27/27 28/28/28 25/25/25 +f 29/29/29 30/30/30 31/31/31 +f 31/31/31 32/32/32 29/29/29 +f 18/18/18 17/17/17 33/33/33 +f 33/33/33 34/34/34 18/18/18 +f 20/20/20 4/4/4 22/22/22 +f 22/22/22 35/35/35 20/20/20 +f 22/22/22 21/21/21 36/36/36 +f 36/36/36 37/37/37 22/22/22 +f 24/24/24 23/23/23 38/38/38 +f 38/38/38 39/39/39 24/24/24 +f 28/28/28 27/27/27 40/40/40 +f 40/40/40 41/41/41 28/28/28 +f 32/32/32 31/31/31 42/42/42 +f 42/42/42 43/43/43 32/32/32 +f 34/34/34 33/33/33 44/44/44 +f 44/44/44 45/45/45 34/34/34 +f 35/35/35 22/22/22 37/37/37 +f 37/37/37 46/46/46 35/35/35 +f 37/37/37 36/36/36 47/47/47 +f 47/47/47 48/48/48 37/37/37 +f 39/39/39 38/38/38 49/49/49 +f 49/49/49 50/50/50 39/39/39 +f 41/41/41 40/40/40 51/51/51 +f 51/51/51 52/52/52 41/41/41 +f 43/43/43 42/42/42 53/53/53 +f 53/53/53 54/54/54 43/43/43 +f 45/45/45 44/44/44 55/55/55 +f 55/55/55 56/56/56 45/45/45 +f 46/46/46 37/37/37 48/48/48 +f 48/48/48 57/57/57 46/46/46 +f 48/48/48 47/47/47 58/58/58 +f 58/58/58 59/59/59 48/48/48 +f 50/50/50 49/49/49 60/60/60 +f 60/60/60 61/61/61 50/50/50 +f 52/52/52 51/51/51 62/62/62 +f 62/62/62 63/63/63 52/52/52 +f 54/54/54 53/53/53 64/64/64 +f 64/64/64 65/65/65 54/54/54 +f 56/56/56 55/55/55 66/66/66 +f 66/66/66 67/67/67 56/56/56 +f 57/57/57 48/48/48 59/59/59 +f 59/59/59 68/68/68 57/57/57 +f 69/69/69 70/70/70 71/71/71 +f 69/69/69 72/72/72 70/70/70 +f 69/69/69 73/73/73 72/72/72 +f 69/69/69 74/74/74 73/73/73 +f 69/69/69 75/75/75 74/74/74 +f 69/69/69 71/71/71 75/75/75 +f 76/76/76 77/77/77 59/59/59 +f 76/76/76 59/59/59 58/58/58 +f 78/78/78 79/79/79 61/61/61 +f 78/78/78 61/61/61 60/60/60 +f 80/80/80 81/81/81 63/63/63 +f 80/80/80 63/63/63 62/62/62 +f 82/82/82 83/83/83 65/65/65 +f 82/82/82 65/65/65 64/64/64 +f 84/84/84 85/85/85 67/67/67 +f 84/84/84 67/67/67 66/66/66 +f 77/77/77 86/86/86 68/68/68 +f 77/77/77 68/68/68 59/59/59 +f 87/87/87 88/88/88 89/89/89 +f 89/89/89 90/90/90 87/87/87 +f 91/91/91 92/92/92 93/93/93 +f 93/93/93 94/94/94 91/91/91 +f 95/95/95 96/96/96 97/97/97 +f 97/97/97 98/98/98 95/95/95 +f 96/96/96 99/99/99 100/100/100 +f 100/100/100 97/97/97 96/96/96 +f 101/101/101 102/102/102 103/103/103 +f 103/103/103 104/104/104 101/101/101 +f 105/105/105 87/87/87 90/90/90 +f 90/90/90 106/106/106 105/105/105 +f 90/90/90 89/89/89 107/107/107 +f 107/107/107 108/108/108 90/90/90 +f 94/94/94 93/93/93 109/109/109 +f 109/109/109 110/110/110 94/94/94 +f 111/111/111 112/112/112 113/113/113 +f 113/113/113 114/114/114 111/111/111 +f 115/115/115 116/116/116 117/117/117 +f 117/117/117 118/118/118 115/115/115 +f 104/104/104 103/103/103 119/119/119 +f 119/119/119 120/120/120 104/104/104 +f 106/106/106 90/90/90 108/108/108 +f 108/108/108 121/121/121 106/106/106 +f 108/108/108 107/107/107 122/122/122 +f 122/122/122 123/123/123 108/108/108 +f 110/110/110 109/109/109 124/124/124 +f 124/124/124 125/125/125 110/110/110 +f 114/114/114 113/113/113 126/126/126 +f 126/126/126 127/127/127 114/114/114 +f 118/118/118 117/117/117 128/128/128 +f 128/128/128 129/129/129 118/118/118 +f 120/120/120 119/119/119 130/130/130 +f 130/130/130 131/131/131 120/120/120 +f 121/121/121 108/108/108 123/123/123 +f 123/123/123 132/132/132 121/121/121 +f 123/123/123 122/122/122 133/133/133 +f 133/133/133 134/134/134 123/123/123 +f 125/125/125 124/124/124 135/135/135 +f 135/135/135 136/136/136 125/125/125 +f 127/127/127 126/126/126 137/137/137 +f 137/137/137 138/138/138 127/127/127 +f 129/129/129 128/128/128 139/139/139 +f 139/139/139 140/140/140 129/129/129 +f 131/131/131 130/130/130 141/141/141 +f 141/141/141 142/142/142 131/131/131 +f 132/132/132 123/123/123 134/134/134 +f 134/134/134 143/143/143 132/132/132 +f 134/134/134 133/133/133 144/144/144 +f 144/144/144 145/145/145 134/134/134 +f 136/136/136 135/135/135 146/146/146 +f 146/146/146 147/147/147 136/136/136 +f 138/138/138 137/137/137 148/148/148 +f 148/148/148 149/149/149 138/138/138 +f 140/140/140 139/139/139 150/150/150 +f 150/150/150 151/151/151 140/140/140 +f 142/142/142 141/141/141 152/152/152 +f 152/152/152 153/153/153 142/142/142 +f 143/143/143 134/134/134 145/145/145 +f 145/145/145 154/154/154 143/143/143 +f 155/155/155 156/156/156 157/157/157 +f 155/155/155 158/158/158 156/156/156 +f 155/155/155 159/159/159 158/158/158 +f 155/155/155 160/160/160 159/159/159 +f 155/155/155 161/161/161 160/160/160 +f 155/155/155 157/157/157 161/161/161 +f 162/162/162 163/163/163 145/145/145 +f 162/162/162 145/145/145 144/144/144 +f 164/164/164 165/165/165 147/147/147 +f 164/164/164 147/147/147 146/146/146 +f 166/166/166 167/167/167 149/149/149 +f 166/166/166 149/149/149 148/148/148 +f 168/168/168 169/169/169 151/151/151 +f 168/168/168 151/151/151 150/150/150 +f 170/170/170 171/171/171 153/153/153 +f 170/170/170 153/153/153 152/152/152 +f 163/163/163 172/172/172 154/154/154 +f 163/163/163 154/154/154 145/145/145 +f 173/173/173 174/174/174 175/175/175 +f 175/175/175 176/176/176 173/173/173 +f 177/177/177 178/178/178 179/179/179 +f 179/179/179 180/180/180 177/177/177 +f 181/181/181 182/182/182 183/183/183 +f 183/183/183 184/184/184 181/181/181 +f 182/182/182 185/185/185 186/186/186 +f 186/186/186 183/183/183 182/182/182 +f 187/187/187 188/188/188 189/189/189 +f 189/189/189 190/190/190 187/187/187 +f 191/191/191 173/173/173 176/176/176 +f 176/176/176 192/192/192 191/191/191 +f 176/176/176 175/175/175 193/193/193 +f 193/193/193 194/194/194 176/176/176 +f 180/180/180 179/179/179 195/195/195 +f 195/195/195 196/196/196 180/180/180 +f 197/197/197 198/198/198 199/199/199 +f 199/199/199 200/200/200 197/197/197 +f 201/201/201 202/202/202 203/203/203 +f 203/203/203 204/204/204 201/201/201 +f 190/190/190 189/189/189 205/205/205 +f 205/205/205 206/206/206 190/190/190 +f 192/192/192 176/176/176 194/194/194 +f 194/194/194 207/207/207 192/192/192 +f 194/194/194 193/193/193 208/208/208 +f 208/208/208 209/209/209 194/194/194 +f 196/196/196 195/195/195 210/210/210 +f 210/210/210 211/211/211 196/196/196 +f 200/200/200 199/199/199 212/212/212 +f 212/212/212 213/213/213 200/200/200 +f 204/204/204 203/203/203 214/214/214 +f 214/214/214 215/215/215 204/204/204 +f 206/206/206 205/205/205 216/216/216 +f 216/216/216 217/217/217 206/206/206 +f 207/207/207 194/194/194 209/209/209 +f 209/209/209 218/218/218 207/207/207 +f 209/209/209 208/208/208 219/219/219 +f 219/219/219 220/220/220 209/209/209 +f 211/211/211 210/210/210 221/221/221 +f 221/221/221 222/222/222 211/211/211 +f 213/213/213 212/212/212 223/223/223 +f 223/223/223 224/224/224 213/213/213 +f 215/215/215 214/214/214 225/225/225 +f 225/225/225 226/226/226 215/215/215 +f 217/217/217 216/216/216 227/227/227 +f 227/227/227 228/228/228 217/217/217 +f 218/218/218 209/209/209 220/220/220 +f 220/220/220 229/229/229 218/218/218 +f 220/220/220 219/219/219 230/230/230 +f 230/230/230 231/231/231 220/220/220 +f 222/222/222 221/221/221 232/232/232 +f 232/232/232 233/233/233 222/222/222 +f 224/224/224 223/223/223 234/234/234 +f 234/234/234 235/235/235 224/224/224 +f 226/226/226 225/225/225 236/236/236 +f 236/236/236 237/237/237 226/226/226 +f 228/228/228 227/227/227 238/238/238 +f 238/238/238 239/239/239 228/228/228 +f 229/229/229 220/220/220 231/231/231 +f 231/231/231 240/240/240 229/229/229 +f 241/241/241 242/242/242 243/243/243 +f 241/241/241 244/244/244 242/242/242 +f 241/241/241 245/245/245 244/244/244 +f 241/241/241 246/246/246 245/245/245 +f 241/241/241 247/247/247 246/246/246 +f 241/241/241 243/243/243 247/247/247 +f 248/248/248 249/249/249 231/231/231 +f 248/248/248 231/231/231 230/230/230 +f 250/250/250 251/251/251 233/233/233 +f 250/250/250 233/233/233 232/232/232 +f 252/252/252 253/253/253 235/235/235 +f 252/252/252 235/235/235 234/234/234 +f 254/254/254 255/255/255 237/237/237 +f 254/254/254 237/237/237 236/236/236 +f 256/256/256 257/257/257 239/239/239 +f 256/256/256 239/239/239 238/238/238 +f 249/249/249 258/258/258 240/240/240 +f 249/249/249 240/240/240 231/231/231 +f 259/259/259 260/260/260 261/261/261 +f 261/261/261 262/262/262 259/259/259 +f 263/263/263 264/264/264 265/265/265 +f 265/265/265 266/266/266 263/263/263 +f 267/267/267 268/268/268 269/269/269 +f 269/269/269 270/270/270 267/267/267 +f 268/268/268 271/271/271 272/272/272 +f 272/272/272 269/269/269 268/268/268 +f 273/273/273 274/274/274 275/275/275 +f 275/275/275 276/276/276 273/273/273 +f 277/277/277 259/259/259 262/262/262 +f 262/262/262 278/278/278 277/277/277 +f 262/262/262 261/261/261 279/279/279 +f 279/279/279 280/280/280 262/262/262 +f 266/266/266 265/265/265 281/281/281 +f 281/281/281 282/282/282 266/266/266 +f 283/283/283 284/284/284 285/285/285 +f 285/285/285 286/286/286 283/283/283 +f 287/287/287 288/288/288 289/289/289 +f 289/289/289 290/290/290 287/287/287 +f 276/276/276 275/275/275 291/291/291 +f 291/291/291 292/292/292 276/276/276 +f 278/278/278 262/262/262 280/280/280 +f 280/280/280 293/293/293 278/278/278 +f 280/280/280 279/279/279 294/294/294 +f 294/294/294 295/295/295 280/280/280 +f 282/282/282 281/281/281 296/296/296 +f 296/296/296 297/297/297 282/282/282 +f 286/286/286 285/285/285 298/298/298 +f 298/298/298 299/299/299 286/286/286 +f 290/290/290 289/289/289 300/300/300 +f 300/300/300 301/301/301 290/290/290 +f 292/292/292 291/291/291 302/302/302 +f 302/302/302 303/303/303 292/292/292 +f 293/293/293 280/280/280 295/295/295 +f 295/295/295 304/304/304 293/293/293 +f 295/295/295 294/294/294 305/305/305 +f 305/305/305 306/306/306 295/295/295 +f 297/297/297 296/296/296 307/307/307 +f 307/307/307 308/308/308 297/297/297 +f 299/299/299 298/298/298 309/309/309 +f 309/309/309 310/310/310 299/299/299 +f 301/301/301 300/300/300 311/311/311 +f 311/311/311 312/312/312 301/301/301 +f 303/303/303 302/302/302 313/313/313 +f 313/313/313 314/314/314 303/303/303 +f 304/304/304 295/295/295 306/306/306 +f 306/306/306 315/315/315 304/304/304 +f 306/306/306 305/305/305 316/316/316 +f 316/316/316 317/317/317 306/306/306 +f 308/308/308 307/307/307 318/318/318 +f 318/318/318 319/319/319 308/308/308 +f 310/310/310 309/309/309 320/320/320 +f 320/320/320 321/321/321 310/310/310 +f 312/312/312 311/311/311 322/322/322 +f 322/322/322 323/323/323 312/312/312 +f 314/314/314 313/313/313 324/324/324 +f 324/324/324 325/325/325 314/314/314 +f 315/315/315 306/306/306 317/317/317 +f 317/317/317 326/326/326 315/315/315 +f 327/327/327 328/328/328 329/329/329 +f 327/327/327 330/330/330 328/328/328 +f 327/327/327 331/331/331 330/330/330 +f 327/327/327 332/332/332 331/331/331 +f 327/327/327 333/333/333 332/332/332 +f 327/327/327 329/329/329 333/333/333 +f 334/334/334 335/335/335 317/317/317 +f 334/334/334 317/317/317 316/316/316 +f 336/336/336 337/337/337 319/319/319 +f 336/336/336 319/319/319 318/318/318 +f 338/338/338 339/339/339 321/321/321 +f 338/338/338 321/321/321 320/320/320 +f 340/340/340 341/341/341 323/323/323 +f 340/340/340 323/323/323 322/322/322 +f 342/342/342 343/343/343 325/325/325 +f 342/342/342 325/325/325 324/324/324 +f 335/335/335 344/344/344 326/326/326 +f 335/335/335 326/326/326 317/317/317 +f 345/345/345 346/346/346 347/347/347 +f 345/345/345 348/348/348 346/346/346 +f 345/345/345 349/349/349 348/348/348 +f 345/345/345 350/350/350 349/349/349 +f 345/345/345 351/351/351 350/350/350 +f 345/345/345 352/352/352 351/351/351 +f 345/345/345 353/353/353 352/352/352 +f 345/345/345 347/347/347 353/353/353 +f 354/354/354 355/355/355 356/356/356 +f 354/354/354 356/356/356 357/357/357 +f 358/358/358 359/359/359 360/360/360 +f 358/358/358 360/360/360 361/361/361 +f 362/362/362 363/363/363 364/364/364 +f 362/362/362 364/364/364 365/365/365 +f 366/366/366 367/367/367 368/368/368 +f 366/366/366 368/368/368 369/369/369 +f 370/370/370 371/371/371 372/372/372 +f 370/370/370 372/372/372 373/373/373 +f 374/374/374 375/375/375 376/376/376 +f 374/374/374 376/376/376 377/377/377 +f 378/378/378 379/379/379 380/380/380 +f 378/378/378 380/380/380 381/381/381 +f 382/382/382 383/383/383 384/384/384 +f 382/382/382 384/384/384 385/385/385 +f 386/386/386 387/387/387 388/388/388 +f 386/386/386 388/388/388 389/389/389 +f 386/386/386 389/389/389 390/390/390 +f 386/386/386 390/390/390 391/391/391 +f 386/386/386 391/391/391 392/392/392 +f 386/386/386 392/392/392 393/393/393 +f 386/386/386 393/393/393 394/394/394 +f 386/386/386 394/394/394 387/387/387 +f 395/395/395 396/396/396 397/397/397 +f 397/397/397 398/398/398 395/395/395 +f 399/399/399 400/400/400 401/401/401 +f 401/401/401 402/402/402 399/399/399 +f 403/403/403 404/404/404 405/405/405 +f 405/405/405 406/406/406 403/403/403 +f 407/407/407 408/408/408 409/409/409 +f 409/409/409 410/410/410 407/407/407 +f 411/411/411 412/412/412 413/413/413 +f 413/413/413 414/414/414 411/411/411 +f 415/415/415 416/416/416 417/417/417 +f 417/417/417 418/418/418 415/415/415 +f 419/419/419 420/420/420 421/421/421 +f 421/421/421 422/422/422 419/419/419 +f 423/423/423 424/424/424 425/425/425 +f 425/425/425 426/426/426 423/423/423 +f 427/427/427 428/428/428 429/429/429 +f 429/429/429 430/430/430 427/427/427 +f 431/431/431 432/432/432 433/433/433 +f 433/433/433 434/434/434 431/431/431 +f 435/435/435 436/436/436 437/437/437 +f 437/437/437 438/438/438 435/435/435 +f 439/439/439 440/440/440 441/441/441 +f 441/441/441 442/442/442 439/439/439 +f 443/443/443 444/444/444 445/445/445 +f 445/445/445 446/446/446 443/443/443 +f 447/447/447 448/448/448 449/449/449 +f 449/449/449 450/450/450 447/447/447 +f 451/451/451 452/452/452 453/453/453 +f 453/453/453 454/454/454 451/451/451 +f 455/455/455 456/456/456 457/457/457 +f 457/457/457 458/458/458 455/455/455 +f 446/446/446 445/445/445 459/459/459 +f 459/459/459 460/460/460 446/446/446 +f 450/450/450 449/449/449 461/461/461 +f 461/461/461 462/462/462 450/450/450 +f 454/454/454 453/453/453 463/463/463 +f 463/463/463 464/464/464 454/454/454 +f 458/458/458 457/457/457 465/465/465 +f 465/465/465 466/466/466 458/458/458 +f 460/460/460 459/459/459 467/467/467 +f 467/467/467 468/468/468 460/460/460 +f 462/462/462 461/461/461 469/469/469 +f 469/469/469 470/470/470 462/462/462 +f 464/464/464 463/463/463 471/471/471 +f 471/471/471 472/472/472 464/464/464 +f 466/466/466 465/465/465 473/473/473 +f 473/473/473 474/474/474 466/466/466 +f 468/468/468 467/467/467 475/475/475 +f 475/475/475 476/476/476 468/468/468 +f 470/470/470 469/469/469 477/477/477 +f 477/477/477 478/478/478 470/470/470 +f 472/472/472 471/471/471 479/479/479 +f 479/479/479 480/480/480 472/472/472 +f 474/474/474 473/473/473 481/481/481 +f 481/481/481 482/482/482 474/474/474 +f 476/476/476 475/475/475 483/483/483 +f 483/483/483 484/484/484 476/476/476 +f 478/478/478 477/477/477 485/485/485 +f 485/485/485 486/486/486 478/478/478 +f 480/480/480 479/479/479 487/487/487 +f 487/487/487 488/488/488 480/480/480 +f 482/482/482 481/481/481 489/489/489 +f 489/489/489 490/490/490 482/482/482 +f 491/491/491 492/492/492 493/493/493 +f 493/493/493 494/494/494 491/491/491 +f 495/495/495 496/496/496 497/497/497 +f 497/497/497 498/498/498 495/495/495 +f 499/499/499 500/500/500 501/501/501 +f 501/501/501 502/502/502 499/499/499 +f 503/503/503 504/504/504 505/505/505 +f 505/505/505 506/506/506 503/503/503 +f 430/430/430 429/429/429 507/507/507 +f 507/507/507 508/508/508 430/430/430 +f 434/434/434 433/433/433 509/509/509 +f 509/509/509 510/510/510 434/434/434 +f 438/438/438 437/437/437 511/511/511 +f 511/511/511 512/512/512 438/438/438 +f 442/442/442 441/441/441 513/513/513 +f 513/513/513 514/514/514 442/442/442 +f 508/508/508 507/507/507 515/515/515 +f 515/515/515 516/516/516 508/508/508 +f 510/510/510 509/509/509 517/517/517 +f 517/517/517 518/518/518 510/510/510 +f 512/512/512 511/511/511 519/519/519 +f 519/519/519 520/520/520 512/512/512 +f 514/514/514 513/513/513 521/521/521 +f 521/521/521 522/522/522 514/514/514 +f 516/516/516 515/515/515 523/523/523 +f 523/523/523 524/524/524 516/516/516 +f 518/518/518 517/517/517 525/525/525 +f 525/525/525 526/526/526 518/518/518 +f 520/520/520 519/519/519 527/527/527 +f 527/527/527 528/528/528 520/520/520 +f 522/522/522 521/521/521 529/529/529 +f 529/529/529 530/530/530 522/522/522 +f 531/531/531 532/532/532 533/533/533 +f 533/533/533 534/534/534 531/531/531 +f 535/535/535 536/536/536 537/537/537 +f 537/537/537 538/538/538 535/535/535 +f 539/539/539 540/540/540 541/541/541 +f 541/541/541 542/542/542 539/539/539 +f 543/543/543 544/544/544 545/545/545 +f 545/545/545 546/546/546 543/543/543 +f 547/547/547 548/548/548 549/549/549 +f 549/549/549 550/550/550 547/547/547 +f 551/551/551 552/552/552 553/553/553 +f 553/553/553 554/554/554 551/551/551 +f 555/555/555 556/556/556 557/557/557 +f 557/557/557 558/558/558 555/555/555 +f 559/559/559 560/560/560 561/561/561 +f 561/561/561 562/562/562 559/559/559 +f 563/563/563 564/564/564 565/565/565 +f 565/565/565 566/566/566 563/563/563 +f 567/567/567 568/568/568 569/569/569 +f 569/569/569 570/570/570 567/567/567 +f 571/571/571 572/572/572 573/573/573 +f 573/573/573 574/574/574 571/571/571 +f 575/575/575 571/571/571 574/574/574 +f 574/574/574 576/576/576 575/575/575 +f 577/577/577 575/575/575 576/576/576 +f 576/576/576 578/578/578 577/577/577 +f 579/579/579 577/577/577 578/578/578 +f 578/578/578 580/580/580 579/579/579 +f 581/581/581 579/579/579 580/580/580 +f 580/580/580 582/582/582 581/581/581 +f 583/583/583 581/581/581 582/582/582 +f 582/582/582 584/584/584 583/583/583 +f 585/585/585 583/583/583 584/584/584 +f 584/584/584 586/586/586 585/585/585 +f 587/587/587 585/585/585 586/586/586 +f 586/586/586 588/588/588 587/587/587 +f 589/589/589 587/587/587 588/588/588 +f 588/588/588 590/590/590 589/589/589 +f 572/572/572 589/589/589 590/590/590 +f 590/590/590 573/573/573 572/572/572 +f 591/591/591 592/592/592 572/572/572 +f 572/572/572 571/571/571 591/591/591 +f 593/593/593 591/591/591 571/571/571 +f 571/571/571 575/575/575 593/593/593 +f 594/594/594 593/593/593 575/575/575 +f 575/575/575 577/577/577 594/594/594 +f 595/595/595 594/594/594 577/577/577 +f 577/577/577 579/579/579 595/595/595 +f 596/596/596 595/595/595 579/579/579 +f 579/579/579 581/581/581 596/596/596 +f 597/597/597 596/596/596 581/581/581 +f 581/581/581 583/583/583 597/597/597 +f 598/598/598 597/597/597 583/583/583 +f 583/583/583 585/585/585 598/598/598 +f 599/599/599 598/598/598 585/585/585 +f 585/585/585 587/587/587 599/599/599 +f 600/600/600 599/599/599 587/587/587 +f 587/587/587 589/589/589 600/600/600 +f 592/592/592 600/600/600 589/589/589 +f 589/589/589 572/572/572 592/592/592 +f 601/601/601 602/602/602 603/603/603 +f 603/603/603 604/604/604 601/601/601 +f 605/605/605 606/606/606 607/607/607 +f 607/607/607 608/608/608 605/605/605 +f 609/609/609 610/610/610 611/611/611 +f 611/611/611 612/612/612 609/609/609 +f 613/613/613 614/614/614 615/615/615 +f 615/615/615 616/616/616 613/613/613 +f 617/617/617 618/618/618 619/619/619 +f 619/619/619 620/620/620 617/617/617 +f 621/621/621 622/622/622 623/623/623 +f 623/623/623 624/624/624 621/621/621 +f 625/625/625 626/626/626 627/627/627 +f 627/627/627 628/628/628 625/625/625 +f 629/629/629 630/630/630 631/631/631 +f 631/631/631 632/632/632 629/629/629 +f 633/633/633 634/634/634 635/635/635 +f 635/635/635 636/636/636 633/633/633 +f 637/637/637 638/638/638 639/639/639 +f 639/639/639 640/640/640 637/637/637 +f 641/641/641 642/642/642 643/643/643 +f 643/643/643 644/644/644 641/641/641 +f 645/645/645 646/646/646 647/647/647 +f 647/647/647 648/648/648 645/645/645 +f 649/649/649 650/650/650 651/651/651 +f 651/651/651 652/652/652 649/649/649 +f 653/653/653 654/654/654 655/655/655 +f 655/655/655 656/656/656 653/653/653 +f 657/657/657 658/658/658 659/659/659 +f 659/659/659 660/660/660 657/657/657 +f 661/661/661 662/662/662 663/663/663 +f 663/663/663 664/664/664 661/661/661 +f 665/665/665 666/666/666 667/667/667 +f 667/667/667 668/668/668 665/665/665 +f 669/669/669 670/670/670 671/671/671 +f 671/671/671 672/672/672 669/669/669 +f 673/673/673 674/674/674 675/675/675 +f 675/675/675 676/676/676 673/673/673 +f 677/677/677 678/678/678 679/679/679 +f 679/679/679 680/680/680 677/677/677 +f 681/681/681 682/682/682 683/683/683 +f 683/683/683 684/684/684 681/681/681 +f 685/685/685 686/686/686 687/687/687 +f 687/687/687 688/688/688 685/685/685 +f 689/689/689 690/690/690 691/691/691 +f 691/691/691 692/692/692 689/689/689 +f 693/693/693 694/694/694 695/695/695 +f 695/695/695 696/696/696 693/693/693 +f 697/697/697 698/698/698 699/699/699 +f 699/699/699 700/700/700 697/697/697 +f 701/701/701 702/702/702 703/703/703 +f 703/703/703 704/704/704 701/701/701 +f 705/705/705 706/706/706 707/707/707 +f 707/707/707 708/708/708 705/705/705 +f 709/709/709 710/710/710 711/711/711 +f 711/711/711 712/712/712 709/709/709 +f 713/713/713 714/714/714 715/715/715 +f 715/715/715 716/716/716 713/713/713 +f 717/717/717 718/718/718 719/719/719 +f 719/719/719 720/720/720 717/717/717 +f 721/721/721 722/722/722 723/723/723 +f 723/723/723 724/724/724 721/721/721 +f 725/725/725 726/726/726 727/727/727 +f 727/727/727 728/728/728 725/725/725 +f 729/729/729 730/730/730 731/731/731 +f 731/731/731 732/732/732 729/729/729 +f 733/733/733 734/734/734 735/735/735 +f 735/735/735 736/736/736 733/733/733 +f 737/737/737 738/738/738 739/739/739 +f 739/739/739 740/740/740 737/737/737 +f 741/741/741 742/742/742 743/743/743 +f 743/743/743 744/744/744 741/741/741 +f 745/745/745 746/746/746 747/747/747 +f 747/747/747 748/748/748 745/745/745 +f 749/749/749 750/750/750 751/751/751 +f 751/751/751 752/752/752 749/749/749 +f 753/753/753 754/754/754 755/755/755 +f 755/755/755 756/756/756 753/753/753 +f 757/757/757 758/758/758 759/759/759 +f 759/759/759 760/760/760 757/757/757 +f 761/761/761 762/762/762 763/763/763 +f 763/763/763 764/764/764 761/761/761 +f 765/765/765 766/766/766 767/767/767 +f 767/767/767 768/768/768 765/765/765 +f 769/769/769 770/770/770 771/771/771 +f 771/771/771 772/772/772 769/769/769 +f 773/773/773 774/774/774 775/775/775 +f 775/775/775 776/776/776 773/773/773 +f 777/777/777 778/778/778 779/779/779 +f 779/779/779 780/780/780 777/777/777 +f 781/781/781 782/782/782 783/783/783 +f 783/783/783 784/784/784 781/781/781 +f 785/785/785 786/786/786 787/787/787 +f 787/787/787 788/788/788 785/785/785 +f 789/789/789 790/790/790 791/791/791 +f 791/791/791 792/792/792 789/789/789 +f 793/793/793 794/794/794 795/795/795 +f 795/795/795 796/796/796 793/793/793 +f 797/797/797 798/798/798 799/799/799 +f 799/799/799 800/800/800 797/797/797 +f 801/801/801 802/802/802 803/803/803 +f 803/803/803 804/804/804 801/801/801 +f 805/805/805 806/806/806 807/807/807 +f 807/807/807 808/808/808 805/805/805 +f 809/809/809 810/810/810 811/811/811 +f 811/811/811 812/812/812 809/809/809 +f 813/813/813 814/814/814 815/815/815 +f 815/815/815 816/816/816 813/813/813 +f 817/817/817 818/818/818 819/819/819 +f 819/819/819 820/820/820 817/817/817 +f 821/821/821 822/822/822 823/823/823 +f 823/823/823 824/824/824 821/821/821 +f 825/825/825 826/826/826 827/827/827 +f 827/827/827 828/828/828 825/825/825 +f 829/829/829 830/830/830 831/831/831 +f 831/831/831 832/832/832 829/829/829 +f 833/833/833 834/834/834 835/835/835 +f 835/835/835 836/836/836 833/833/833 +f 837/837/837 838/838/838 839/839/839 +f 839/839/839 840/840/840 837/837/837 +f 841/841/841 842/842/842 843/843/843 +f 843/843/843 844/844/844 841/841/841 +f 845/845/845 846/846/846 847/847/847 +f 847/847/847 848/848/848 845/845/845 +f 849/849/849 850/850/850 851/851/851 +f 851/851/851 852/852/852 849/849/849 +f 853/853/853 854/854/854 855/855/855 +f 855/855/855 856/856/856 853/853/853 +f 857/857/857 858/858/858 859/859/859 +f 859/859/859 860/860/860 857/857/857 +f 861/861/861 862/862/862 863/863/863 +f 863/863/863 864/864/864 861/861/861 +f 865/865/865 866/866/866 867/867/867 +f 867/867/867 868/868/868 865/865/865 +f 869/869/869 870/870/870 871/871/871 +f 871/871/871 872/872/872 869/869/869 +f 873/873/873 874/874/874 875/875/875 +f 875/875/875 876/876/876 873/873/873 +f 877/877/877 878/878/878 879/879/879 +f 879/879/879 880/880/880 877/877/877 +f 881/881/881 882/882/882 883/883/883 +f 881/881/881 883/883/883 884/884/884 +f 885/885/885 881/881/881 884/884/884 +f 885/885/885 884/884/884 886/886/886 +f 887/887/887 885/885/885 886/886/886 +f 887/887/887 886/886/886 888/888/888 +f 889/889/889 887/887/887 888/888/888 +f 889/889/889 888/888/888 890/890/890 +f 891/891/891 889/889/889 890/890/890 +f 891/891/891 890/890/890 892/892/892 +f 893/893/893 891/891/891 892/892/892 +f 893/893/893 892/892/892 894/894/894 +f 895/895/895 893/893/893 894/894/894 +f 895/895/895 894/894/894 896/896/896 +f 897/897/897 895/895/895 896/896/896 +f 897/897/897 896/896/896 898/898/898 +f 899/899/899 900/900/900 901/901/901 +f 899/899/899 901/901/901 902/902/902 +f 882/882/882 899/899/899 902/902/902 +f 882/882/882 902/902/902 883/883/883 +f 903/903/903 904/904/904 882/882/882 +f 903/903/903 882/882/882 881/881/881 +f 905/905/905 903/903/903 881/881/881 +f 905/905/905 881/881/881 885/885/885 +f 906/906/906 905/905/905 885/885/885 +f 906/906/906 885/885/885 887/887/887 +f 907/907/907 906/906/906 887/887/887 +f 907/907/907 887/887/887 889/889/889 +f 908/908/908 907/907/907 889/889/889 +f 908/908/908 889/889/889 891/891/891 +f 909/909/909 908/908/908 891/891/891 +f 909/909/909 891/891/891 893/893/893 +f 910/910/910 909/909/909 893/893/893 +f 910/910/910 893/893/893 895/895/895 +f 911/911/911 910/910/910 895/895/895 +f 911/911/911 895/895/895 897/897/897 +f 912/912/912 913/913/913 900/900/900 +f 912/912/912 900/900/900 899/899/899 +f 904/904/904 912/912/912 899/899/899 +f 904/904/904 899/899/899 882/882/882 +f 914/914/914 915/915/915 904/904/904 +f 914/914/914 904/904/904 903/903/903 +f 916/916/916 914/914/914 903/903/903 +f 916/916/916 903/903/903 905/905/905 +f 917/917/917 916/916/916 905/905/905 +f 917/917/917 905/905/905 906/906/906 +f 918/918/918 917/917/917 906/906/906 +f 918/918/918 906/906/906 907/907/907 +f 919/919/919 918/918/918 907/907/907 +f 919/919/919 907/907/907 908/908/908 +f 920/920/920 919/919/919 908/908/908 +f 920/920/920 908/908/908 909/909/909 +f 921/921/921 920/920/920 909/909/909 +f 921/921/921 909/909/909 910/910/910 +f 922/922/922 921/921/921 910/910/910 +f 922/922/922 910/910/910 911/911/911 +f 923/923/923 924/924/924 913/913/913 +f 923/923/923 913/913/913 912/912/912 +f 915/915/915 923/923/923 912/912/912 +f 915/915/915 912/912/912 904/904/904 +f 925/925/925 926/926/926 915/915/915 +f 925/925/925 915/915/915 914/914/914 +f 927/927/927 925/925/925 914/914/914 +f 927/927/927 914/914/914 916/916/916 +f 928/928/928 927/927/927 916/916/916 +f 928/928/928 916/916/916 917/917/917 +f 929/929/929 928/928/928 917/917/917 +f 929/929/929 917/917/917 918/918/918 +f 930/930/930 929/929/929 918/918/918 +f 930/930/930 918/918/918 919/919/919 +f 931/931/931 930/930/930 919/919/919 +f 931/931/931 919/919/919 920/920/920 +f 932/932/932 931/931/931 920/920/920 +f 932/932/932 920/920/920 921/921/921 +f 933/933/933 932/932/932 921/921/921 +f 933/933/933 921/921/921 922/922/922 +f 934/934/934 935/935/935 924/924/924 +f 934/934/934 924/924/924 923/923/923 +f 926/926/926 934/934/934 923/923/923 +f 926/926/926 923/923/923 915/915/915 +f 936/936/936 937/937/937 926/926/926 +f 936/936/936 926/926/926 925/925/925 +f 938/938/938 936/936/936 925/925/925 +f 938/938/938 925/925/925 927/927/927 +f 939/939/939 938/938/938 927/927/927 +f 939/939/939 927/927/927 928/928/928 +f 940/940/940 939/939/939 928/928/928 +f 940/940/940 928/928/928 929/929/929 +f 941/941/941 940/940/940 929/929/929 +f 941/941/941 929/929/929 930/930/930 +f 942/942/942 941/941/941 930/930/930 +f 942/942/942 930/930/930 931/931/931 +f 943/943/943 942/942/942 931/931/931 +f 943/943/943 931/931/931 932/932/932 +f 944/944/944 943/943/943 932/932/932 +f 944/944/944 932/932/932 933/933/933 +f 945/945/945 946/946/946 935/935/935 +f 945/945/945 935/935/935 934/934/934 +f 937/937/937 945/945/945 934/934/934 +f 937/937/937 934/934/934 926/926/926 diff --git a/ObsoleteDemos/ConvexDecompositionDemo/main.cpp b/Demos/ConvexDecompositionDemo/main.cpp similarity index 100% rename from ObsoleteDemos/ConvexDecompositionDemo/main.cpp rename to Demos/ConvexDecompositionDemo/main.cpp diff --git a/ObsoleteDemos/ConvexDecompositionDemo/testFile32Single.bullet b/Demos/ConvexDecompositionDemo/testFile32Single.bullet similarity index 100% rename from ObsoleteDemos/ConvexDecompositionDemo/testFile32Single.bullet rename to Demos/ConvexDecompositionDemo/testFile32Single.bullet diff --git a/ObsoleteDemos/ConvexHullDistance/CMakeLists.txt b/Demos/ConvexHullDistance/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/ConvexHullDistance/CMakeLists.txt rename to Demos/ConvexHullDistance/CMakeLists.txt diff --git a/ObsoleteDemos/ConvexHullDistance/ConvexHullDistanceDemo.cpp b/Demos/ConvexHullDistance/ConvexHullDistanceDemo.cpp similarity index 100% rename from ObsoleteDemos/ConvexHullDistance/ConvexHullDistanceDemo.cpp rename to Demos/ConvexHullDistance/ConvexHullDistanceDemo.cpp diff --git a/ObsoleteDemos/DoublePrecisionDemo/CMakeLists.txt b/Demos/DoublePrecisionDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/DoublePrecisionDemo/CMakeLists.txt rename to Demos/DoublePrecisionDemo/CMakeLists.txt diff --git a/ObsoleteDemos/DoublePrecisionDemo/DoublePrecisionDemo.cpp b/Demos/DoublePrecisionDemo/DoublePrecisionDemo.cpp similarity index 100% rename from ObsoleteDemos/DoublePrecisionDemo/DoublePrecisionDemo.cpp rename to Demos/DoublePrecisionDemo/DoublePrecisionDemo.cpp diff --git a/ObsoleteDemos/DoublePrecisionDemo/DoublePrecisionDemo.h b/Demos/DoublePrecisionDemo/DoublePrecisionDemo.h similarity index 100% rename from ObsoleteDemos/DoublePrecisionDemo/DoublePrecisionDemo.h rename to Demos/DoublePrecisionDemo/DoublePrecisionDemo.h diff --git a/ObsoleteDemos/DynamicControlDemo/CMakeLists.txt b/Demos/DynamicControlDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/DynamicControlDemo/CMakeLists.txt rename to Demos/DynamicControlDemo/CMakeLists.txt diff --git a/ObsoleteDemos/DynamicControlDemo/MotorDemo.cpp b/Demos/DynamicControlDemo/MotorDemo.cpp similarity index 100% rename from ObsoleteDemos/DynamicControlDemo/MotorDemo.cpp rename to Demos/DynamicControlDemo/MotorDemo.cpp diff --git a/ObsoleteDemos/DynamicControlDemo/MotorDemo.h b/Demos/DynamicControlDemo/MotorDemo.h similarity index 100% rename from ObsoleteDemos/DynamicControlDemo/MotorDemo.h rename to Demos/DynamicControlDemo/MotorDemo.h diff --git a/ObsoleteDemos/DynamicControlDemo/main.cpp b/Demos/DynamicControlDemo/main.cpp similarity index 100% rename from ObsoleteDemos/DynamicControlDemo/main.cpp rename to Demos/DynamicControlDemo/main.cpp diff --git a/ObsoleteDemos/EPAPenDepthDemo/PenetrationTestBullet.cpp b/Demos/EPAPenDepthDemo/PenetrationTestBullet.cpp similarity index 100% rename from ObsoleteDemos/EPAPenDepthDemo/PenetrationTestBullet.cpp rename to Demos/EPAPenDepthDemo/PenetrationTestBullet.cpp diff --git a/ObsoleteDemos/FeatherstoneMultiBodyDemo/CMakeLists.txt b/Demos/FeatherstoneMultiBodyDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/FeatherstoneMultiBodyDemo/CMakeLists.txt rename to Demos/FeatherstoneMultiBodyDemo/CMakeLists.txt diff --git a/ObsoleteDemos/FeatherstoneMultiBodyDemo/FeatherstoneMultiBodyDemo.cpp b/Demos/FeatherstoneMultiBodyDemo/FeatherstoneMultiBodyDemo.cpp similarity index 100% rename from ObsoleteDemos/FeatherstoneMultiBodyDemo/FeatherstoneMultiBodyDemo.cpp rename to Demos/FeatherstoneMultiBodyDemo/FeatherstoneMultiBodyDemo.cpp diff --git a/ObsoleteDemos/FeatherstoneMultiBodyDemo/FeatherstoneMultiBodyDemo.h b/Demos/FeatherstoneMultiBodyDemo/FeatherstoneMultiBodyDemo.h similarity index 100% rename from ObsoleteDemos/FeatherstoneMultiBodyDemo/FeatherstoneMultiBodyDemo.h rename to Demos/FeatherstoneMultiBodyDemo/FeatherstoneMultiBodyDemo.h diff --git a/ObsoleteDemos/FeatherstoneMultiBodyDemo/Makefile.am b/Demos/FeatherstoneMultiBodyDemo/Makefile.am similarity index 100% rename from ObsoleteDemos/FeatherstoneMultiBodyDemo/Makefile.am rename to Demos/FeatherstoneMultiBodyDemo/Makefile.am diff --git a/ObsoleteDemos/FeatherstoneMultiBodyDemo/Win32FeatherstoneMultiBodyDemo.cpp b/Demos/FeatherstoneMultiBodyDemo/Win32FeatherstoneMultiBodyDemo.cpp similarity index 100% rename from ObsoleteDemos/FeatherstoneMultiBodyDemo/Win32FeatherstoneMultiBodyDemo.cpp rename to Demos/FeatherstoneMultiBodyDemo/Win32FeatherstoneMultiBodyDemo.cpp diff --git a/ObsoleteDemos/FeatherstoneMultiBodyDemo/main.cpp b/Demos/FeatherstoneMultiBodyDemo/main.cpp similarity index 100% rename from ObsoleteDemos/FeatherstoneMultiBodyDemo/main.cpp rename to Demos/FeatherstoneMultiBodyDemo/main.cpp diff --git a/ObsoleteDemos/ForkLiftDemo/CMakeLists.txt b/Demos/ForkLiftDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/ForkLiftDemo/CMakeLists.txt rename to Demos/ForkLiftDemo/CMakeLists.txt diff --git a/ObsoleteDemos/ForkLiftDemo/ForkLiftDemo.cpp b/Demos/ForkLiftDemo/ForkLiftDemo.cpp similarity index 100% rename from ObsoleteDemos/ForkLiftDemo/ForkLiftDemo.cpp rename to Demos/ForkLiftDemo/ForkLiftDemo.cpp diff --git a/ObsoleteDemos/ForkLiftDemo/ForkLiftDemo.h b/Demos/ForkLiftDemo/ForkLiftDemo.h similarity index 100% rename from ObsoleteDemos/ForkLiftDemo/ForkLiftDemo.h rename to Demos/ForkLiftDemo/ForkLiftDemo.h diff --git a/ObsoleteDemos/ForkLiftDemo/Makefile.am b/Demos/ForkLiftDemo/Makefile.am similarity index 100% rename from ObsoleteDemos/ForkLiftDemo/Makefile.am rename to Demos/ForkLiftDemo/Makefile.am diff --git a/ObsoleteDemos/ForkLiftDemo/main.cpp b/Demos/ForkLiftDemo/main.cpp similarity index 100% rename from ObsoleteDemos/ForkLiftDemo/main.cpp rename to Demos/ForkLiftDemo/main.cpp diff --git a/ObsoleteDemos/FractureDemo/CMakeLists.txt b/Demos/FractureDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/FractureDemo/CMakeLists.txt rename to Demos/FractureDemo/CMakeLists.txt diff --git a/ObsoleteDemos/FractureDemo/FractureDemo.cpp b/Demos/FractureDemo/FractureDemo.cpp similarity index 100% rename from ObsoleteDemos/FractureDemo/FractureDemo.cpp rename to Demos/FractureDemo/FractureDemo.cpp diff --git a/ObsoleteDemos/FractureDemo/FractureDemo.h b/Demos/FractureDemo/FractureDemo.h similarity index 100% rename from ObsoleteDemos/FractureDemo/FractureDemo.h rename to Demos/FractureDemo/FractureDemo.h diff --git a/ObsoleteDemos/FractureDemo/Win32FractureDemo.cpp b/Demos/FractureDemo/Win32FractureDemo.cpp similarity index 100% rename from ObsoleteDemos/FractureDemo/Win32FractureDemo.cpp rename to Demos/FractureDemo/Win32FractureDemo.cpp diff --git a/ObsoleteDemos/FractureDemo/btFractureBody.cpp b/Demos/FractureDemo/btFractureBody.cpp similarity index 100% rename from ObsoleteDemos/FractureDemo/btFractureBody.cpp rename to Demos/FractureDemo/btFractureBody.cpp diff --git a/ObsoleteDemos/FractureDemo/btFractureBody.h b/Demos/FractureDemo/btFractureBody.h similarity index 100% rename from ObsoleteDemos/FractureDemo/btFractureBody.h rename to Demos/FractureDemo/btFractureBody.h diff --git a/ObsoleteDemos/FractureDemo/btFractureDynamicsWorld.cpp b/Demos/FractureDemo/btFractureDynamicsWorld.cpp similarity index 100% rename from ObsoleteDemos/FractureDemo/btFractureDynamicsWorld.cpp rename to Demos/FractureDemo/btFractureDynamicsWorld.cpp diff --git a/ObsoleteDemos/FractureDemo/btFractureDynamicsWorld.h b/Demos/FractureDemo/btFractureDynamicsWorld.h similarity index 100% rename from ObsoleteDemos/FractureDemo/btFractureDynamicsWorld.h rename to Demos/FractureDemo/btFractureDynamicsWorld.h diff --git a/ObsoleteDemos/FractureDemo/main.cpp b/Demos/FractureDemo/main.cpp similarity index 100% rename from ObsoleteDemos/FractureDemo/main.cpp rename to Demos/FractureDemo/main.cpp diff --git a/ObsoleteDemos/GenericJointDemo/CMakeLists.txt b/Demos/GenericJointDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/GenericJointDemo/CMakeLists.txt rename to Demos/GenericJointDemo/CMakeLists.txt diff --git a/ObsoleteDemos/GenericJointDemo/GenericJointDemo.cpp b/Demos/GenericJointDemo/GenericJointDemo.cpp similarity index 100% rename from ObsoleteDemos/GenericJointDemo/GenericJointDemo.cpp rename to Demos/GenericJointDemo/GenericJointDemo.cpp diff --git a/ObsoleteDemos/GenericJointDemo/GenericJointDemo.h b/Demos/GenericJointDemo/GenericJointDemo.h similarity index 100% rename from ObsoleteDemos/GenericJointDemo/GenericJointDemo.h rename to Demos/GenericJointDemo/GenericJointDemo.h diff --git a/ObsoleteDemos/GenericJointDemo/Ragdoll.cpp b/Demos/GenericJointDemo/Ragdoll.cpp similarity index 100% rename from ObsoleteDemos/GenericJointDemo/Ragdoll.cpp rename to Demos/GenericJointDemo/Ragdoll.cpp diff --git a/ObsoleteDemos/GenericJointDemo/Ragdoll.h b/Demos/GenericJointDemo/Ragdoll.h similarity index 100% rename from ObsoleteDemos/GenericJointDemo/Ragdoll.h rename to Demos/GenericJointDemo/Ragdoll.h diff --git a/ObsoleteDemos/GenericJointDemo/Win32GenericJointDemo.cpp b/Demos/GenericJointDemo/Win32GenericJointDemo.cpp similarity index 100% rename from ObsoleteDemos/GenericJointDemo/Win32GenericJointDemo.cpp rename to Demos/GenericJointDemo/Win32GenericJointDemo.cpp diff --git a/ObsoleteDemos/GenericJointDemo/main.cpp b/Demos/GenericJointDemo/main.cpp similarity index 100% rename from ObsoleteDemos/GenericJointDemo/main.cpp rename to Demos/GenericJointDemo/main.cpp diff --git a/ObsoleteDemos/GimpactTestDemo/BunnyMesh.h b/Demos/GimpactTestDemo/BunnyMesh.h similarity index 100% rename from ObsoleteDemos/GimpactTestDemo/BunnyMesh.h rename to Demos/GimpactTestDemo/BunnyMesh.h diff --git a/ObsoleteDemos/GimpactTestDemo/CMakeLists.txt b/Demos/GimpactTestDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/GimpactTestDemo/CMakeLists.txt rename to Demos/GimpactTestDemo/CMakeLists.txt diff --git a/ObsoleteDemos/GimpactTestDemo/GimpactTestDemo.cpp b/Demos/GimpactTestDemo/GimpactTestDemo.cpp similarity index 100% rename from ObsoleteDemos/GimpactTestDemo/GimpactTestDemo.cpp rename to Demos/GimpactTestDemo/GimpactTestDemo.cpp diff --git a/ObsoleteDemos/GimpactTestDemo/GimpactTestDemo.h b/Demos/GimpactTestDemo/GimpactTestDemo.h similarity index 100% rename from ObsoleteDemos/GimpactTestDemo/GimpactTestDemo.h rename to Demos/GimpactTestDemo/GimpactTestDemo.h diff --git a/ObsoleteDemos/GimpactTestDemo/TorusMesh.h b/Demos/GimpactTestDemo/TorusMesh.h similarity index 100% rename from ObsoleteDemos/GimpactTestDemo/TorusMesh.h rename to Demos/GimpactTestDemo/TorusMesh.h diff --git a/ObsoleteDemos/GimpactTestDemo/Win32GimpactDemo.cpp b/Demos/GimpactTestDemo/Win32GimpactDemo.cpp similarity index 100% rename from ObsoleteDemos/GimpactTestDemo/Win32GimpactDemo.cpp rename to Demos/GimpactTestDemo/Win32GimpactDemo.cpp diff --git a/ObsoleteDemos/GimpactTestDemo/main.cpp b/Demos/GimpactTestDemo/main.cpp similarity index 100% rename from ObsoleteDemos/GimpactTestDemo/main.cpp rename to Demos/GimpactTestDemo/main.cpp diff --git a/ObsoleteDemos/GjkConvexCastDemo/CMakeLists.txt b/Demos/GjkConvexCastDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/GjkConvexCastDemo/CMakeLists.txt rename to Demos/GjkConvexCastDemo/CMakeLists.txt diff --git a/ObsoleteDemos/GjkConvexCastDemo/LinearConvexCastDemo.cpp b/Demos/GjkConvexCastDemo/LinearConvexCastDemo.cpp similarity index 100% rename from ObsoleteDemos/GjkConvexCastDemo/LinearConvexCastDemo.cpp rename to Demos/GjkConvexCastDemo/LinearConvexCastDemo.cpp diff --git a/ObsoleteDemos/GjkConvexCastDemo/LinearConvexCastDemo.h b/Demos/GjkConvexCastDemo/LinearConvexCastDemo.h similarity index 100% rename from ObsoleteDemos/GjkConvexCastDemo/LinearConvexCastDemo.h rename to Demos/GjkConvexCastDemo/LinearConvexCastDemo.h diff --git a/ObsoleteDemos/GjkConvexCastDemo/main.cpp b/Demos/GjkConvexCastDemo/main.cpp similarity index 100% rename from ObsoleteDemos/GjkConvexCastDemo/main.cpp rename to Demos/GjkConvexCastDemo/main.cpp diff --git a/ObsoleteDemos/Glut/GL/freeglut.h b/Demos/Glut/GL/freeglut.h similarity index 100% rename from ObsoleteDemos/Glut/GL/freeglut.h rename to Demos/Glut/GL/freeglut.h diff --git a/ObsoleteDemos/Glut/GL/freeglut_ext.h b/Demos/Glut/GL/freeglut_ext.h similarity index 100% rename from ObsoleteDemos/Glut/GL/freeglut_ext.h rename to Demos/Glut/GL/freeglut_ext.h diff --git a/ObsoleteDemos/Glut/GL/freeglut_std.h b/Demos/Glut/GL/freeglut_std.h similarity index 100% rename from ObsoleteDemos/Glut/GL/freeglut_std.h rename to Demos/Glut/GL/freeglut_std.h diff --git a/ObsoleteDemos/Glut/GL/glew.h b/Demos/Glut/GL/glew.h similarity index 100% rename from ObsoleteDemos/Glut/GL/glew.h rename to Demos/Glut/GL/glew.h diff --git a/ObsoleteDemos/Glut/GL/glext.h b/Demos/Glut/GL/glext.h similarity index 100% rename from ObsoleteDemos/Glut/GL/glext.h rename to Demos/Glut/GL/glext.h diff --git a/ObsoleteDemos/Glut/GL/glut.h b/Demos/Glut/GL/glut.h similarity index 100% rename from ObsoleteDemos/Glut/GL/glut.h rename to Demos/Glut/GL/glut.h diff --git a/ObsoleteDemos/Glut/GL/glxew.h b/Demos/Glut/GL/glxew.h similarity index 100% rename from ObsoleteDemos/Glut/GL/glxew.h rename to Demos/Glut/GL/glxew.h diff --git a/ObsoleteDemos/Glut/GL/glxext.h b/Demos/Glut/GL/glxext.h similarity index 100% rename from ObsoleteDemos/Glut/GL/glxext.h rename to Demos/Glut/GL/glxext.h diff --git a/ObsoleteDemos/Glut/GL/wglew.h b/Demos/Glut/GL/wglew.h similarity index 100% rename from ObsoleteDemos/Glut/GL/wglew.h rename to Demos/Glut/GL/wglew.h diff --git a/ObsoleteDemos/Glut/GL/wglext.h b/Demos/Glut/GL/wglext.h similarity index 100% rename from ObsoleteDemos/Glut/GL/wglext.h rename to Demos/Glut/GL/wglext.h diff --git a/ObsoleteDemos/Glut/btGlutInclude.h b/Demos/Glut/btGlutInclude.h similarity index 100% rename from ObsoleteDemos/Glut/btGlutInclude.h rename to Demos/Glut/btGlutInclude.h diff --git a/ObsoleteDemos/Glut/glew32s.lib b/Demos/Glut/glew32s.lib similarity index 100% rename from ObsoleteDemos/Glut/glew32s.lib rename to Demos/Glut/glew32s.lib diff --git a/ObsoleteDemos/Glut/glew64s.lib b/Demos/Glut/glew64s.lib similarity index 100% rename from ObsoleteDemos/Glut/glew64s.lib rename to Demos/Glut/glew64s.lib diff --git a/ObsoleteDemos/Glut/glut32.lib b/Demos/Glut/glut32.lib similarity index 100% rename from ObsoleteDemos/Glut/glut32.lib rename to Demos/Glut/glut32.lib diff --git a/ObsoleteDemos/Glut/glut64.lib b/Demos/Glut/glut64.lib similarity index 100% rename from ObsoleteDemos/Glut/glut64.lib rename to Demos/Glut/glut64.lib diff --git a/ObsoleteDemos/GyroscopicDemo/CMakeLists.txt b/Demos/GyroscopicDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/GyroscopicDemo/CMakeLists.txt rename to Demos/GyroscopicDemo/CMakeLists.txt diff --git a/ObsoleteDemos/GyroscopicDemo/GyroscopicDemo.cpp b/Demos/GyroscopicDemo/GyroscopicDemo.cpp similarity index 100% rename from ObsoleteDemos/GyroscopicDemo/GyroscopicDemo.cpp rename to Demos/GyroscopicDemo/GyroscopicDemo.cpp diff --git a/ObsoleteDemos/GyroscopicDemo/GyroscopicDemo.h b/Demos/GyroscopicDemo/GyroscopicDemo.h similarity index 100% rename from ObsoleteDemos/GyroscopicDemo/GyroscopicDemo.h rename to Demos/GyroscopicDemo/GyroscopicDemo.h diff --git a/ObsoleteDemos/GyroscopicDemo/Win32GyroscopicDemo.cpp b/Demos/GyroscopicDemo/Win32GyroscopicDemo.cpp similarity index 100% rename from ObsoleteDemos/GyroscopicDemo/Win32GyroscopicDemo.cpp rename to Demos/GyroscopicDemo/Win32GyroscopicDemo.cpp diff --git a/ObsoleteDemos/GyroscopicDemo/main.cpp b/Demos/GyroscopicDemo/main.cpp similarity index 100% rename from ObsoleteDemos/GyroscopicDemo/main.cpp rename to Demos/GyroscopicDemo/main.cpp diff --git a/ObsoleteDemos/HelloWorld/CMakeLists.txt b/Demos/HelloWorld/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/HelloWorld/CMakeLists.txt rename to Demos/HelloWorld/CMakeLists.txt diff --git a/ObsoleteDemos/HelloWorld/HelloWorld.cpp b/Demos/HelloWorld/HelloWorld.cpp similarity index 100% rename from ObsoleteDemos/HelloWorld/HelloWorld.cpp rename to Demos/HelloWorld/HelloWorld.cpp diff --git a/ObsoleteDemos/HelloWorld/premake4.lua b/Demos/HelloWorld/premake4.lua similarity index 100% rename from ObsoleteDemos/HelloWorld/premake4.lua rename to Demos/HelloWorld/premake4.lua diff --git a/ObsoleteDemos/InternalEdgeDemo/CMakeLists.txt b/Demos/InternalEdgeDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/InternalEdgeDemo/CMakeLists.txt rename to Demos/InternalEdgeDemo/CMakeLists.txt diff --git a/ObsoleteDemos/InternalEdgeDemo/InternalEdgeDemo.cpp b/Demos/InternalEdgeDemo/InternalEdgeDemo.cpp similarity index 100% rename from ObsoleteDemos/InternalEdgeDemo/InternalEdgeDemo.cpp rename to Demos/InternalEdgeDemo/InternalEdgeDemo.cpp diff --git a/ObsoleteDemos/InternalEdgeDemo/InternalEdgeDemo.h b/Demos/InternalEdgeDemo/InternalEdgeDemo.h similarity index 100% rename from ObsoleteDemos/InternalEdgeDemo/InternalEdgeDemo.h rename to Demos/InternalEdgeDemo/InternalEdgeDemo.h diff --git a/ObsoleteDemos/InternalEdgeDemo/Taru.mdl b/Demos/InternalEdgeDemo/Taru.mdl similarity index 100% rename from ObsoleteDemos/InternalEdgeDemo/Taru.mdl rename to Demos/InternalEdgeDemo/Taru.mdl diff --git a/ObsoleteDemos/InternalEdgeDemo/Win32InternalEdgeDemo.cpp b/Demos/InternalEdgeDemo/Win32InternalEdgeDemo.cpp similarity index 100% rename from ObsoleteDemos/InternalEdgeDemo/Win32InternalEdgeDemo.cpp rename to Demos/InternalEdgeDemo/Win32InternalEdgeDemo.cpp diff --git a/ObsoleteDemos/InternalEdgeDemo/main.cpp b/Demos/InternalEdgeDemo/main.cpp similarity index 100% rename from ObsoleteDemos/InternalEdgeDemo/main.cpp rename to Demos/InternalEdgeDemo/main.cpp diff --git a/ObsoleteDemos/MovingConcaveDemo/CMakeLists.txt b/Demos/MovingConcaveDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/MovingConcaveDemo/CMakeLists.txt rename to Demos/MovingConcaveDemo/CMakeLists.txt diff --git a/ObsoleteDemos/MovingConcaveDemo/ConcaveDemo.h b/Demos/MovingConcaveDemo/ConcaveDemo.h similarity index 100% rename from ObsoleteDemos/MovingConcaveDemo/ConcaveDemo.h rename to Demos/MovingConcaveDemo/ConcaveDemo.h diff --git a/ObsoleteDemos/MovingConcaveDemo/ConcavePhysicsDemo.cpp b/Demos/MovingConcaveDemo/ConcavePhysicsDemo.cpp similarity index 100% rename from ObsoleteDemos/MovingConcaveDemo/ConcavePhysicsDemo.cpp rename to Demos/MovingConcaveDemo/ConcavePhysicsDemo.cpp diff --git a/ObsoleteDemos/MultiMaterialDemo/CMakeLists.txt b/Demos/MultiMaterialDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/MultiMaterialDemo/CMakeLists.txt rename to Demos/MultiMaterialDemo/CMakeLists.txt diff --git a/ObsoleteDemos/MultiMaterialDemo/MultiMaterialDemo.cpp b/Demos/MultiMaterialDemo/MultiMaterialDemo.cpp similarity index 100% rename from ObsoleteDemos/MultiMaterialDemo/MultiMaterialDemo.cpp rename to Demos/MultiMaterialDemo/MultiMaterialDemo.cpp diff --git a/ObsoleteDemos/MultiMaterialDemo/MultiMaterialDemo.h b/Demos/MultiMaterialDemo/MultiMaterialDemo.h similarity index 100% rename from ObsoleteDemos/MultiMaterialDemo/MultiMaterialDemo.h rename to Demos/MultiMaterialDemo/MultiMaterialDemo.h diff --git a/ObsoleteDemos/MultiMaterialDemo/main.cpp b/Demos/MultiMaterialDemo/main.cpp similarity index 100% rename from ObsoleteDemos/MultiMaterialDemo/main.cpp rename to Demos/MultiMaterialDemo/main.cpp diff --git a/ObsoleteDemos/MultiThreadedDemo/CMakeLists.txt b/Demos/MultiThreadedDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/MultiThreadedDemo/CMakeLists.txt rename to Demos/MultiThreadedDemo/CMakeLists.txt diff --git a/ObsoleteDemos/MultiThreadedDemo/Makefile.am b/Demos/MultiThreadedDemo/Makefile.am similarity index 100% rename from ObsoleteDemos/MultiThreadedDemo/Makefile.am rename to Demos/MultiThreadedDemo/Makefile.am diff --git a/ObsoleteDemos/MultiThreadedDemo/MultiThreadedDemo.cpp b/Demos/MultiThreadedDemo/MultiThreadedDemo.cpp similarity index 100% rename from ObsoleteDemos/MultiThreadedDemo/MultiThreadedDemo.cpp rename to Demos/MultiThreadedDemo/MultiThreadedDemo.cpp diff --git a/ObsoleteDemos/MultiThreadedDemo/MultiThreadedDemo.h b/Demos/MultiThreadedDemo/MultiThreadedDemo.h similarity index 100% rename from ObsoleteDemos/MultiThreadedDemo/MultiThreadedDemo.h rename to Demos/MultiThreadedDemo/MultiThreadedDemo.h diff --git a/ObsoleteDemos/MultiThreadedDemo/main.cpp b/Demos/MultiThreadedDemo/main.cpp similarity index 100% rename from ObsoleteDemos/MultiThreadedDemo/main.cpp rename to Demos/MultiThreadedDemo/main.cpp diff --git a/ObsoleteDemos/NativeClient/bin_html/bind.js b/Demos/NativeClient/bin_html/bind.js similarity index 100% rename from ObsoleteDemos/NativeClient/bin_html/bind.js rename to Demos/NativeClient/bin_html/bind.js diff --git a/ObsoleteDemos/NativeClient/bin_html/dragger.js b/Demos/NativeClient/bin_html/dragger.js similarity index 100% rename from ObsoleteDemos/NativeClient/bin_html/dragger.js rename to Demos/NativeClient/bin_html/dragger.js diff --git a/ObsoleteDemos/NativeClient/bin_html/httpd.cmd b/Demos/NativeClient/bin_html/httpd.cmd similarity index 100% rename from ObsoleteDemos/NativeClient/bin_html/httpd.cmd rename to Demos/NativeClient/bin_html/httpd.cmd diff --git a/ObsoleteDemos/NativeClient/bin_html/httpd.py b/Demos/NativeClient/bin_html/httpd.py similarity index 100% rename from ObsoleteDemos/NativeClient/bin_html/httpd.py rename to Demos/NativeClient/bin_html/httpd.py diff --git a/ObsoleteDemos/NativeClient/bin_html/index.html b/Demos/NativeClient/bin_html/index.html similarity index 100% rename from ObsoleteDemos/NativeClient/bin_html/index.html rename to Demos/NativeClient/bin_html/index.html diff --git a/ObsoleteDemos/NativeClient/bin_html/trackball.js b/Demos/NativeClient/bin_html/trackball.js similarity index 100% rename from ObsoleteDemos/NativeClient/bin_html/trackball.js rename to Demos/NativeClient/bin_html/trackball.js diff --git a/ObsoleteDemos/NativeClient/bin_html/tumbler.js b/Demos/NativeClient/bin_html/tumbler.js similarity index 100% rename from ObsoleteDemos/NativeClient/bin_html/tumbler.js rename to Demos/NativeClient/bin_html/tumbler.js diff --git a/ObsoleteDemos/NativeClient/bin_html/tumbler.nmf b/Demos/NativeClient/bin_html/tumbler.nmf similarity index 100% rename from ObsoleteDemos/NativeClient/bin_html/tumbler.nmf rename to Demos/NativeClient/bin_html/tumbler.nmf diff --git a/ObsoleteDemos/NativeClient/bin_html/vector3.js b/Demos/NativeClient/bin_html/vector3.js similarity index 100% rename from ObsoleteDemos/NativeClient/bin_html/vector3.js rename to Demos/NativeClient/bin_html/vector3.js diff --git a/ObsoleteDemos/NativeClient/callback.h b/Demos/NativeClient/callback.h similarity index 100% rename from ObsoleteDemos/NativeClient/callback.h rename to Demos/NativeClient/callback.h diff --git a/ObsoleteDemos/NativeClient/cube.cc b/Demos/NativeClient/cube.cc similarity index 100% rename from ObsoleteDemos/NativeClient/cube.cc rename to Demos/NativeClient/cube.cc diff --git a/ObsoleteDemos/NativeClient/cube.h b/Demos/NativeClient/cube.h similarity index 100% rename from ObsoleteDemos/NativeClient/cube.h rename to Demos/NativeClient/cube.h diff --git a/ObsoleteDemos/NativeClient/opengl_context.cc b/Demos/NativeClient/opengl_context.cc similarity index 100% rename from ObsoleteDemos/NativeClient/opengl_context.cc rename to Demos/NativeClient/opengl_context.cc diff --git a/ObsoleteDemos/NativeClient/opengl_context.h b/Demos/NativeClient/opengl_context.h similarity index 100% rename from ObsoleteDemos/NativeClient/opengl_context.h rename to Demos/NativeClient/opengl_context.h diff --git a/ObsoleteDemos/NativeClient/opengl_context_ptrs.h b/Demos/NativeClient/opengl_context_ptrs.h similarity index 100% rename from ObsoleteDemos/NativeClient/opengl_context_ptrs.h rename to Demos/NativeClient/opengl_context_ptrs.h diff --git a/ObsoleteDemos/NativeClient/premake4.lua b/Demos/NativeClient/premake4.lua similarity index 100% rename from ObsoleteDemos/NativeClient/premake4.lua rename to Demos/NativeClient/premake4.lua diff --git a/ObsoleteDemos/NativeClient/scripting_bridge.cc b/Demos/NativeClient/scripting_bridge.cc similarity index 100% rename from ObsoleteDemos/NativeClient/scripting_bridge.cc rename to Demos/NativeClient/scripting_bridge.cc diff --git a/ObsoleteDemos/NativeClient/scripting_bridge.h b/Demos/NativeClient/scripting_bridge.h similarity index 100% rename from ObsoleteDemos/NativeClient/scripting_bridge.h rename to Demos/NativeClient/scripting_bridge.h diff --git a/ObsoleteDemos/NativeClient/shader_util.cc b/Demos/NativeClient/shader_util.cc similarity index 100% rename from ObsoleteDemos/NativeClient/shader_util.cc rename to Demos/NativeClient/shader_util.cc diff --git a/ObsoleteDemos/NativeClient/shader_util.h b/Demos/NativeClient/shader_util.h similarity index 100% rename from ObsoleteDemos/NativeClient/shader_util.h rename to Demos/NativeClient/shader_util.h diff --git a/ObsoleteDemos/NativeClient/transforms.cc b/Demos/NativeClient/transforms.cc similarity index 100% rename from ObsoleteDemos/NativeClient/transforms.cc rename to Demos/NativeClient/transforms.cc diff --git a/ObsoleteDemos/NativeClient/transforms.h b/Demos/NativeClient/transforms.h similarity index 100% rename from ObsoleteDemos/NativeClient/transforms.h rename to Demos/NativeClient/transforms.h diff --git a/ObsoleteDemos/NativeClient/tumbler.cc b/Demos/NativeClient/tumbler.cc similarity index 100% rename from ObsoleteDemos/NativeClient/tumbler.cc rename to Demos/NativeClient/tumbler.cc diff --git a/ObsoleteDemos/NativeClient/tumbler.h b/Demos/NativeClient/tumbler.h similarity index 100% rename from ObsoleteDemos/NativeClient/tumbler.h rename to Demos/NativeClient/tumbler.h diff --git a/ObsoleteDemos/NativeClient/tumbler_module.cc b/Demos/NativeClient/tumbler_module.cc similarity index 100% rename from ObsoleteDemos/NativeClient/tumbler_module.cc rename to Demos/NativeClient/tumbler_module.cc diff --git a/ObsoleteDemos/OpenGL/CMakeLists.txt b/Demos/OpenGL/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/OpenGL/CMakeLists.txt rename to Demos/OpenGL/CMakeLists.txt diff --git a/ObsoleteDemos/OpenGL/CommandLineArguments.h b/Demos/OpenGL/CommandLineArguments.h similarity index 100% rename from ObsoleteDemos/OpenGL/CommandLineArguments.h rename to Demos/OpenGL/CommandLineArguments.h diff --git a/ObsoleteDemos/OpenGL/DebugCastResult.h b/Demos/OpenGL/DebugCastResult.h similarity index 100% rename from ObsoleteDemos/OpenGL/DebugCastResult.h rename to Demos/OpenGL/DebugCastResult.h diff --git a/ObsoleteDemos/OpenGL/DemoApplication.cpp b/Demos/OpenGL/DemoApplication.cpp similarity index 97% rename from ObsoleteDemos/OpenGL/DemoApplication.cpp rename to Demos/OpenGL/DemoApplication.cpp index 3baaca44c..e373a08e3 100644 --- a/ObsoleteDemos/OpenGL/DemoApplication.cpp +++ b/Demos/OpenGL/DemoApplication.cpp @@ -4,8 +4,8 @@ Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/ This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. @@ -43,7 +43,7 @@ btCollisionShape* gShapePtr[maxNumObjects];//1 rigidbody has 1 shape (no re-use extern int gNumClampedCcdMotions; -#ifdef SHOW_NUM_DEEP_PENETRATIONS +#ifdef SHOW_NUM_DEEP_PENETRATIONS extern int gNumDeepPenetrationChecks; extern int gNumSplitImpulseRecoveries; @@ -75,7 +75,7 @@ m_scaleBottom(0.5f), m_scaleFactor(2.f), m_cameraUp(0,1,0), m_forwardAxis(2), -m_zoomStepSize(0.4), +m_zoomStepSize(0.4), m_glutScreenWidth(0), m_glutScreenHeight(0), m_frustumZNear(1.f), @@ -220,20 +220,20 @@ void DemoApplication::updateCamera() { aspect = m_glutScreenWidth / (btScalar)m_glutScreenHeight; extents.setValue(aspect * 1.0f, 1.0f,0); - - + + if (m_ortho) { // reset matrix glLoadIdentity(); - - + + extents *= m_cameraDistance; btVector3 lower = m_cameraTargetPosition - extents; btVector3 upper = m_cameraTargetPosition + extents; //gluOrtho2D(lower.x, upper.x, lower.y, upper.y); glOrtho(lower.getX(), upper.getX(), lower.getY(), upper.getY(),-1000,1000); - + glMatrixMode(GL_MODELVIEW); glLoadIdentity(); //glTranslatef(100,210,0); @@ -243,8 +243,8 @@ void DemoApplication::updateCamera() { glFrustum (-aspect * m_frustumZNear, aspect * m_frustumZNear, -m_frustumZNear, m_frustumZNear, m_frustumZNear, m_frustumZFar); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); - gluLookAt(m_cameraPosition[0], m_cameraPosition[1], m_cameraPosition[2], - m_cameraTargetPosition[0], m_cameraTargetPosition[1], m_cameraTargetPosition[2], + gluLookAt(m_cameraPosition[0], m_cameraPosition[1], m_cameraPosition[2], + m_cameraTargetPosition[0], m_cameraTargetPosition[1], m_cameraTargetPosition[2], m_cameraUp.getX(),m_cameraUp.getY(),m_cameraUp.getZ()); } @@ -254,32 +254,32 @@ void DemoApplication::updateCamera() { const float STEPSIZE = 5; -void DemoApplication::stepLeft() -{ - m_azi -= STEPSIZE; if (m_azi < 0) m_azi += 360; updateCamera(); +void DemoApplication::stepLeft() +{ + m_azi -= STEPSIZE; if (m_azi < 0) m_azi += 360; updateCamera(); } -void DemoApplication::stepRight() -{ - m_azi += STEPSIZE; if (m_azi >= 360) m_azi -= 360; updateCamera(); +void DemoApplication::stepRight() +{ + m_azi += STEPSIZE; if (m_azi >= 360) m_azi -= 360; updateCamera(); } -void DemoApplication::stepFront() -{ - m_ele += STEPSIZE; if (m_ele >= 360) m_ele -= 360; updateCamera(); +void DemoApplication::stepFront() +{ + m_ele += STEPSIZE; if (m_ele >= 360) m_ele -= 360; updateCamera(); } -void DemoApplication::stepBack() -{ - m_ele -= STEPSIZE; if (m_ele < 0) m_ele += 360; updateCamera(); +void DemoApplication::stepBack() +{ + m_ele -= STEPSIZE; if (m_ele < 0) m_ele += 360; updateCamera(); } -void DemoApplication::zoomIn() -{ - m_cameraDistance -= btScalar(m_zoomStepSize); updateCamera(); +void DemoApplication::zoomIn() +{ + m_cameraDistance -= btScalar(m_zoomStepSize); updateCamera(); if (m_cameraDistance < btScalar(0.1)) m_cameraDistance = btScalar(0.1); } -void DemoApplication::zoomOut() -{ - m_cameraDistance += btScalar(m_zoomStepSize); updateCamera(); +void DemoApplication::zoomOut() +{ + m_cameraDistance += btScalar(m_zoomStepSize); updateCamera(); } @@ -292,7 +292,7 @@ void DemoApplication::zoomOut() -void DemoApplication::reshape(int w, int h) +void DemoApplication::reshape(int w, int h) { GLDebugResetFont(w,h); @@ -324,7 +324,7 @@ void DemoApplication::keyboardCallback(unsigned char key, int x, int y) } #endif //BT_NO_PROFILE - switch (key) + switch (key) { case 8: { @@ -337,7 +337,7 @@ void DemoApplication::keyboardCallback(unsigned char key, int x, int y) btRigidBody* body = btRigidBody::upcast(obj); if (body && body->getMotionState()) { - delete body->getMotionState(); + delete body->getMotionState(); } delete obj; @@ -345,7 +345,7 @@ void DemoApplication::keyboardCallback(unsigned char key, int x, int y) } break; } - case 'q' : + case 'q' : #ifdef BT_USE_FREEGLUT //return from glutMainLoop(), detect memory leaks etc. glutLeaveMainLoop(); @@ -418,44 +418,44 @@ void DemoApplication::keyboardCallback(unsigned char key, int x, int y) m_debugMode |= btIDebugDraw::DBG_DrawNormals; break; - case 't' : + case 't' : if (m_debugMode & btIDebugDraw::DBG_DrawText) m_debugMode = m_debugMode & (~btIDebugDraw::DBG_DrawText); else m_debugMode |= btIDebugDraw::DBG_DrawText; break; - case 'y': + case 'y': if (m_debugMode & btIDebugDraw::DBG_DrawFeaturesText) m_debugMode = m_debugMode & (~btIDebugDraw::DBG_DrawFeaturesText); else m_debugMode |= btIDebugDraw::DBG_DrawFeaturesText; break; - case 'a': + case 'a': if (m_debugMode & btIDebugDraw::DBG_DrawAabb) m_debugMode = m_debugMode & (~btIDebugDraw::DBG_DrawAabb); else m_debugMode |= btIDebugDraw::DBG_DrawAabb; break; - case 'c' : + case 'c' : if (m_debugMode & btIDebugDraw::DBG_DrawContactPoints) m_debugMode = m_debugMode & (~btIDebugDraw::DBG_DrawContactPoints); else m_debugMode |= btIDebugDraw::DBG_DrawContactPoints; break; - case 'C' : + case 'C' : if (m_debugMode & btIDebugDraw::DBG_DrawConstraints) m_debugMode = m_debugMode & (~btIDebugDraw::DBG_DrawConstraints); else m_debugMode |= btIDebugDraw::DBG_DrawConstraints; break; - case 'L' : + case 'L' : if (m_debugMode & btIDebugDraw::DBG_DrawConstraintLimits) m_debugMode = m_debugMode & (~btIDebugDraw::DBG_DrawConstraintLimits); else m_debugMode |= btIDebugDraw::DBG_DrawConstraintLimits; break; - case 'd' : + case 'd' : if (m_debugMode & btIDebugDraw::DBG_NoDeactivation) m_debugMode = m_debugMode & (~btIDebugDraw::DBG_NoDeactivation); else @@ -516,7 +516,7 @@ void DemoApplication::keyboardCallback(unsigned char key, int x, int y) if (getDynamicsWorld() && getDynamicsWorld()->getDebugDrawer()) getDynamicsWorld()->getDebugDrawer()->setDebugMode(m_debugMode); - + } @@ -589,7 +589,7 @@ void DemoApplication::shootBox(const btVector3& destination) // printf("shootBox uid=%d\n", body->getBroadphaseHandle()->getUid()); // printf("camPos=%f,%f,%f\n",camPos.getX(),camPos.getY(),camPos.getZ()); // printf("destination=%f,%f,%f\n",destination.getX(),destination.getY(),destination.getZ()); - + } } @@ -604,7 +604,7 @@ btRigidBody* pickedBody = 0;//for deactivation state btVector3 DemoApplication::getRayTo(int x,int y) { - + if (m_ortho) { @@ -613,14 +613,14 @@ btVector3 DemoApplication::getRayTo(int x,int y) btVector3 extents; aspect = m_glutScreenWidth / (btScalar)m_glutScreenHeight; extents.setValue(aspect * 1.0f, 1.0f,0); - + extents *= m_cameraDistance; btVector3 lower = m_cameraTargetPosition - extents; btVector3 upper = m_cameraTargetPosition + extents; btScalar u = x / btScalar(m_glutScreenWidth); btScalar v = (m_glutScreenHeight - y) / btScalar(m_glutScreenHeight); - + btVector3 p(0,0,0); p.setValue((1.0f - u) * lower.getX() + u * upper.getX(),(1.0f - v) * lower.getY() + v * upper.getY(),m_cameraTargetPosition.getZ()); return p; @@ -654,9 +654,9 @@ btVector3 DemoApplication::getRayTo(int x,int y) vertical *= 2.f * farPlane * tanfov; btScalar aspect; - + aspect = m_glutScreenWidth / (btScalar)m_glutScreenHeight; - + hor*=aspect; @@ -676,7 +676,7 @@ btScalar mousePickClamping = 30.f; void DemoApplication::mouseFunc(int button, int state, int x, int y) { - if (state == 0) + if (state == 0) { m_mouseButtons |= 1<rayTest(rayFrom,rayTo,rayCallback); if (rayCallback.hasHit()) { btVector3 pickPos = rayCallback.m_hitPointWorld; - + pickObject(pickPos, rayCallback.m_collisionObject); - + gOldPickingPos = rayTo; gHitPos = pickPos; @@ -801,7 +801,7 @@ void DemoApplication::mouseFunc(int button, int state, int x, int y) void DemoApplication::pickObject(const btVector3& pickPos, const btCollisionObject* hitObj) { - + btRigidBody* body = (btRigidBody*)btRigidBody::upcast(hitObj); if (body) { @@ -860,15 +860,15 @@ void DemoApplication::pickObject(const btVector3& pickPos, const btCollisionObje p2p->setParam(BT_CONSTRAINT_ERP,0.1,1); p2p->setParam(BT_CONSTRAINT_ERP,0.1,2); */ - + } - + //save mouse position for dragging - + } } - + } void DemoApplication::removePickingConstraint() @@ -979,21 +979,21 @@ void DemoApplication::mouseMotionFunc(int x,int y) if(m_mouseButtons & (2 << 2) && m_mouseButtons & 1) { } - else if(m_mouseButtons & 1) + else if(m_mouseButtons & 1) { m_azi += dx * btScalar(0.2); m_azi = fmodf(m_azi, btScalar(360.f)); m_ele += dy * btScalar(0.2); m_ele = fmodf(m_ele, btScalar(180.f)); - } - else if(m_mouseButtons & 4) + } + else if(m_mouseButtons & 4) { m_cameraDistance -= dy * btScalar(0.02f); if (m_cameraDistancesetContactProcessingThreshold(m_defaultContactProcessingThreshold); #else - btRigidBody* body = new btRigidBody(mass,0,shape,localInertia); + btRigidBody* body = new btRigidBody(mass,0,shape,localInertia); body->setWorldTransform(startTransform); #endif// @@ -1039,13 +1039,13 @@ btRigidBody* DemoApplication::localCreateRigidBody(float mass, const btTransform } //See http://www.lighthouse3d.com/opengl/glut/index.php?bmpfontortho -void DemoApplication::setOrthographicProjection() +void DemoApplication::setOrthographicProjection() { // switch to projection mode glMatrixMode(GL_PROJECTION); - // save previous matrix which contains the + // save previous matrix which contains the //settings for the perspective projection glPushMatrix(); // reset matrix @@ -1063,7 +1063,7 @@ void DemoApplication::setOrthographicProjection() } -void DemoApplication::resetPerspectiveProjection() +void DemoApplication::resetPerspectiveProjection() { glMatrixMode(GL_PROJECTION); @@ -1189,7 +1189,7 @@ void DemoApplication::renderscene(int pass) wireColor += btVector3 (1.f,0.f,0.f); } else - { + { wireColor += btVector3 (.5f,0.f,0.f); } } @@ -1207,7 +1207,7 @@ void DemoApplication::renderscene(int pass) btVector3 aabbMin(0,0,0),aabbMax(0,0,0); //m_dynamicsWorld->getBroadphase()->getBroadphaseAabb(aabbMin,aabbMax); - + aabbMin-=btVector3(BT_LARGE_FLOAT,BT_LARGE_FLOAT,BT_LARGE_FLOAT); aabbMax+=btVector3(BT_LARGE_FLOAT,BT_LARGE_FLOAT,BT_LARGE_FLOAT); // printf("aabbMin=(%f,%f,%f)\n",aabbMin.getX(),aabbMin.getY(),aabbMin.getZ()); @@ -1235,7 +1235,7 @@ void DemoApplication::renderme() updateCamera(); if (m_dynamicsWorld) - { + { if(m_enableshadows) { glClear(GL_STENCIL_BUFFER_BIT); @@ -1300,7 +1300,7 @@ void DemoApplication::renderme() #ifdef USE_QUICKPROF - + if ( getDebugMode() & btIDebugDraw::DBG_ProfileTimings) { static int counter = 0; @@ -1320,7 +1320,7 @@ void DemoApplication::renderme() #endif //USE_QUICKPROF - + resetPerspectiveProjection(); } @@ -1358,11 +1358,11 @@ void DemoApplication::clientResetScene() m_dynamicsWorld->getConstraint(0)->setEnabled(true); } numObjects = m_dynamicsWorld->getNumCollisionObjects(); - + ///create a copy of the array, not a reference! btCollisionObjectArray copyArray = m_dynamicsWorld->getCollisionObjectArray(); - + for (i=0;ienableTexture(enable)); } bool setShadows(bool enable) { bool p=m_enableshadows;m_enableshadows=enable;return(p); } bool getTexturing() const @@ -145,9 +145,9 @@ public: { return m_debugMode ; } - + void setDebugMode(int mode); - + void setAzi(float azi) { m_azi = azi; @@ -157,7 +157,7 @@ public: { m_ele = ele; } - + void setCameraUp(const btVector3& camUp) { m_cameraUp = camUp; @@ -170,7 +170,7 @@ public: virtual void myinit(); void toggleIdle(); - + virtual void updateCamera(); btVector3 getCameraPosition() @@ -199,9 +199,9 @@ public: } ///glut callbacks - + float getCameraDistance(); - void setCameraDistance(float dist); + void setCameraDistance(float dist); void moveAndDisplay(); virtual void clientMoveAndDisplay() = 0; @@ -217,12 +217,12 @@ public: btRigidBody* localCreateRigidBody(float mass, const btTransform& startTransform,btCollisionShape* shape); - ///callback methods by glut + ///callback methods by glut virtual void keyboardCallback(unsigned char key, int x, int y); - + virtual void keyboardUpCallback(unsigned char key, int x, int y) {} - + virtual void specialKeyboard(int key, int x, int y){} virtual void specialKeyboardUp(int key, int x, int y){} @@ -232,7 +232,7 @@ public: virtual void mouseFunc(int button, int state, int x, int y); virtual void mouseMotionFunc(int x,int y); - + virtual void displayCallback(); virtual void renderme(); diff --git a/ObsoleteDemos/OpenGL/GLDebugDrawer.cpp b/Demos/OpenGL/GLDebugDrawer.cpp similarity index 100% rename from ObsoleteDemos/OpenGL/GLDebugDrawer.cpp rename to Demos/OpenGL/GLDebugDrawer.cpp diff --git a/ObsoleteDemos/OpenGL/GLDebugDrawer.h b/Demos/OpenGL/GLDebugDrawer.h similarity index 100% rename from ObsoleteDemos/OpenGL/GLDebugDrawer.h rename to Demos/OpenGL/GLDebugDrawer.h diff --git a/ObsoleteDemos/OpenGL/GLDebugFont.cpp b/Demos/OpenGL/GLDebugFont.cpp similarity index 100% rename from ObsoleteDemos/OpenGL/GLDebugFont.cpp rename to Demos/OpenGL/GLDebugFont.cpp diff --git a/ObsoleteDemos/OpenGL/GLDebugFont.h b/Demos/OpenGL/GLDebugFont.h similarity index 100% rename from ObsoleteDemos/OpenGL/GLDebugFont.h rename to Demos/OpenGL/GLDebugFont.h diff --git a/ObsoleteDemos/OpenGL/GL_DialogDynamicsWorld.cpp b/Demos/OpenGL/GL_DialogDynamicsWorld.cpp similarity index 100% rename from ObsoleteDemos/OpenGL/GL_DialogDynamicsWorld.cpp rename to Demos/OpenGL/GL_DialogDynamicsWorld.cpp diff --git a/ObsoleteDemos/OpenGL/GL_DialogDynamicsWorld.h b/Demos/OpenGL/GL_DialogDynamicsWorld.h similarity index 100% rename from ObsoleteDemos/OpenGL/GL_DialogDynamicsWorld.h rename to Demos/OpenGL/GL_DialogDynamicsWorld.h diff --git a/ObsoleteDemos/OpenGL/GL_DialogWindow.cpp b/Demos/OpenGL/GL_DialogWindow.cpp similarity index 100% rename from ObsoleteDemos/OpenGL/GL_DialogWindow.cpp rename to Demos/OpenGL/GL_DialogWindow.cpp diff --git a/ObsoleteDemos/OpenGL/GL_DialogWindow.h b/Demos/OpenGL/GL_DialogWindow.h similarity index 100% rename from ObsoleteDemos/OpenGL/GL_DialogWindow.h rename to Demos/OpenGL/GL_DialogWindow.h diff --git a/ObsoleteDemos/OpenGL/GL_ShapeDrawer.cpp b/Demos/OpenGL/GL_ShapeDrawer.cpp similarity index 100% rename from ObsoleteDemos/OpenGL/GL_ShapeDrawer.cpp rename to Demos/OpenGL/GL_ShapeDrawer.cpp diff --git a/ObsoleteDemos/OpenGL/GL_ShapeDrawer.h b/Demos/OpenGL/GL_ShapeDrawer.h similarity index 100% rename from ObsoleteDemos/OpenGL/GL_ShapeDrawer.h rename to Demos/OpenGL/GL_ShapeDrawer.h diff --git a/ObsoleteDemos/OpenGL/GL_Simplex1to4.cpp b/Demos/OpenGL/GL_Simplex1to4.cpp similarity index 100% rename from ObsoleteDemos/OpenGL/GL_Simplex1to4.cpp rename to Demos/OpenGL/GL_Simplex1to4.cpp diff --git a/ObsoleteDemos/OpenGL/GL_Simplex1to4.h b/Demos/OpenGL/GL_Simplex1to4.h similarity index 100% rename from ObsoleteDemos/OpenGL/GL_Simplex1to4.h rename to Demos/OpenGL/GL_Simplex1to4.h diff --git a/ObsoleteDemos/OpenGL/GlutDemoApplication.cpp b/Demos/OpenGL/GlutDemoApplication.cpp similarity index 100% rename from ObsoleteDemos/OpenGL/GlutDemoApplication.cpp rename to Demos/OpenGL/GlutDemoApplication.cpp diff --git a/ObsoleteDemos/OpenGL/GlutDemoApplication.h b/Demos/OpenGL/GlutDemoApplication.h similarity index 100% rename from ObsoleteDemos/OpenGL/GlutDemoApplication.h rename to Demos/OpenGL/GlutDemoApplication.h diff --git a/ObsoleteDemos/OpenGL/GlutStuff.cpp b/Demos/OpenGL/GlutStuff.cpp similarity index 100% rename from ObsoleteDemos/OpenGL/GlutStuff.cpp rename to Demos/OpenGL/GlutStuff.cpp diff --git a/ObsoleteDemos/OpenGL/GlutStuff.h b/Demos/OpenGL/GlutStuff.h similarity index 100% rename from ObsoleteDemos/OpenGL/GlutStuff.h rename to Demos/OpenGL/GlutStuff.h diff --git a/ObsoleteDemos/OpenGL/Makefile.am b/Demos/OpenGL/Makefile.am similarity index 100% rename from ObsoleteDemos/OpenGL/Makefile.am rename to Demos/OpenGL/Makefile.am diff --git a/ObsoleteDemos/OpenGL/RenderTexture.cpp b/Demos/OpenGL/RenderTexture.cpp similarity index 100% rename from ObsoleteDemos/OpenGL/RenderTexture.cpp rename to Demos/OpenGL/RenderTexture.cpp diff --git a/ObsoleteDemos/OpenGL/RenderTexture.h b/Demos/OpenGL/RenderTexture.h similarity index 100% rename from ObsoleteDemos/OpenGL/RenderTexture.h rename to Demos/OpenGL/RenderTexture.h diff --git a/ObsoleteDemos/OpenGL/Win32AppMain.cpp b/Demos/OpenGL/Win32AppMain.cpp similarity index 100% rename from ObsoleteDemos/OpenGL/Win32AppMain.cpp rename to Demos/OpenGL/Win32AppMain.cpp diff --git a/ObsoleteDemos/OpenGL/Win32DemoApplication.cpp b/Demos/OpenGL/Win32DemoApplication.cpp similarity index 100% rename from ObsoleteDemos/OpenGL/Win32DemoApplication.cpp rename to Demos/OpenGL/Win32DemoApplication.cpp diff --git a/ObsoleteDemos/OpenGL/Win32DemoApplication.h b/Demos/OpenGL/Win32DemoApplication.h similarity index 100% rename from ObsoleteDemos/OpenGL/Win32DemoApplication.h rename to Demos/OpenGL/Win32DemoApplication.h diff --git a/ObsoleteDemos/OpenGL/premake4.lua b/Demos/OpenGL/premake4.lua similarity index 100% rename from ObsoleteDemos/OpenGL/premake4.lua rename to Demos/OpenGL/premake4.lua diff --git a/ObsoleteDemos/OpenGL/stb_image.cpp b/Demos/OpenGL/stb_image.cpp similarity index 100% rename from ObsoleteDemos/OpenGL/stb_image.cpp rename to Demos/OpenGL/stb_image.cpp diff --git a/ObsoleteDemos/OpenGL/stb_image.h b/Demos/OpenGL/stb_image.h similarity index 100% rename from ObsoleteDemos/OpenGL/stb_image.h rename to Demos/OpenGL/stb_image.h diff --git a/ObsoleteDemos/OpenPL_Demo/CApi.cpp b/Demos/OpenPL_Demo/CApi.cpp similarity index 100% rename from ObsoleteDemos/OpenPL_Demo/CApi.cpp rename to Demos/OpenPL_Demo/CApi.cpp diff --git a/ObsoleteDemos/OpenPL_Demo/OpenPL_Demo.c b/Demos/OpenPL_Demo/OpenPL_Demo.c similarity index 100% rename from ObsoleteDemos/OpenPL_Demo/OpenPL_Demo.c rename to Demos/OpenPL_Demo/OpenPL_Demo.c diff --git a/ObsoleteDemos/RagdollDemo/CMakeLists.txt b/Demos/RagdollDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/RagdollDemo/CMakeLists.txt rename to Demos/RagdollDemo/CMakeLists.txt diff --git a/ObsoleteDemos/RagdollDemo/RagdollDemo.cpp b/Demos/RagdollDemo/RagdollDemo.cpp similarity index 100% rename from ObsoleteDemos/RagdollDemo/RagdollDemo.cpp rename to Demos/RagdollDemo/RagdollDemo.cpp diff --git a/ObsoleteDemos/RagdollDemo/RagdollDemo.h b/Demos/RagdollDemo/RagdollDemo.h similarity index 100% rename from ObsoleteDemos/RagdollDemo/RagdollDemo.h rename to Demos/RagdollDemo/RagdollDemo.h diff --git a/ObsoleteDemos/RagdollDemo/main.cpp b/Demos/RagdollDemo/main.cpp similarity index 100% rename from ObsoleteDemos/RagdollDemo/main.cpp rename to Demos/RagdollDemo/main.cpp diff --git a/ObsoleteDemos/RaytestDemo/CMakeLists.txt b/Demos/RaytestDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/RaytestDemo/CMakeLists.txt rename to Demos/RaytestDemo/CMakeLists.txt diff --git a/ObsoleteDemos/RaytestDemo/Makefile.am b/Demos/RaytestDemo/Makefile.am similarity index 100% rename from ObsoleteDemos/RaytestDemo/Makefile.am rename to Demos/RaytestDemo/Makefile.am diff --git a/ObsoleteDemos/RaytestDemo/RaytestDemo.cpp b/Demos/RaytestDemo/RaytestDemo.cpp similarity index 100% rename from ObsoleteDemos/RaytestDemo/RaytestDemo.cpp rename to Demos/RaytestDemo/RaytestDemo.cpp diff --git a/ObsoleteDemos/RaytestDemo/RaytestDemo.h b/Demos/RaytestDemo/RaytestDemo.h similarity index 100% rename from ObsoleteDemos/RaytestDemo/RaytestDemo.h rename to Demos/RaytestDemo/RaytestDemo.h diff --git a/ObsoleteDemos/RaytestDemo/Win32RaytestDemo.cpp b/Demos/RaytestDemo/Win32RaytestDemo.cpp similarity index 100% rename from ObsoleteDemos/RaytestDemo/Win32RaytestDemo.cpp rename to Demos/RaytestDemo/Win32RaytestDemo.cpp diff --git a/ObsoleteDemos/RaytestDemo/main.cpp b/Demos/RaytestDemo/main.cpp similarity index 100% rename from ObsoleteDemos/RaytestDemo/main.cpp rename to Demos/RaytestDemo/main.cpp diff --git a/ObsoleteDemos/Raytracer/CMakeLists.txt b/Demos/Raytracer/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/Raytracer/CMakeLists.txt rename to Demos/Raytracer/CMakeLists.txt diff --git a/ObsoleteDemos/Raytracer/Raytracer.cpp b/Demos/Raytracer/Raytracer.cpp similarity index 100% rename from ObsoleteDemos/Raytracer/Raytracer.cpp rename to Demos/Raytracer/Raytracer.cpp diff --git a/ObsoleteDemos/Raytracer/Raytracer.h b/Demos/Raytracer/Raytracer.h similarity index 100% rename from ObsoleteDemos/Raytracer/Raytracer.h rename to Demos/Raytracer/Raytracer.h diff --git a/ObsoleteDemos/Raytracer/main.cpp b/Demos/Raytracer/main.cpp similarity index 100% rename from ObsoleteDemos/Raytracer/main.cpp rename to Demos/Raytracer/main.cpp diff --git a/ObsoleteDemos/RollingFrictionDemo/CMakeLists.txt b/Demos/RollingFrictionDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/RollingFrictionDemo/CMakeLists.txt rename to Demos/RollingFrictionDemo/CMakeLists.txt diff --git a/ObsoleteDemos/RollingFrictionDemo/Makefile.am b/Demos/RollingFrictionDemo/Makefile.am similarity index 100% rename from ObsoleteDemos/RollingFrictionDemo/Makefile.am rename to Demos/RollingFrictionDemo/Makefile.am diff --git a/ObsoleteDemos/RollingFrictionDemo/RollingFrictionDemo.cpp b/Demos/RollingFrictionDemo/RollingFrictionDemo.cpp similarity index 100% rename from ObsoleteDemos/RollingFrictionDemo/RollingFrictionDemo.cpp rename to Demos/RollingFrictionDemo/RollingFrictionDemo.cpp diff --git a/ObsoleteDemos/RollingFrictionDemo/RollingFrictionDemo.h b/Demos/RollingFrictionDemo/RollingFrictionDemo.h similarity index 100% rename from ObsoleteDemos/RollingFrictionDemo/RollingFrictionDemo.h rename to Demos/RollingFrictionDemo/RollingFrictionDemo.h diff --git a/ObsoleteDemos/RollingFrictionDemo/Win32RollingFrictionDemo.cpp b/Demos/RollingFrictionDemo/Win32RollingFrictionDemo.cpp similarity index 100% rename from ObsoleteDemos/RollingFrictionDemo/Win32RollingFrictionDemo.cpp rename to Demos/RollingFrictionDemo/Win32RollingFrictionDemo.cpp diff --git a/ObsoleteDemos/RollingFrictionDemo/main.cpp b/Demos/RollingFrictionDemo/main.cpp similarity index 100% rename from ObsoleteDemos/RollingFrictionDemo/main.cpp rename to Demos/RollingFrictionDemo/main.cpp diff --git a/ObsoleteDemos/SerializeDemo/AMD/CMakeLists.txt b/Demos/SerializeDemo/AMD/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/SerializeDemo/AMD/CMakeLists.txt rename to Demos/SerializeDemo/AMD/CMakeLists.txt diff --git a/ObsoleteDemos/SerializeDemo/AMD/premake4.lua b/Demos/SerializeDemo/AMD/premake4.lua similarity index 100% rename from ObsoleteDemos/SerializeDemo/AMD/premake4.lua rename to Demos/SerializeDemo/AMD/premake4.lua diff --git a/ObsoleteDemos/SerializeDemo/CMakeLists.txt b/Demos/SerializeDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/SerializeDemo/CMakeLists.txt rename to Demos/SerializeDemo/CMakeLists.txt diff --git a/ObsoleteDemos/SerializeDemo/SerializeDemo.cpp b/Demos/SerializeDemo/SerializeDemo.cpp similarity index 96% rename from ObsoleteDemos/SerializeDemo/SerializeDemo.cpp rename to Demos/SerializeDemo/SerializeDemo.cpp index f98f1227d..d6deddf78 100644 --- a/ObsoleteDemos/SerializeDemo/SerializeDemo.cpp +++ b/Demos/SerializeDemo/SerializeDemo.cpp @@ -4,8 +4,8 @@ Copyright (c) 2003-2010 Erwin Coumans http://continuousphysics.com/Bullet/ This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it freely, +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. @@ -95,7 +95,7 @@ void SerializeDemo::keyboardCallback(unsigned char key, int x, int y) } if (minDist>0.) continue; - + btCollisionObject* colObj0 = (btCollisionObject*)manifold->getBody0(); btCollisionObject* colObj1 = (btCollisionObject*)manifold->getBody1(); // int tag0 = (colObj0)->getIslandTag(); @@ -133,13 +133,13 @@ void SerializeDemo::keyboardCallback(unsigned char key, int x, int y) for (int i=0;i<6;i++) dof6->setLimit(i,0,0); getDynamicsWorld()->addConstraint(dof6,true); - + } } } } - - } + + } for (int i=0;istepSimulation(ms / 1000000.f); - + #ifdef DESERIALIZE_SOFT_BODIES if (fSoftBodySolver) fSoftBodySolver->copyBackToSoftBodies(); @@ -192,8 +192,8 @@ void SerializeDemo::clientMoveAndDisplay() #endif //DESERIALIZE_SOFT_BODIES } - - renderme(); + + renderme(); glFlush(); @@ -209,7 +209,7 @@ class CachingCLFuncs : public CLFunctions public: - CachingCLFuncs (cl_command_queue cqCommandQue, cl_context cxMainContext, cl_device_id device) + CachingCLFuncs (cl_command_queue cqCommandQue, cl_context cxMainContext, cl_device_id device) :CLFunctions(cqCommandQue,cxMainContext), m_device(device) { @@ -220,14 +220,14 @@ class CachingCLFuncs : public CLFunctions cl_int pErrNum; cl_program prog; - + prog = btOpenCLUtils::compileCLProgramFromFile( m_cxMainContext,m_device, &pErrNum,additionalMacros ,srcFileNameForCaching); if (!prog) { printf("Using embedded kernel source instead:\n"); prog = btOpenCLUtils::compileCLProgramFromString( m_cxMainContext,m_device, kernelSource, &pErrNum,additionalMacros); } - + return btOpenCLUtils::compileCLKernelFromString( m_cxMainContext,m_device, kernelSource, kernelName, &pErrNum, prog,additionalMacros); } @@ -237,8 +237,8 @@ class CachingCLFuncs : public CLFunctions void SerializeDemo::displayCallback(void) { - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + if (m_dynamicsWorld->getWorldType()==BT_SOFT_RIGID_DYNAMICS_WORLD) { #ifdef DESERIALIZE_SOFT_BODIES @@ -293,7 +293,7 @@ void SerializeDemo::setupEmptyDynamicsWorld() btGImpactCollisionAlgorithm::registerAlgorithm(m_dispatcher); m_broadphase = new btDbvtBroadphase(); - + ///the default constraint solver. For parallel processing you can use a different solver (see Extras/BulletMultiThreaded) btSequentialImpulseConstraintSolver* sol = new btSequentialImpulseConstraintSolver; @@ -301,7 +301,7 @@ void SerializeDemo::setupEmptyDynamicsWorld() #ifdef DESERIALIZE_SOFT_BODIES - + #ifdef USE_AMD_OPENCL @@ -309,16 +309,16 @@ void SerializeDemo::setupEmptyDynamicsWorld() if ( 1 ) { switch (solverAccel) - { + { case kSolverAccelerationOpenCL_GPU: { btOpenCLSoftBodySolverSIMDAware* softSolv= new btOpenCLSoftBodySolverSIMDAware( g_cqCommandQue, g_cxMainContext ); //btOpenCLSoftBodySolver* softSolv= new btOpenCLSoftBodySolver( g_cqCommandQue, g_cxMainContext); fSoftBodySolver = softSolv; - + CLFunctions* funcs = new CachingCLFuncs(g_cqCommandQue, g_cxMainContext,g_cdDevice); softSolv->setCLFunctions(funcs); - + break; } @@ -334,21 +334,21 @@ void SerializeDemo::setupEmptyDynamicsWorld() } }; } - else + else { - if ( solverAccel != kSolverAccelerationNone ) + if ( solverAccel != kSolverAccelerationNone ) { } - else + else { } fSoftBodySolver = NULL; } #else - + fSoftBodySolver = NULL; #endif - + btSoftRigidDynamicsWorld* world = new btSoftRigidDynamicsWorld(m_dispatcher, m_broadphase, m_solver, m_collisionConfiguration, fSoftBodySolver); m_dynamicsWorld = world; @@ -380,7 +380,7 @@ class MySoftBulletWorldImporter : public btBulletWorldImporter btHashMap m_clusterBodyMap; btHashMap m_softBodyMap; - + public: @@ -394,7 +394,7 @@ public: virtual ~MySoftBulletWorldImporter() { - + } virtual bool convertAllObjects( bParse::btBulletFile* bulletFile2) @@ -413,8 +413,8 @@ public: btSoftBodyFloatData* softBodyData = (btSoftBodyFloatData*)bulletFile2->m_softBodies[i]; int i; int numNodes = softBodyData->m_numNodes; - - + + btSoftBody* psb=new btSoftBody(&m_softRigidWorld->getWorldInfo()); m_softBodyMap.insert(softBodyData,psb); @@ -462,11 +462,11 @@ public: { printf("no mat?\n"); } - + node->m_n.deSerializeFloat(nodeData.m_normal); node->m_q = node->m_x; node->m_v.deSerializeFloat(nodeData.m_velocity); - + } for (i=0;im_numLinks;i++) @@ -501,7 +501,7 @@ public: face->m_ra = faceData.m_restArea; } - + //anchors for (i=0;im_numAnchors;i++) @@ -526,7 +526,7 @@ public: psb->m_pose.m_bframe = (softBodyData->m_pose->m_bframe!=0); psb->m_pose.m_bvolume = (softBodyData->m_pose->m_bvolume!=0); psb->m_pose.m_com.deSerializeFloat(softBodyData->m_pose->m_com); - + psb->m_pose.m_pos.resize(softBodyData->m_pose->m_numPositions); for (i=0;im_pose->m_numPositions;i++) { @@ -547,7 +547,7 @@ public: psb->m_cfg.diterations=softBodyData->m_config.m_driftIterations; psb->m_cfg.citerations=softBodyData->m_config.m_clusterIterations; psb->m_cfg.viterations=softBodyData->m_config.m_velocityIterations; - + //psb->setTotalMass(0.1); psb->m_cfg.aeromodel = (btSoftBody::eAeroModel::_)softBodyData->m_config.m_aeroModel; psb->m_cfg.kLF = softBodyData->m_config.m_lift; @@ -619,7 +619,7 @@ public: psb->m_clusters[i]->m_selfCollisionImpulseFactor = softBodyData->m_clusters[i].m_selfCollisionImpulseFactor; psb->m_clusters[i]->m_vimpulses[0].deSerializeFloat(softBodyData->m_clusters[i].m_vimpulses[0]); psb->m_clusters[i]->m_vimpulses[1].deSerializeFloat(softBodyData->m_clusters[i].m_vimpulses[1]); - + } //psb->initializeClusters(); //psb->updateClusters(); @@ -641,7 +641,7 @@ public: psb->updateConstants(); m_softRigidWorld->getWorldInfo().m_dispatcher = m_softRigidWorld->getDispatcher(); - + m_softRigidWorld->addSoftBody(psb); @@ -742,7 +742,7 @@ m_fileName("testFile.bullet") SerializeDemo::~SerializeDemo() { m_fileLoader->deleteAllData(); - delete m_fileLoader; + delete m_fileLoader; exitPhysics(); } @@ -754,18 +754,39 @@ void SerializeDemo::initPhysics() setCameraDistance(btScalar(SCALING*30.)); setupEmptyDynamicsWorld(); - + #ifdef DESERIALIZE_SOFT_BODIES m_fileLoader = new MySoftBulletWorldImporter((btSoftRigidDynamicsWorld*)m_dynamicsWorld); #else m_fileLoader = new btBulletWorldImporter(m_dynamicsWorld); #endif //DESERIALIZE_SOFT_BODIES - + m_fileLoader->setVerboseMode(m_verboseMode); - + + const char* filename = "testFile.bullet"; + + const char* prefix[]={"./","../","../../","../../../","../../../../", "SerializeDemo/", "Demos/SerializeDemo/", + "../Demos/SerializeDemo/","../../Demos/SerializeDemo/"}; + int numPrefixes = sizeof(prefix)/sizeof(const char*); + char relativeFileName[1024]; + bool fileFound = false; + + for (int i=0;iloadFile("testFile.bullet", "testFileSwappedEndianness.bullet")) + + + if (!m_fileLoader->loadFile(relativeFileName, "testFileSwappedEndianness.bullet")) // if (!m_fileLoader->loadFile("../SoftDemo/testFile.bullet")) { ///create a few basic rigid bodies and save them to testFile.bullet @@ -773,7 +794,7 @@ void SerializeDemo::initPhysics() // btCollisionShape* groundShape = new btStaticPlaneShape(btVector3(0,1,0),50); btCollisionObject* groundObject = 0; - + m_collisionShapes.push_back(groundShape); btTransform groundTransform; @@ -846,12 +867,12 @@ void SerializeDemo::initPhysics() btScalar(20+2.0*k + start_y), btScalar(2.0*j + start_z))); - + //using motionstate is recommended, it provides interpolation capabilities, and only synchronizes 'active' objects btDefaultMotionState* myMotionState = new btDefaultMotionState(startTransform); btRigidBody::btRigidBodyConstructionInfo rbInfo(mass,myMotionState,colShape,localInertia); btRigidBody* body = new btRigidBody(rbInfo); - + m_dynamicsWorld->addRigidBody(body); //body->setActivationState(ISLAND_SLEEPING); } @@ -869,14 +890,14 @@ void SerializeDemo::initPhysics() for (int i=0;iregisterNameForPointer(m_collisionShapes[i],name); } btPoint2PointConstraint* p2p = new btPoint2PointConstraint(*(btRigidBody*)getDynamicsWorld()->getCollisionObjectArray()[2],btVector3(0,1,0)); m_dynamicsWorld->addConstraint(p2p); - + const char* name = "constraintje"; serializer->registerNameForPointer(p2p,name); @@ -892,7 +913,7 @@ void SerializeDemo::initPhysics() //clientResetScene(); } - + void SerializeDemo::exitPhysics() { @@ -931,16 +952,16 @@ void SerializeDemo::exitPhysics() m_collisionShapes.clear(); delete m_dynamicsWorld; - + delete m_solver; - + delete m_broadphase; - + delete m_dispatcher; delete m_collisionConfiguration; - + } diff --git a/ObsoleteDemos/SerializeDemo/SerializeDemo.h b/Demos/SerializeDemo/SerializeDemo.h similarity index 100% rename from ObsoleteDemos/SerializeDemo/SerializeDemo.h rename to Demos/SerializeDemo/SerializeDemo.h diff --git a/ObsoleteDemos/SerializeDemo/Win32SerializeDemo.cpp b/Demos/SerializeDemo/Win32SerializeDemo.cpp similarity index 100% rename from ObsoleteDemos/SerializeDemo/Win32SerializeDemo.cpp rename to Demos/SerializeDemo/Win32SerializeDemo.cpp diff --git a/ObsoleteDemos/SerializeDemo/main.cpp b/Demos/SerializeDemo/main.cpp similarity index 100% rename from ObsoleteDemos/SerializeDemo/main.cpp rename to Demos/SerializeDemo/main.cpp diff --git a/ObsoleteDemos/SerializeDemo/testFile.bullet b/Demos/SerializeDemo/testFile.bullet similarity index 100% rename from ObsoleteDemos/SerializeDemo/testFile.bullet rename to Demos/SerializeDemo/testFile.bullet diff --git a/ObsoleteDemos/SerializeDemo/testFileCloth.bullet b/Demos/SerializeDemo/testFileCloth.bullet similarity index 100% rename from ObsoleteDemos/SerializeDemo/testFileCloth.bullet rename to Demos/SerializeDemo/testFileCloth.bullet diff --git a/ObsoleteDemos/SimplexDemo/CMakeLists.txt b/Demos/SimplexDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/SimplexDemo/CMakeLists.txt rename to Demos/SimplexDemo/CMakeLists.txt diff --git a/ObsoleteDemos/SimplexDemo/SimplexDemo.cpp b/Demos/SimplexDemo/SimplexDemo.cpp similarity index 100% rename from ObsoleteDemos/SimplexDemo/SimplexDemo.cpp rename to Demos/SimplexDemo/SimplexDemo.cpp diff --git a/ObsoleteDemos/SimplexDemo/SimplexDemo.h b/Demos/SimplexDemo/SimplexDemo.h similarity index 100% rename from ObsoleteDemos/SimplexDemo/SimplexDemo.h rename to Demos/SimplexDemo/SimplexDemo.h diff --git a/ObsoleteDemos/SliderConstraintDemo/CMakeLists.txt b/Demos/SliderConstraintDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/SliderConstraintDemo/CMakeLists.txt rename to Demos/SliderConstraintDemo/CMakeLists.txt diff --git a/ObsoleteDemos/SliderConstraintDemo/SliderConstraintDemo.cpp b/Demos/SliderConstraintDemo/SliderConstraintDemo.cpp similarity index 100% rename from ObsoleteDemos/SliderConstraintDemo/SliderConstraintDemo.cpp rename to Demos/SliderConstraintDemo/SliderConstraintDemo.cpp diff --git a/ObsoleteDemos/SliderConstraintDemo/SliderConstraintDemo.h b/Demos/SliderConstraintDemo/SliderConstraintDemo.h similarity index 100% rename from ObsoleteDemos/SliderConstraintDemo/SliderConstraintDemo.h rename to Demos/SliderConstraintDemo/SliderConstraintDemo.h diff --git a/ObsoleteDemos/SliderConstraintDemo/main.cpp b/Demos/SliderConstraintDemo/main.cpp similarity index 100% rename from ObsoleteDemos/SliderConstraintDemo/main.cpp rename to Demos/SliderConstraintDemo/main.cpp diff --git a/ObsoleteDemos/SoftDemo/AMD/premake4.lua b/Demos/SoftDemo/AMD/premake4.lua similarity index 100% rename from ObsoleteDemos/SoftDemo/AMD/premake4.lua rename to Demos/SoftDemo/AMD/premake4.lua diff --git a/ObsoleteDemos/SoftDemo/CMakeLists.txt b/Demos/SoftDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/SoftDemo/CMakeLists.txt rename to Demos/SoftDemo/CMakeLists.txt diff --git a/ObsoleteDemos/SoftDemo/Makefile.am b/Demos/SoftDemo/Makefile.am similarity index 100% rename from ObsoleteDemos/SoftDemo/Makefile.am rename to Demos/SoftDemo/Makefile.am diff --git a/ObsoleteDemos/SoftDemo/SoftDemo.cpp b/Demos/SoftDemo/SoftDemo.cpp similarity index 100% rename from ObsoleteDemos/SoftDemo/SoftDemo.cpp rename to Demos/SoftDemo/SoftDemo.cpp diff --git a/ObsoleteDemos/SoftDemo/SoftDemo.h b/Demos/SoftDemo/SoftDemo.h similarity index 100% rename from ObsoleteDemos/SoftDemo/SoftDemo.h rename to Demos/SoftDemo/SoftDemo.h diff --git a/ObsoleteDemos/SoftDemo/bunny.inl b/Demos/SoftDemo/bunny.inl similarity index 100% rename from ObsoleteDemos/SoftDemo/bunny.inl rename to Demos/SoftDemo/bunny.inl diff --git a/ObsoleteDemos/SoftDemo/cube.inl b/Demos/SoftDemo/cube.inl similarity index 100% rename from ObsoleteDemos/SoftDemo/cube.inl rename to Demos/SoftDemo/cube.inl diff --git a/ObsoleteDemos/SoftDemo/main.cpp b/Demos/SoftDemo/main.cpp similarity index 100% rename from ObsoleteDemos/SoftDemo/main.cpp rename to Demos/SoftDemo/main.cpp diff --git a/ObsoleteDemos/TerrainDemo/Makefile.am b/Demos/TerrainDemo/Makefile.am similarity index 100% rename from ObsoleteDemos/TerrainDemo/Makefile.am rename to Demos/TerrainDemo/Makefile.am diff --git a/ObsoleteDemos/TerrainDemo/TerrainDemo.cpp b/Demos/TerrainDemo/TerrainDemo.cpp similarity index 100% rename from ObsoleteDemos/TerrainDemo/TerrainDemo.cpp rename to Demos/TerrainDemo/TerrainDemo.cpp diff --git a/ObsoleteDemos/TerrainDemo/TerrainDemo.h b/Demos/TerrainDemo/TerrainDemo.h similarity index 100% rename from ObsoleteDemos/TerrainDemo/TerrainDemo.h rename to Demos/TerrainDemo/TerrainDemo.h diff --git a/ObsoleteDemos/TerrainDemo/main.cpp b/Demos/TerrainDemo/main.cpp similarity index 100% rename from ObsoleteDemos/TerrainDemo/main.cpp rename to Demos/TerrainDemo/main.cpp diff --git a/ObsoleteDemos/ThreadingDemo/CMakeLists.txt b/Demos/ThreadingDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/ThreadingDemo/CMakeLists.txt rename to Demos/ThreadingDemo/CMakeLists.txt diff --git a/ObsoleteDemos/ThreadingDemo/main.cpp b/Demos/ThreadingDemo/main.cpp similarity index 100% rename from ObsoleteDemos/ThreadingDemo/main.cpp rename to Demos/ThreadingDemo/main.cpp diff --git a/ObsoleteDemos/UserCollisionAlgorithm/CMakeLists.txt b/Demos/UserCollisionAlgorithm/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/UserCollisionAlgorithm/CMakeLists.txt rename to Demos/UserCollisionAlgorithm/CMakeLists.txt diff --git a/ObsoleteDemos/UserCollisionAlgorithm/UserCollisionAlgorithm.cpp b/Demos/UserCollisionAlgorithm/UserCollisionAlgorithm.cpp similarity index 100% rename from ObsoleteDemos/UserCollisionAlgorithm/UserCollisionAlgorithm.cpp rename to Demos/UserCollisionAlgorithm/UserCollisionAlgorithm.cpp diff --git a/ObsoleteDemos/UserCollisionAlgorithm/UserCollisionAlgorithm.h b/Demos/UserCollisionAlgorithm/UserCollisionAlgorithm.h similarity index 100% rename from ObsoleteDemos/UserCollisionAlgorithm/UserCollisionAlgorithm.h rename to Demos/UserCollisionAlgorithm/UserCollisionAlgorithm.h diff --git a/ObsoleteDemos/VehicleDemo/CMakeLists.txt b/Demos/VehicleDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/VehicleDemo/CMakeLists.txt rename to Demos/VehicleDemo/CMakeLists.txt diff --git a/ObsoleteDemos/VehicleDemo/Makefile.am b/Demos/VehicleDemo/Makefile.am similarity index 100% rename from ObsoleteDemos/VehicleDemo/Makefile.am rename to Demos/VehicleDemo/Makefile.am diff --git a/ObsoleteDemos/VehicleDemo/VehicleDemo.cpp b/Demos/VehicleDemo/VehicleDemo.cpp similarity index 100% rename from ObsoleteDemos/VehicleDemo/VehicleDemo.cpp rename to Demos/VehicleDemo/VehicleDemo.cpp diff --git a/ObsoleteDemos/VehicleDemo/VehicleDemo.h b/Demos/VehicleDemo/VehicleDemo.h similarity index 100% rename from ObsoleteDemos/VehicleDemo/VehicleDemo.h rename to Demos/VehicleDemo/VehicleDemo.h diff --git a/ObsoleteDemos/VehicleDemo/heightfield128x128.cpp b/Demos/VehicleDemo/heightfield128x128.cpp similarity index 100% rename from ObsoleteDemos/VehicleDemo/heightfield128x128.cpp rename to Demos/VehicleDemo/heightfield128x128.cpp diff --git a/ObsoleteDemos/VehicleDemo/main.cpp b/Demos/VehicleDemo/main.cpp similarity index 100% rename from ObsoleteDemos/VehicleDemo/main.cpp rename to Demos/VehicleDemo/main.cpp diff --git a/ObsoleteDemos/VoronoiFractureDemo/CMakeLists.txt b/Demos/VoronoiFractureDemo/CMakeLists.txt similarity index 100% rename from ObsoleteDemos/VoronoiFractureDemo/CMakeLists.txt rename to Demos/VoronoiFractureDemo/CMakeLists.txt diff --git a/ObsoleteDemos/VoronoiFractureDemo/Makefile.am b/Demos/VoronoiFractureDemo/Makefile.am similarity index 100% rename from ObsoleteDemos/VoronoiFractureDemo/Makefile.am rename to Demos/VoronoiFractureDemo/Makefile.am diff --git a/ObsoleteDemos/VoronoiFractureDemo/VoronoiFractureDemo.cpp b/Demos/VoronoiFractureDemo/VoronoiFractureDemo.cpp similarity index 100% rename from ObsoleteDemos/VoronoiFractureDemo/VoronoiFractureDemo.cpp rename to Demos/VoronoiFractureDemo/VoronoiFractureDemo.cpp diff --git a/ObsoleteDemos/VoronoiFractureDemo/VoronoiFractureDemo.h b/Demos/VoronoiFractureDemo/VoronoiFractureDemo.h similarity index 100% rename from ObsoleteDemos/VoronoiFractureDemo/VoronoiFractureDemo.h rename to Demos/VoronoiFractureDemo/VoronoiFractureDemo.h diff --git a/ObsoleteDemos/VoronoiFractureDemo/Win32VoronoiFractureDemo.cpp b/Demos/VoronoiFractureDemo/Win32VoronoiFractureDemo.cpp similarity index 100% rename from ObsoleteDemos/VoronoiFractureDemo/Win32VoronoiFractureDemo.cpp rename to Demos/VoronoiFractureDemo/Win32VoronoiFractureDemo.cpp diff --git a/ObsoleteDemos/VoronoiFractureDemo/main.cpp b/Demos/VoronoiFractureDemo/main.cpp similarity index 100% rename from ObsoleteDemos/VoronoiFractureDemo/main.cpp rename to Demos/VoronoiFractureDemo/main.cpp diff --git a/ObsoleteDemos/premake4.lua b/Demos/premake4.lua similarity index 100% rename from ObsoleteDemos/premake4.lua rename to Demos/premake4.lua diff --git a/Demos3/CMakeLists.txt b/Demos3/CMakeLists.txt index aaa6a1713..b1f54a968 100644 --- a/Demos3/CMakeLists.txt +++ b/Demos3/CMakeLists.txt @@ -1,2 +1,3 @@ -SUBDIRS( GpuDemos SimpleOpenGL3 AllBullet2Demos ) -#SUBDIRS( SimpleOpenGL3 AllBullet2Demos ) +if (BUILD_BULLET3) + SUBDIRS( AllBullet2Demos GpuDemos SimpleOpenGL3 ) +endif(BUILD_BULLET3) diff --git a/Demos3/ImplicitCloth/stan/Cloth.cpp b/Demos3/ImplicitCloth/stan/Cloth.cpp index e713f8eec..35859e686 100644 --- a/Demos3/ImplicitCloth/stan/Cloth.cpp +++ b/Demos3/ImplicitCloth/stan/Cloth.cpp @@ -66,7 +66,7 @@ int cloth_tess = 20; float3 cloth_spawnpoint(0,3,5.0f); - +/* static void ClothDrawSprings(Cloth *cloth) { static const float3 color[3]={float3(1,1,0),float3(1,0,1),float3(0,1,1)}; @@ -78,7 +78,7 @@ static void ClothDrawSprings(Cloth *cloth) Line(X[s.a],X[s.b],color[s.type]); } } - +*/ int cloth_showsprings=0; void DoCloths() @@ -93,4 +93,4 @@ void DoCloths() // ClothDrawSprings(cloth); // debug visualization } -} \ No newline at end of file +} diff --git a/Extras/CMakeLists.txt b/Extras/CMakeLists.txt index a92f64720..24fc0f159 100644 --- a/Extras/CMakeLists.txt +++ b/Extras/CMakeLists.txt @@ -2,6 +2,6 @@ SUBDIRS( Serialize ConvexDecomposition HACD GIMPACTUtils ) #Maya Dynamica plugin is moved to http://dynamica.googlecode.com -IF (USE_GLUT AND GLUT_FOUND) - SUBDIRS (glui) -ENDIF () +#IF (USE_GLUT AND GLUT_FOUND) +# SUBDIRS (glui) +#ENDIF () diff --git a/btgui/OpenGLWindow/GLInstancingRenderer.cpp b/btgui/OpenGLWindow/GLInstancingRenderer.cpp index 9fdc05848..b5e96ab3c 100644 --- a/btgui/OpenGLWindow/GLInstancingRenderer.cpp +++ b/btgui/OpenGLWindow/GLInstancingRenderer.cpp @@ -16,9 +16,9 @@ subject to the following restrictions: ///todo: make this configurable in the gui bool useShadowMap=true; -float shadowMapWidth=8192; -float shadowMapHeight=8192; -float shadowMapWorldSize=100; +float shadowMapWidth=16384; +float shadowMapHeight=16384; +float shadowMapWorldSize=1000; float WHEEL_MULTIPLIER=0.01f; float MOUSE_MOVE_MULTIPLIER = 0.4f; #define MAX_POINTS_IN_BATCH 1024 diff --git a/data/testFile.bullet b/data/testFile.bullet deleted file mode 100644 index a444865a1..000000000 Binary files a/data/testFile.bullet and /dev/null differ diff --git a/data/testFileFracture.bullet b/data/testFileFracture.bullet index 1413f2d7c..ae161a54c 100644 Binary files a/data/testFileFracture.bullet and b/data/testFileFracture.bullet differ