From cd20bc490d3e71d7aa74746c1e283914ac47cc76 Mon Sep 17 00:00:00 2001 From: Dane Johnson Date: Mon, 25 Jan 2021 15:17:32 -0600 Subject: [PATCH] Added more collision shapes and rigidbody driving --- core/CollisionShape.cpp | 17 + core/CollisionShape.h | 32 + core/Material.cpp | 12 - core/Material.h | 6 +- core/Rigidbody.cpp | 28 +- core/Rigidbody.h | 9 + demo/capsule.mtl | 10 + demo/capsule.obj | 2365 +++++++++++++++++++++++++++++++++++++++ demo/main.lua | 47 +- scripting/couch.i | 2 + 10 files changed, 2499 insertions(+), 29 deletions(-) create mode 100644 core/CollisionShape.cpp create mode 100644 core/CollisionShape.h create mode 100644 demo/capsule.mtl create mode 100644 demo/capsule.obj diff --git a/core/CollisionShape.cpp b/core/CollisionShape.cpp new file mode 100644 index 0000000..e985733 --- /dev/null +++ b/core/CollisionShape.cpp @@ -0,0 +1,17 @@ +#include "CollisionShape.h" + +CollisionShape::CollisionShape() { + shape = nullptr; +} + +SphereCollisionShape::SphereCollisionShape(cfloat radius) { + shape = new btSphereShape(radius); +} + +BoxCollisionShape::BoxCollisionShape(cfloat width, cfloat height, cfloat depth) { + shape = new btBoxShape(btVector3(width / 2.0f, height / 2.0f, depth / 2.0f)); +} + +CapsuleCollisionShape::CapsuleCollisionShape(cfloat radius, cfloat height) { + shape = new btCapsuleShape(radius, height); +} diff --git a/core/CollisionShape.h b/core/CollisionShape.h new file mode 100644 index 0000000..d487c3a --- /dev/null +++ b/core/CollisionShape.h @@ -0,0 +1,32 @@ +#ifndef COLLISIONSHAPE_H +#define COLLISIONSHAPE_H + +#include + +#include "types.h" + +class CollisionShape { +public: + CollisionShape(); +protected: + btCollisionShape *shape; +private: + friend class Rigidbody; +}; + +class SphereCollisionShape : public CollisionShape { +public: + SphereCollisionShape(cfloat radius); +}; + +class BoxCollisionShape : public CollisionShape { +public: + BoxCollisionShape(cfloat width, cfloat height, cfloat depth); +}; + +class CapsuleCollisionShape: public CollisionShape { +public: + CapsuleCollisionShape(cfloat radius, cfloat height); +}; + +#endif /* COLLISIONSHAPE_H */ diff --git a/core/Material.cpp b/core/Material.cpp index a8ca3f9..e922c86 100644 --- a/core/Material.cpp +++ b/core/Material.cpp @@ -1,17 +1,5 @@ #include "Material.h" -Color::Color() { - this->r = 0.0f; - this->g = 0.0f; - this->b = 0.0f; -} - -Color::Color(cfloat r, cfloat g, cfloat b) { - this->r = r; - this->g = g; - this->b = b; -} - Texture::Texture() {} Texture Texture::FromFile(const char *filename) { diff --git a/core/Material.h b/core/Material.h index a53680a..de9e00b 100644 --- a/core/Material.h +++ b/core/Material.h @@ -7,11 +7,7 @@ #include "types.h" #include "Util.h" -struct Color { - cfloat r, g, b; - Color(); - Color(cfloat r, cfloat g, cfloat b); -}; +typedef Vector3 Color; class Texture { public: diff --git a/core/Rigidbody.cpp b/core/Rigidbody.cpp index d33c011..8b707d9 100644 --- a/core/Rigidbody.cpp +++ b/core/Rigidbody.cpp @@ -1,7 +1,9 @@ #include "Rigidbody.h" #include "World.h" -Rigidbody::Rigidbody() {} +Rigidbody::Rigidbody() { + collisionShape = new btSphereShape(1.0f); +} Rigidbody *Rigidbody::Create() { return new Rigidbody; @@ -19,9 +21,9 @@ Rigidbody *Rigidbody::Duplicate() { Rigidbody *Rigidbody::Instance() { Rigidbody *rigidbody = static_cast(Node::Instance()); - rigidbody->collisionShape = new btSphereShape(1.0f); + rigidbody->collisionShape = collisionShape; rigidbody->btBody = new btRigidBody(rigidbody->mass, new RigidbodyMotionState(rigidbody), rigidbody->collisionShape); - assert(rigidbody); + rigidbody->btBody->setAngularFactor(character ? 0.0f : 1.0f); World *world = World::GetWorld(); world->AddRigidbody(rigidbody); @@ -29,6 +31,26 @@ Rigidbody *Rigidbody::Instance() { return rigidbody; } +void Rigidbody::SetCollisionShape(CollisionShape collisionShape) { + if (this->collisionShape) { + delete this->collisionShape; + } + this->collisionShape = collisionShape.shape; +} + +void Rigidbody::ApplyImpulse(Vector3 impulse) { + btBody->applyCentralImpulse(btVector3(impulse.x, impulse.y, impulse.z)); +} + +void Rigidbody::ApplyForce(Vector3 force) { + btBody->applyCentralForce(btVector3(force.x, force.y, force.z)); +} + +void Rigidbody::SetCharacter(bool character) { + this->character = character; +} + + RigidbodyMotionState::RigidbodyMotionState(Rigidbody *rigidbody) { this->rigidbody = rigidbody; } diff --git a/core/Rigidbody.h b/core/Rigidbody.h index 34f6b17..99f5618 100644 --- a/core/Rigidbody.h +++ b/core/Rigidbody.h @@ -5,6 +5,7 @@ #include "types.h" #include "Spatial.h" +#include "CollisionShape.h" class Rigidbody : public Spatial { public: @@ -12,8 +13,16 @@ public: virtual Rigidbody *Create(); virtual Rigidbody *Duplicate(); virtual Rigidbody *Instance(); + + void SetCollisionShape(CollisionShape collisionShape); cfloat mass = 1.0f; + + void ApplyImpulse(Vector3 impulse); + void ApplyForce(Vector3 force); + + void SetCharacter(bool character); private: + bool character = false; btRigidBody *btBody; btCollisionShape *collisionShape; friend class World; diff --git a/demo/capsule.mtl b/demo/capsule.mtl new file mode 100644 index 0000000..f231bdf --- /dev/null +++ b/demo/capsule.mtl @@ -0,0 +1,10 @@ +# Blender MTL File: 'None' +# Material Count: 1 + +newmtl None +Ns 500 +Ka 0.8 0.8 0.8 +Kd 0.8 0.8 0.8 +Ks 0.8 0.8 0.8 +d 1 +illum 2 diff --git a/demo/capsule.obj b/demo/capsule.obj new file mode 100644 index 0000000..e0824be --- /dev/null +++ b/demo/capsule.obj @@ -0,0 +1,2365 @@ +# Blender v2.91.0 OBJ File: '' +# www.blender.org +mtllib capsule.mtl +o Cylinder +v 0.555570 1.000000 -0.831470 +v 0.980785 1.000000 0.195090 +v 0.707107 1.000000 0.707107 +v 0.382683 1.000000 0.923880 +v -0.555571 1.000000 0.831469 +v -0.980785 1.000000 0.195089 +v 0.000000 1.975911 -0.195090 +v 0.000000 1.919006 -0.382683 +v 0.000000 1.826596 -0.555570 +v 0.000000 1.702233 -0.707107 +v 0.000000 1.550696 -0.831470 +v 0.000000 1.377810 -0.923880 +v 0.000000 1.190216 -0.980785 +v 0.000000 0.995126 -1.000000 +v 0.038060 1.975911 -0.191342 +v 0.074658 1.919006 -0.375330 +v 0.108386 1.826596 -0.544895 +v 0.137950 1.702233 -0.693520 +v 0.162212 1.550696 -0.815493 +v 0.180240 1.377810 -0.906127 +v 0.191342 1.190216 -0.961940 +v 0.195090 0.995126 -0.980785 +v 0.074658 1.975911 -0.180240 +v 0.146447 1.919006 -0.353553 +v 0.212608 1.826596 -0.513280 +v 0.270598 1.702233 -0.653281 +v 0.318190 1.550696 -0.768178 +v 0.353553 1.377810 -0.853553 +v 0.375330 1.190216 -0.906127 +v 0.382684 0.995126 -0.923879 +v 0.108387 1.975911 -0.162212 +v 0.212608 1.919006 -0.318190 +v 0.308658 1.826596 -0.461940 +v 0.392848 1.702233 -0.587938 +v 0.461940 1.550696 -0.691342 +v 0.513280 1.377810 -0.768178 +v 0.544895 1.190216 -0.815493 +v 0.137950 1.975911 -0.137950 +v 0.270598 1.919006 -0.270598 +v 0.392848 1.826596 -0.392847 +v 0.500000 1.702233 -0.500000 +v 0.587938 1.550696 -0.587938 +v 0.653282 1.377810 -0.653281 +v 0.693520 1.190216 -0.693520 +v 0.707107 0.995126 -0.707107 +v 0.162212 1.975911 -0.108386 +v 0.318190 1.919006 -0.212607 +v 0.461940 1.826596 -0.308658 +v 0.587938 1.702233 -0.392847 +v 0.691342 1.550696 -0.461940 +v 0.768178 1.377810 -0.513280 +v 0.815493 1.190216 -0.544895 +v 0.831470 0.995126 -0.555570 +v 0.180240 1.975911 -0.074658 +v 0.353554 1.919006 -0.146446 +v 0.513280 1.826596 -0.212607 +v 0.653282 1.702233 -0.270598 +v 0.768178 1.550696 -0.318189 +v 0.853554 1.377810 -0.353553 +v 0.906128 1.190216 -0.375330 +v 0.923880 0.995126 -0.382683 +v 0.191342 1.975911 -0.038060 +v 0.375331 1.919006 -0.074658 +v 0.544895 1.826596 -0.108386 +v 0.693520 1.702233 -0.137949 +v 0.815493 1.550696 -0.162211 +v 0.906128 1.377810 -0.180240 +v 0.961940 1.190216 -0.191341 +v 0.980785 0.995126 -0.195090 +v 0.195091 1.975911 0.000000 +v 0.382684 1.919006 0.000000 +v 0.555570 1.826596 0.000000 +v 0.707107 1.702233 0.000000 +v 0.831470 1.550696 0.000000 +v 0.923880 1.377810 0.000000 +v 0.980785 1.190216 0.000000 +v 1.000000 0.995126 0.000000 +v 0.191342 1.975911 0.038061 +v 0.375331 1.919006 0.074658 +v 0.544895 1.826596 0.108387 +v 0.693520 1.702233 0.137950 +v 0.815493 1.550696 0.162212 +v 0.906128 1.377810 0.180240 +v 0.961940 1.190216 0.191342 +v 0.180240 1.975911 0.074658 +v 0.353554 1.919006 0.146447 +v 0.513280 1.826596 0.212608 +v 0.653282 1.702233 0.270598 +v 0.768178 1.550696 0.318190 +v 0.853554 1.377810 0.353554 +v 0.906127 1.190216 0.375331 +v 0.923880 0.995126 0.382684 +v 0.162212 1.975911 0.108387 +v 0.318190 1.919006 0.212608 +v 0.461940 1.826596 0.308659 +v 0.587938 1.702233 0.392848 +v 0.691342 1.550696 0.461940 +v 0.768178 1.377810 0.513280 +v 0.815493 1.190216 0.544895 +v 0.831470 0.995126 0.555571 +v 0.137950 1.975911 0.137950 +v 0.270598 1.919006 0.270599 +v 0.392848 1.826596 0.392848 +v 0.500000 1.702233 0.500000 +v 0.587938 1.550696 0.587938 +v 0.653282 1.377810 0.653282 +v 0.693520 1.190216 0.693520 +v 0.108386 1.975911 0.162212 +v 0.212608 1.919006 0.318190 +v 0.308658 1.826596 0.461940 +v 0.392848 1.702233 0.587938 +v 0.461940 1.550696 0.691342 +v 0.513280 1.377810 0.768178 +v 0.544895 1.190216 0.815493 +v 0.555570 0.995126 0.831470 +v 0.074658 1.975911 0.180240 +v 0.146447 1.919006 0.353554 +v 0.212608 1.826596 0.513280 +v 0.270598 1.702233 0.653282 +v 0.318190 1.550696 0.768178 +v 0.353553 1.377810 0.853554 +v 0.375330 1.190216 0.906128 +v 0.038060 1.975911 0.191342 +v 0.074658 1.919006 0.375331 +v 0.108386 1.826596 0.544896 +v 0.137950 1.702233 0.693520 +v 0.162212 1.550696 0.815493 +v 0.180240 1.377810 0.906128 +v 0.191342 1.190216 0.961940 +v 0.195090 0.995126 0.980786 +v -0.000000 1.975911 0.195091 +v 0.000000 1.919006 0.382684 +v 0.000000 1.826596 0.555571 +v -0.000000 1.702233 0.707107 +v -0.000000 1.550696 0.831470 +v 0.000000 1.377810 0.923880 +v -0.000000 1.190216 0.980785 +v -0.000000 0.995126 1.000000 +v -0.038060 1.975911 0.191342 +v -0.074658 1.919006 0.375331 +v -0.108386 1.826596 0.544896 +v -0.137950 1.702233 0.693520 +v -0.162212 1.550696 0.815493 +v -0.180240 1.377810 0.906128 +v -0.191342 1.190216 0.961940 +v -0.195090 0.995126 0.980786 +v -0.074658 1.975911 0.180240 +v -0.146447 1.919006 0.353554 +v -0.212608 1.826596 0.513280 +v -0.270598 1.702233 0.653282 +v -0.318190 1.550696 0.768178 +v -0.353553 1.377810 0.853554 +v -0.375330 1.190216 0.906127 +v -0.382684 0.995126 0.923880 +v -0.108386 1.975911 0.162212 +v -0.212608 1.919006 0.318190 +v -0.308658 1.826596 0.461940 +v -0.392847 1.702233 0.587938 +v -0.461940 1.550696 0.691342 +v -0.513280 1.377810 0.768178 +v -0.544895 1.190216 0.815493 +v -0.000000 1.995126 0.000001 +v -0.137950 1.975911 0.137950 +v -0.270598 1.919006 0.270598 +v -0.392848 1.826596 0.392848 +v -0.500000 1.702233 0.500000 +v -0.587938 1.550696 0.587938 +v -0.653281 1.377810 0.653282 +v -0.693520 1.190216 0.693520 +v -0.707107 0.995126 0.707107 +v -0.162212 1.975911 0.108387 +v -0.318190 1.919006 0.212608 +v -0.461940 1.826596 0.308659 +v -0.587938 1.702233 0.392848 +v -0.691342 1.550696 0.461940 +v -0.768178 1.377810 0.513280 +v -0.815493 1.190216 0.544895 +v -0.831470 0.995126 0.555570 +v -0.180240 1.975911 0.074658 +v -0.353553 1.919006 0.146447 +v -0.513280 1.826596 0.212608 +v -0.653281 1.702233 0.270598 +v -0.768177 1.550696 0.318190 +v -0.853553 1.377810 0.353554 +v -0.906127 1.190216 0.375330 +v -0.923880 0.995126 0.382684 +v -0.191342 1.975911 0.038061 +v -0.375330 1.919006 0.074658 +v -0.544895 1.826596 0.108387 +v -0.693520 1.702233 0.137950 +v -0.815493 1.550696 0.162212 +v -0.906127 1.377810 0.180240 +v -0.961939 1.190216 0.191342 +v -0.195090 1.975911 0.000000 +v -0.382683 1.919006 0.000000 +v -0.555570 1.826596 0.000000 +v -0.707107 1.702233 0.000000 +v -0.831469 1.550696 0.000000 +v -0.923879 1.377810 0.000000 +v -0.980785 1.190216 0.000000 +v -1.000000 0.995126 0.000000 +v -0.191342 1.975911 -0.038060 +v -0.375330 1.919006 -0.074658 +v -0.544895 1.826596 -0.108386 +v -0.693520 1.702233 -0.137949 +v -0.815493 1.550696 -0.162211 +v -0.906127 1.377810 -0.180240 +v -0.961939 1.190216 -0.191342 +v -0.980785 0.995126 -0.195090 +v -0.180240 1.975911 -0.074658 +v -0.353553 1.919006 -0.146446 +v -0.513280 1.826596 -0.212607 +v -0.653281 1.702233 -0.270598 +v -0.768177 1.550696 -0.318189 +v -0.853553 1.377810 -0.353553 +v -0.906127 1.190216 -0.375330 +v -0.923879 0.995126 -0.382683 +v -0.162212 1.975911 -0.108386 +v -0.318190 1.919006 -0.212607 +v -0.461940 1.826596 -0.308658 +v -0.587938 1.702233 -0.392847 +v -0.691341 1.550696 -0.461939 +v -0.768178 1.377810 -0.513280 +v -0.815493 1.190216 -0.544895 +v -0.831469 0.995126 -0.555570 +v -0.137950 1.975911 -0.137949 +v -0.270598 1.919006 -0.270598 +v -0.392847 1.826596 -0.392847 +v -0.500000 1.702233 -0.500000 +v -0.587937 1.550696 -0.587937 +v -0.653281 1.377810 -0.653281 +v -0.693519 1.190216 -0.693519 +v -0.707106 0.995126 -0.707106 +v -0.108386 1.975911 -0.162211 +v -0.212607 1.919006 -0.318189 +v -0.308658 1.826596 -0.461939 +v -0.392847 1.702233 -0.587937 +v -0.461939 1.550696 -0.691341 +v -0.513280 1.377810 -0.768177 +v -0.544895 1.190216 -0.815492 +v -0.555570 0.995126 -0.831469 +v -0.074658 1.975911 -0.180240 +v -0.146447 1.919006 -0.353553 +v -0.212607 1.826596 -0.513280 +v -0.270598 1.702233 -0.653281 +v -0.318189 1.550696 -0.768177 +v -0.353553 1.377810 -0.853553 +v -0.375330 1.190216 -0.906127 +v -0.382683 0.995126 -0.923879 +v -0.038060 1.975911 -0.191342 +v -0.074658 1.919006 -0.375330 +v -0.108386 1.826596 -0.544895 +v -0.137950 1.702233 -0.693520 +v -0.162211 1.550696 -0.815492 +v -0.180240 1.377810 -0.906127 +v -0.191341 1.190216 -0.961939 +v -0.195090 0.995126 -0.980785 +v 0.000000 0.000000 -1.000000 +v 0.195090 0.000000 -0.980785 +v 0.382683 0.000000 -0.923880 +v 0.555570 0.000000 -0.831470 +v 0.555570 -1.000000 -0.831470 +v 0.707107 0.000000 -0.707107 +v 0.831470 0.000000 -0.555570 +v 0.923880 0.000000 -0.382683 +v 0.980785 0.000000 -0.195090 +v 1.000000 0.000000 -0.000000 +v 0.980785 0.000000 0.195090 +v 0.980785 -1.000000 0.195090 +v 0.923880 0.000000 0.382683 +v 0.831470 0.000000 0.555570 +v 0.707107 0.000000 0.707107 +v 0.707107 -1.000000 0.707107 +v 0.555570 0.000000 0.831470 +v 0.382683 0.000000 0.923880 +v 0.382683 -1.000000 0.923880 +v 0.195090 0.000000 0.980785 +v -0.000000 0.000000 1.000000 +v -0.195091 0.000000 0.980785 +v -0.382684 0.000000 0.923879 +v -0.555571 0.000000 0.831469 +v -0.555571 -1.000000 0.831469 +v -0.707107 0.000000 0.707106 +v -0.831470 0.000000 0.555570 +v -0.923880 0.000000 0.382683 +v -0.980785 0.000000 0.195089 +v -0.980785 -1.000000 0.195089 +v -1.000000 0.000000 -0.000001 +v -0.980785 0.000000 -0.195091 +v -0.923879 0.000000 -0.382684 +v -0.831469 0.000000 -0.555571 +v -0.707106 0.000000 -0.707108 +v -0.555569 0.000000 -0.831470 +v -0.382682 0.000000 -0.923880 +v -0.195089 0.000000 -0.980786 +v 0.000000 -1.975911 -0.195090 +v 0.000000 -1.919006 -0.382683 +v 0.000000 -1.826596 -0.555570 +v 0.000000 -1.702233 -0.707107 +v 0.000000 -1.550696 -0.831470 +v 0.000000 -1.377810 -0.923880 +v 0.000000 -1.190216 -0.980785 +v 0.000000 -0.995126 -1.000000 +v 0.038060 -1.975911 -0.191342 +v 0.074658 -1.919006 -0.375330 +v 0.108386 -1.826596 -0.544895 +v 0.137950 -1.702233 -0.693520 +v 0.162212 -1.550696 -0.815493 +v 0.180240 -1.377810 -0.906127 +v 0.191342 -1.190216 -0.961940 +v 0.195090 -0.995126 -0.980785 +v 0.074658 -1.975911 -0.180240 +v 0.146447 -1.919006 -0.353553 +v 0.212608 -1.826596 -0.513280 +v 0.270598 -1.702233 -0.653281 +v 0.318190 -1.550696 -0.768178 +v 0.353553 -1.377810 -0.853553 +v 0.375330 -1.190216 -0.906127 +v 0.382684 -0.995126 -0.923879 +v 0.108387 -1.975911 -0.162212 +v 0.212608 -1.919006 -0.318190 +v 0.308658 -1.826596 -0.461940 +v 0.392848 -1.702233 -0.587938 +v 0.461940 -1.550696 -0.691342 +v 0.513280 -1.377810 -0.768178 +v 0.544895 -1.190216 -0.815493 +v 0.137950 -1.975911 -0.137950 +v 0.270598 -1.919006 -0.270598 +v 0.392848 -1.826596 -0.392847 +v 0.500000 -1.702233 -0.500000 +v 0.587938 -1.550696 -0.587938 +v 0.653282 -1.377810 -0.653281 +v 0.693520 -1.190216 -0.693520 +v 0.707107 -0.995126 -0.707107 +v 0.162212 -1.975911 -0.108386 +v 0.318190 -1.919006 -0.212607 +v 0.461940 -1.826596 -0.308658 +v 0.587938 -1.702233 -0.392847 +v 0.691342 -1.550696 -0.461940 +v 0.768178 -1.377810 -0.513280 +v 0.815493 -1.190216 -0.544895 +v 0.831470 -0.995126 -0.555570 +v 0.180240 -1.975911 -0.074658 +v 0.353554 -1.919006 -0.146446 +v 0.513280 -1.826596 -0.212607 +v 0.653282 -1.702233 -0.270598 +v 0.768178 -1.550696 -0.318189 +v 0.853554 -1.377810 -0.353553 +v 0.906128 -1.190216 -0.375330 +v 0.923880 -0.995126 -0.382683 +v 0.191342 -1.975911 -0.038060 +v 0.375331 -1.919006 -0.074658 +v 0.544895 -1.826596 -0.108386 +v 0.693520 -1.702233 -0.137949 +v 0.815493 -1.550696 -0.162211 +v 0.906128 -1.377810 -0.180240 +v 0.961940 -1.190216 -0.191341 +v 0.980785 -0.995126 -0.195090 +v 0.195091 -1.975911 0.000000 +v 0.382684 -1.919006 0.000000 +v 0.555570 -1.826596 0.000000 +v 0.707107 -1.702233 0.000000 +v 0.831470 -1.550696 0.000000 +v 0.923880 -1.377810 0.000000 +v 0.980785 -1.190216 0.000000 +v 1.000000 -0.995126 0.000000 +v 0.191342 -1.975911 0.038061 +v 0.375331 -1.919006 0.074658 +v 0.544895 -1.826596 0.108387 +v 0.693520 -1.702233 0.137950 +v 0.815493 -1.550696 0.162212 +v 0.906128 -1.377810 0.180240 +v 0.961940 -1.190216 0.191342 +v 0.180240 -1.975911 0.074658 +v 0.353554 -1.919006 0.146447 +v 0.513280 -1.826596 0.212608 +v 0.653282 -1.702233 0.270598 +v 0.768178 -1.550696 0.318190 +v 0.853554 -1.377810 0.353554 +v 0.906127 -1.190216 0.375331 +v 0.923880 -0.995126 0.382684 +v 0.162212 -1.975911 0.108387 +v 0.318190 -1.919006 0.212608 +v 0.461940 -1.826596 0.308659 +v 0.587938 -1.702233 0.392848 +v 0.691342 -1.550696 0.461940 +v 0.768178 -1.377810 0.513280 +v 0.815493 -1.190216 0.544895 +v 0.831470 -0.995126 0.555571 +v 0.137950 -1.975911 0.137950 +v 0.270598 -1.919006 0.270599 +v 0.392848 -1.826596 0.392848 +v 0.500000 -1.702233 0.500000 +v 0.587938 -1.550696 0.587938 +v 0.653282 -1.377810 0.653282 +v 0.693520 -1.190216 0.693520 +v 0.108386 -1.975911 0.162212 +v 0.212608 -1.919006 0.318190 +v 0.308658 -1.826596 0.461940 +v 0.392848 -1.702233 0.587938 +v 0.461940 -1.550696 0.691342 +v 0.513280 -1.377810 0.768178 +v 0.544895 -1.190216 0.815493 +v 0.555570 -0.995126 0.831470 +v 0.074658 -1.975911 0.180240 +v 0.146447 -1.919006 0.353554 +v 0.212608 -1.826596 0.513280 +v 0.270598 -1.702233 0.653282 +v 0.318190 -1.550696 0.768178 +v 0.353553 -1.377810 0.853554 +v 0.375330 -1.190216 0.906128 +v 0.038060 -1.975911 0.191342 +v 0.074658 -1.919006 0.375331 +v 0.108386 -1.826596 0.544896 +v 0.137950 -1.702233 0.693520 +v 0.162212 -1.550696 0.815493 +v 0.180240 -1.377810 0.906128 +v 0.191342 -1.190216 0.961940 +v 0.195090 -0.995126 0.980786 +v -0.000000 -1.975911 0.195091 +v 0.000000 -1.919006 0.382684 +v 0.000000 -1.826596 0.555571 +v -0.000000 -1.702233 0.707107 +v -0.000000 -1.550696 0.831470 +v 0.000000 -1.377810 0.923880 +v -0.000000 -1.190216 0.980785 +v -0.000000 -0.995126 1.000000 +v -0.038060 -1.975911 0.191342 +v -0.074658 -1.919006 0.375331 +v -0.108386 -1.826596 0.544896 +v -0.137950 -1.702233 0.693520 +v -0.162212 -1.550696 0.815493 +v -0.180240 -1.377810 0.906128 +v -0.191342 -1.190216 0.961940 +v -0.195090 -0.995126 0.980786 +v -0.074658 -1.975911 0.180240 +v -0.146447 -1.919006 0.353554 +v -0.212608 -1.826596 0.513280 +v -0.270598 -1.702233 0.653282 +v -0.318190 -1.550696 0.768178 +v -0.353553 -1.377810 0.853554 +v -0.375330 -1.190216 0.906127 +v -0.382684 -0.995126 0.923880 +v -0.108386 -1.975911 0.162212 +v -0.212608 -1.919006 0.318190 +v -0.308658 -1.826596 0.461940 +v -0.392847 -1.702233 0.587938 +v -0.461940 -1.550696 0.691342 +v -0.513280 -1.377810 0.768178 +v -0.544895 -1.190216 0.815493 +v -0.000000 -1.995126 0.000001 +v -0.137950 -1.975911 0.137950 +v -0.270598 -1.919006 0.270598 +v -0.392848 -1.826596 0.392848 +v -0.500000 -1.702233 0.500000 +v -0.587938 -1.550696 0.587938 +v -0.653281 -1.377810 0.653282 +v -0.693520 -1.190216 0.693520 +v -0.707107 -0.995126 0.707107 +v -0.162212 -1.975911 0.108387 +v -0.318190 -1.919006 0.212608 +v -0.461940 -1.826596 0.308659 +v -0.587938 -1.702233 0.392848 +v -0.691342 -1.550696 0.461940 +v -0.768178 -1.377810 0.513280 +v -0.815493 -1.190216 0.544895 +v -0.831470 -0.995126 0.555570 +v -0.180240 -1.975911 0.074658 +v -0.353553 -1.919006 0.146447 +v -0.513280 -1.826596 0.212608 +v -0.653281 -1.702233 0.270598 +v -0.768177 -1.550696 0.318190 +v -0.853553 -1.377810 0.353554 +v -0.906127 -1.190216 0.375330 +v -0.923880 -0.995126 0.382684 +v -0.191342 -1.975911 0.038061 +v -0.375330 -1.919006 0.074658 +v -0.544895 -1.826596 0.108387 +v -0.693520 -1.702233 0.137950 +v -0.815493 -1.550696 0.162212 +v -0.906127 -1.377810 0.180240 +v -0.961939 -1.190216 0.191342 +v -0.195090 -1.975911 0.000000 +v -0.382683 -1.919006 0.000000 +v -0.555570 -1.826596 0.000000 +v -0.707107 -1.702233 0.000000 +v -0.831469 -1.550696 0.000000 +v -0.923879 -1.377810 0.000000 +v -0.980785 -1.190216 0.000000 +v -1.000000 -0.995126 0.000000 +v -0.191342 -1.975911 -0.038060 +v -0.375330 -1.919006 -0.074658 +v -0.544895 -1.826596 -0.108386 +v -0.693520 -1.702233 -0.137949 +v -0.815493 -1.550696 -0.162211 +v -0.906127 -1.377810 -0.180240 +v -0.961939 -1.190216 -0.191342 +v -0.980785 -0.995126 -0.195090 +v -0.180240 -1.975911 -0.074658 +v -0.353553 -1.919006 -0.146446 +v -0.513280 -1.826596 -0.212607 +v -0.653281 -1.702233 -0.270598 +v -0.768177 -1.550696 -0.318189 +v -0.853553 -1.377810 -0.353553 +v -0.906127 -1.190216 -0.375330 +v -0.923879 -0.995126 -0.382683 +v -0.162212 -1.975911 -0.108386 +v -0.318190 -1.919006 -0.212607 +v -0.461940 -1.826596 -0.308658 +v -0.587938 -1.702233 -0.392847 +v -0.691341 -1.550696 -0.461939 +v -0.768178 -1.377810 -0.513280 +v -0.815493 -1.190216 -0.544895 +v -0.831469 -0.995126 -0.555570 +v -0.137950 -1.975911 -0.137949 +v -0.270598 -1.919006 -0.270598 +v -0.392847 -1.826596 -0.392847 +v -0.500000 -1.702233 -0.500000 +v -0.587937 -1.550696 -0.587937 +v -0.653281 -1.377810 -0.653281 +v -0.693519 -1.190216 -0.693519 +v -0.707106 -0.995126 -0.707106 +v -0.108386 -1.975911 -0.162211 +v -0.212607 -1.919006 -0.318189 +v -0.308658 -1.826596 -0.461939 +v -0.392847 -1.702233 -0.587937 +v -0.461939 -1.550696 -0.691341 +v -0.513280 -1.377810 -0.768177 +v -0.544895 -1.190216 -0.815492 +v -0.555570 -0.995126 -0.831469 +v -0.074658 -1.975911 -0.180240 +v -0.146447 -1.919006 -0.353553 +v -0.212607 -1.826596 -0.513280 +v -0.270598 -1.702233 -0.653281 +v -0.318189 -1.550696 -0.768177 +v -0.353553 -1.377810 -0.853553 +v -0.375330 -1.190216 -0.906127 +v -0.382683 -0.995126 -0.923879 +v -0.038060 -1.975911 -0.191342 +v -0.074658 -1.919006 -0.375330 +v -0.108386 -1.826596 -0.544895 +v -0.137950 -1.702233 -0.693520 +v -0.162211 -1.550696 -0.815492 +v -0.180240 -1.377810 -0.906127 +v -0.191341 -1.190216 -0.961939 +v -0.195090 -0.995126 -0.980785 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.968750 1.000000 +vt 0.968750 0.500000 +vt 0.937500 1.000000 +vt 0.937500 0.500000 +vt 0.906250 1.000000 +vt 0.906250 0.500000 +vt 0.875000 1.000000 +vt 0.875000 0.500000 +vt 0.843750 1.000000 +vt 0.843750 0.500000 +vt 0.812500 1.000000 +vt 0.812500 0.500000 +vt 0.781250 1.000000 +vt 0.781250 0.500000 +vt 0.750000 1.000000 +vt 0.750000 0.500000 +vt 0.718750 1.000000 +vt 0.718750 0.500000 +vt 0.687500 1.000000 +vt 0.687500 0.500000 +vt 0.656250 1.000000 +vt 0.656250 0.500000 +vt 0.625000 1.000000 +vt 0.625000 0.500000 +vt 0.593750 1.000000 +vt 0.593750 0.500000 +vt 0.562500 1.000000 +vt 0.562500 0.500000 +vt 0.531250 1.000000 +vt 0.531250 0.500000 +vt 0.500000 1.000000 +vt 0.500000 0.500000 +vt 0.468750 1.000000 +vt 0.468750 0.500000 +vt 0.437500 1.000000 +vt 0.437500 0.500000 +vt 0.406250 1.000000 +vt 0.406250 0.500000 +vt 0.375000 1.000000 +vt 0.375000 0.500000 +vt 0.343750 1.000000 +vt 0.343750 0.500000 +vt 0.312500 1.000000 +vt 0.312500 0.500000 +vt 0.281250 1.000000 +vt 0.281250 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.218750 1.000000 +vt 0.218750 0.500000 +vt 0.187500 1.000000 +vt 0.187500 0.500000 +vt 0.156250 1.000000 +vt 0.156250 0.500000 +vt 0.125000 1.000000 +vt 0.125000 0.500000 +vt 0.093750 1.000000 +vt 0.093750 0.500000 +vt 0.062500 1.000000 +vt 0.062500 0.500000 +vt 0.031250 1.000000 +vt 0.031250 0.500000 +vt 0.000000 1.000000 +vt 0.000000 0.500000 +vt 0.750000 0.562500 +vt 0.750000 0.625000 +vt 0.718750 0.625000 +vt 0.718750 0.562500 +vt 0.750000 0.500000 +vt 0.718750 0.500000 +vt 0.750000 0.937500 +vt 0.734375 1.000000 +vt 0.718750 0.937500 +vt 0.750000 0.875000 +vt 0.718750 0.875000 +vt 0.750000 0.812500 +vt 0.718750 0.812500 +vt 0.750000 0.750000 +vt 0.718750 0.750000 +vt 0.750000 0.687500 +vt 0.718750 0.687500 +vt 0.687500 0.687500 +vt 0.687500 0.625000 +vt 0.687500 0.562500 +vt 0.687500 0.500000 +vt 0.703125 1.000000 +vt 0.687500 0.937500 +vt 0.687500 0.875000 +vt 0.687500 0.812500 +vt 0.687500 0.750000 +vt 0.656250 0.875000 +vt 0.656250 0.812500 +vt 0.656250 0.750000 +vt 0.656250 0.687500 +vt 0.656250 0.625000 +vt 0.656250 0.562500 +vt 0.656250 0.500000 +vt 0.671875 1.000000 +vt 0.656250 0.937500 +vt 0.625000 0.625000 +vt 0.625000 0.562500 +vt 0.625000 0.500000 +vt 0.640625 1.000000 +vt 0.625000 0.937500 +vt 0.625000 0.875000 +vt 0.625000 0.812500 +vt 0.625000 0.750000 +vt 0.625000 0.687500 +vt 0.593750 0.875000 +vt 0.593750 0.812500 +vt 0.593750 0.750000 +vt 0.593750 0.687500 +vt 0.593750 0.625000 +vt 0.593750 0.562500 +vt 0.593750 0.500000 +vt 0.609375 1.000000 +vt 0.593750 0.937500 +vt 0.562500 0.625000 +vt 0.562500 0.562500 +vt 0.562500 0.500000 +vt 0.578125 1.000000 +vt 0.562500 0.937500 +vt 0.562500 0.875000 +vt 0.562500 0.812500 +vt 0.562500 0.750000 +vt 0.562500 0.687500 +vt 0.531250 0.812500 +vt 0.531250 0.750000 +vt 0.531250 0.687500 +vt 0.531250 0.625000 +vt 0.531250 0.562500 +vt 0.531250 0.500000 +vt 0.546875 1.000000 +vt 0.531250 0.937500 +vt 0.531250 0.875000 +vt 0.500000 0.562500 +vt 0.500000 0.500000 +vt 0.515625 1.000000 +vt 0.500000 0.937500 +vt 0.500000 0.875000 +vt 0.500000 0.812500 +vt 0.500000 0.750000 +vt 0.500000 0.687500 +vt 0.500000 0.625000 +vt 0.468750 0.812500 +vt 0.468750 0.750000 +vt 0.468750 0.687500 +vt 0.468750 0.625000 +vt 0.468750 0.562500 +vt 0.468750 0.500000 +vt 0.484374 1.000000 +vt 0.468750 0.937500 +vt 0.468750 0.875000 +vt 0.437500 0.562500 +vt 0.437500 0.500000 +vt 0.453124 1.000000 +vt 0.437500 0.937500 +vt 0.437500 0.875000 +vt 0.437500 0.812500 +vt 0.437500 0.750000 +vt 0.437500 0.687500 +vt 0.437500 0.625000 +vt 0.406250 0.750000 +vt 0.406250 0.687500 +vt 0.406250 0.625000 +vt 0.406250 0.562500 +vt 0.406250 0.500000 +vt 0.421874 1.000000 +vt 0.406250 0.937500 +vt 0.406250 0.875000 +vt 0.406250 0.812500 +vt 0.375000 0.937500 +vt 0.375000 0.875000 +vt 0.375000 0.812500 +vt 0.375000 0.750000 +vt 0.375000 0.687500 +vt 0.375000 0.625000 +vt 0.375000 0.562500 +vt 0.375000 0.500000 +vt 0.390625 1.000000 +vt 0.343750 0.687500 +vt 0.343750 0.625000 +vt 0.343750 0.562500 +vt 0.343750 0.500000 +vt 0.359375 1.000000 +vt 0.343750 0.937500 +vt 0.343750 0.875000 +vt 0.343750 0.812500 +vt 0.343750 0.750000 +vt 0.312500 0.937500 +vt 0.312500 0.875000 +vt 0.312500 0.812500 +vt 0.312500 0.750000 +vt 0.312500 0.687500 +vt 0.312500 0.625000 +vt 0.312500 0.562500 +vt 0.312500 0.500000 +vt 0.328125 1.000000 +vt 0.281250 0.687500 +vt 0.281250 0.625000 +vt 0.281250 0.562500 +vt 0.281250 0.500000 +vt 0.296875 1.000000 +vt 0.281250 0.937500 +vt 0.281250 0.875000 +vt 0.281250 0.812500 +vt 0.281250 0.750000 +vt 0.250000 0.875000 +vt 0.250000 0.812500 +vt 0.250000 0.750000 +vt 0.250000 0.687500 +vt 0.250000 0.625000 +vt 0.250000 0.562500 +vt 0.250000 0.500000 +vt 0.265625 1.000000 +vt 0.250000 0.937500 +vt 0.218750 0.625000 +vt 0.218750 0.562500 +vt 0.218750 0.500000 +vt 0.234375 1.000000 +vt 0.218750 0.937500 +vt 0.218750 0.875000 +vt 0.218750 0.812500 +vt 0.218750 0.750000 +vt 0.218750 0.687500 +vt 0.187500 0.875000 +vt 0.187500 0.812500 +vt 0.187500 0.750000 +vt 0.187500 0.687500 +vt 0.187500 0.625000 +vt 0.187500 0.562500 +vt 0.187500 0.500000 +vt 0.203125 1.000000 +vt 0.187500 0.937500 +vt 0.156250 0.625000 +vt 0.156250 0.562500 +vt 0.156250 0.500000 +vt 0.171875 1.000000 +vt 0.156250 0.937500 +vt 0.156250 0.875000 +vt 0.156250 0.812500 +vt 0.156250 0.750000 +vt 0.156250 0.687500 +vt 0.125000 0.812500 +vt 0.125000 0.750000 +vt 0.125000 0.687500 +vt 0.125000 0.625000 +vt 0.125000 0.562500 +vt 0.125000 0.500000 +vt 0.140625 1.000000 +vt 0.125000 0.937500 +vt 0.125000 0.875000 +vt 0.093750 0.562500 +vt 0.093750 0.500000 +vt 0.109375 1.000000 +vt 0.093750 0.937500 +vt 0.093750 0.875000 +vt 0.093750 0.812500 +vt 0.093750 0.750000 +vt 0.093750 0.687500 +vt 0.093750 0.625000 +vt 0.062500 0.750000 +vt 0.062500 0.687500 +vt 0.062500 0.625000 +vt 0.062500 0.562500 +vt 0.062500 0.500000 +vt 0.078125 1.000000 +vt 0.062500 0.937500 +vt 0.062500 0.875000 +vt 0.062500 0.812500 +vt 0.046875 1.000000 +vt 0.031250 0.937500 +vt 0.031250 0.875000 +vt 0.031250 0.812500 +vt 0.031250 0.750000 +vt 0.031250 0.687500 +vt 0.031250 0.625000 +vt 0.031250 0.562500 +vt 0.031250 0.500000 +vt 0.000000 0.750000 +vt 0.000000 0.687500 +vt 0.000000 0.625000 +vt 0.000000 0.562500 +vt 0.000000 0.500000 +vt 0.015625 1.000000 +vt 0.000000 0.937500 +vt 0.000000 0.875000 +vt 0.000000 0.812500 +vt 1.000000 0.875000 +vt 1.000000 0.937500 +vt 0.968750 0.937500 +vt 0.968750 0.875000 +vt 1.000000 0.812500 +vt 0.968750 0.812500 +vt 1.000000 0.750000 +vt 0.968750 0.750000 +vt 1.000000 0.687500 +vt 0.968750 0.687500 +vt 1.000000 0.625000 +vt 0.968750 0.625000 +vt 1.000000 0.562500 +vt 0.968750 0.562500 +vt 1.000000 0.500000 +vt 0.968750 0.500000 +vt 0.984375 1.000000 +vt 0.937500 0.687500 +vt 0.937500 0.625000 +vt 0.937500 0.562500 +vt 0.937500 0.500000 +vt 0.953125 1.000000 +vt 0.937500 0.937500 +vt 0.937500 0.875000 +vt 0.937500 0.812500 +vt 0.937500 0.750000 +vt 0.906250 0.937500 +vt 0.906250 0.875000 +vt 0.906250 0.812500 +vt 0.906250 0.750000 +vt 0.906250 0.687500 +vt 0.906250 0.625000 +vt 0.906250 0.562500 +vt 0.906250 0.500000 +vt 0.921875 1.000000 +vt 0.875000 0.687500 +vt 0.875000 0.625000 +vt 0.875000 0.562500 +vt 0.875000 0.500000 +vt 0.890625 1.000000 +vt 0.875000 0.937500 +vt 0.875000 0.875000 +vt 0.875000 0.812500 +vt 0.875000 0.750000 +vt 0.843750 0.875000 +vt 0.843750 0.812500 +vt 0.843750 0.750000 +vt 0.843750 0.687500 +vt 0.843750 0.625000 +vt 0.843750 0.562500 +vt 0.843750 0.500000 +vt 0.859375 1.000000 +vt 0.843750 0.937500 +vt 0.812500 0.625000 +vt 0.812500 0.562500 +vt 0.812500 0.500000 +vt 0.828125 1.000000 +vt 0.812500 0.937500 +vt 0.812500 0.875000 +vt 0.812500 0.812500 +vt 0.812500 0.750000 +vt 0.812500 0.687500 +vt 0.781250 0.812500 +vt 0.781250 0.750000 +vt 0.781250 0.687500 +vt 0.781250 0.625000 +vt 0.781250 0.562500 +vt 0.781250 0.500000 +vt 0.796875 1.000000 +vt 0.781250 0.937500 +vt 0.781250 0.875000 +vt 0.765625 1.000000 +vt 0.968750 1.000000 +vt 1.000000 1.000000 +vt 0.937500 1.000000 +vt 0.906250 1.000000 +vt 0.875000 1.000000 +vt 0.843750 1.000000 +vt 0.812500 1.000000 +vt 0.781250 1.000000 +vt 0.750000 1.000000 +vt 0.718750 1.000000 +vt 0.687500 1.000000 +vt 0.656250 1.000000 +vt 0.625000 1.000000 +vt 0.593750 1.000000 +vt 0.562500 1.000000 +vt 0.531250 1.000000 +vt 0.500000 1.000000 +vt 0.468750 1.000000 +vt 0.437500 1.000000 +vt 0.406250 1.000000 +vt 0.375000 1.000000 +vt 0.343750 1.000000 +vt 0.312500 1.000000 +vt 0.281250 1.000000 +vt 0.250000 1.000000 +vt 0.218750 1.000000 +vt 0.187500 1.000000 +vt 0.156250 1.000000 +vt 0.125000 1.000000 +vt 0.093750 1.000000 +vt 0.062500 1.000000 +vt 0.031250 1.000000 +vt 0.000000 1.000000 +vt 0.750000 0.562500 +vt 0.718750 0.562500 +vt 0.718750 0.625000 +vt 0.750000 0.625000 +vt 0.750000 0.500000 +vt 0.718750 0.500000 +vt 0.750000 0.937500 +vt 0.718750 0.937500 +vt 0.734375 1.000000 +vt 0.750000 0.875000 +vt 0.718750 0.875000 +vt 0.750000 0.812500 +vt 0.718750 0.812500 +vt 0.750000 0.750000 +vt 0.718750 0.750000 +vt 0.750000 0.687500 +vt 0.718750 0.687500 +vt 0.687500 0.625000 +vt 0.687500 0.687500 +vt 0.687500 0.562500 +vt 0.687500 0.500000 +vt 0.687500 0.937500 +vt 0.703125 1.000000 +vt 0.687500 0.875000 +vt 0.687500 0.812500 +vt 0.687500 0.750000 +vt 0.656250 0.812500 +vt 0.656250 0.875000 +vt 0.656250 0.750000 +vt 0.656250 0.687500 +vt 0.656250 0.625000 +vt 0.656250 0.562500 +vt 0.656250 0.500000 +vt 0.656250 0.937500 +vt 0.671875 1.000000 +vt 0.625000 0.562500 +vt 0.625000 0.625000 +vt 0.625000 0.500000 +vt 0.625000 0.937500 +vt 0.640625 1.000000 +vt 0.625000 0.875000 +vt 0.625000 0.812500 +vt 0.625000 0.750000 +vt 0.625000 0.687500 +vt 0.593750 0.812500 +vt 0.593750 0.875000 +vt 0.593750 0.750000 +vt 0.593750 0.687500 +vt 0.593750 0.625000 +vt 0.593750 0.562500 +vt 0.593750 0.500000 +vt 0.593750 0.937500 +vt 0.609375 1.000000 +vt 0.562500 0.562500 +vt 0.562500 0.625000 +vt 0.562500 0.500000 +vt 0.562500 0.937500 +vt 0.578125 1.000000 +vt 0.562500 0.875000 +vt 0.562500 0.812500 +vt 0.562500 0.750000 +vt 0.562500 0.687500 +vt 0.531250 0.750000 +vt 0.531250 0.812500 +vt 0.531250 0.687500 +vt 0.531250 0.625000 +vt 0.531250 0.562500 +vt 0.531250 0.500000 +vt 0.531250 0.937500 +vt 0.546875 1.000000 +vt 0.531250 0.875000 +vt 0.500000 0.500000 +vt 0.500000 0.562500 +vt 0.500000 0.937500 +vt 0.515625 1.000000 +vt 0.500000 0.875000 +vt 0.500000 0.812500 +vt 0.500000 0.750000 +vt 0.500000 0.687500 +vt 0.500000 0.625000 +vt 0.468750 0.750000 +vt 0.468750 0.812500 +vt 0.468750 0.687500 +vt 0.468750 0.625000 +vt 0.468750 0.562500 +vt 0.468750 0.500000 +vt 0.468750 0.937500 +vt 0.484374 1.000000 +vt 0.468750 0.875000 +vt 0.437500 0.500000 +vt 0.437500 0.562500 +vt 0.437500 0.937500 +vt 0.453124 1.000000 +vt 0.437500 0.875000 +vt 0.437500 0.812500 +vt 0.437500 0.750000 +vt 0.437500 0.687500 +vt 0.437500 0.625000 +vt 0.406250 0.687500 +vt 0.406250 0.750000 +vt 0.406250 0.625000 +vt 0.406250 0.562500 +vt 0.406250 0.500000 +vt 0.406250 0.937500 +vt 0.421874 1.000000 +vt 0.406250 0.875000 +vt 0.406250 0.812500 +vt 0.375000 0.875000 +vt 0.375000 0.937500 +vt 0.375000 0.812500 +vt 0.375000 0.750000 +vt 0.375000 0.687500 +vt 0.375000 0.625000 +vt 0.375000 0.562500 +vt 0.375000 0.500000 +vt 0.390625 1.000000 +vt 0.343750 0.625000 +vt 0.343750 0.687500 +vt 0.343750 0.562500 +vt 0.343750 0.500000 +vt 0.343750 0.937500 +vt 0.359375 1.000000 +vt 0.343750 0.875000 +vt 0.343750 0.812500 +vt 0.343750 0.750000 +vt 0.312500 0.875000 +vt 0.312500 0.937500 +vt 0.312500 0.812500 +vt 0.312500 0.750000 +vt 0.312500 0.687500 +vt 0.312500 0.625000 +vt 0.312500 0.562500 +vt 0.312500 0.500000 +vt 0.328125 1.000000 +vt 0.281250 0.625000 +vt 0.281250 0.687500 +vt 0.281250 0.562500 +vt 0.281250 0.500000 +vt 0.281250 0.937500 +vt 0.296875 1.000000 +vt 0.281250 0.875000 +vt 0.281250 0.812500 +vt 0.281250 0.750000 +vt 0.250000 0.812500 +vt 0.250000 0.875000 +vt 0.250000 0.750000 +vt 0.250000 0.687500 +vt 0.250000 0.625000 +vt 0.250000 0.562500 +vt 0.250000 0.500000 +vt 0.250000 0.937500 +vt 0.265625 1.000000 +vt 0.218750 0.562500 +vt 0.218750 0.625000 +vt 0.218750 0.500000 +vt 0.218750 0.937500 +vt 0.234375 1.000000 +vt 0.218750 0.875000 +vt 0.218750 0.812500 +vt 0.218750 0.750000 +vt 0.218750 0.687500 +vt 0.187500 0.812500 +vt 0.187500 0.875000 +vt 0.187500 0.750000 +vt 0.187500 0.687500 +vt 0.187500 0.625000 +vt 0.187500 0.562500 +vt 0.187500 0.500000 +vt 0.187500 0.937500 +vt 0.203125 1.000000 +vt 0.156250 0.562500 +vt 0.156250 0.625000 +vt 0.156250 0.500000 +vt 0.156250 0.937500 +vt 0.171875 1.000000 +vt 0.156250 0.875000 +vt 0.156250 0.812500 +vt 0.156250 0.750000 +vt 0.156250 0.687500 +vt 0.125000 0.750000 +vt 0.125000 0.812500 +vt 0.125000 0.687500 +vt 0.125000 0.625000 +vt 0.125000 0.562500 +vt 0.125000 0.500000 +vt 0.125000 0.937500 +vt 0.140625 1.000000 +vt 0.125000 0.875000 +vt 0.093750 0.500000 +vt 0.093750 0.562500 +vt 0.093750 0.937500 +vt 0.109375 1.000000 +vt 0.093750 0.875000 +vt 0.093750 0.812500 +vt 0.093750 0.750000 +vt 0.093750 0.687500 +vt 0.093750 0.625000 +vt 0.062500 0.687500 +vt 0.062500 0.750000 +vt 0.062500 0.625000 +vt 0.062500 0.562500 +vt 0.062500 0.500000 +vt 0.062500 0.937500 +vt 0.078125 1.000000 +vt 0.062500 0.875000 +vt 0.062500 0.812500 +vt 0.031250 0.937500 +vt 0.046875 1.000000 +vt 0.031250 0.875000 +vt 0.031250 0.812500 +vt 0.031250 0.750000 +vt 0.031250 0.687500 +vt 0.031250 0.625000 +vt 0.031250 0.562500 +vt 0.031250 0.500000 +vt 0.000000 0.687500 +vt 0.000000 0.750000 +vt 0.000000 0.625000 +vt 0.000000 0.562500 +vt 0.000000 0.500000 +vt 0.000000 0.937500 +vt 0.015625 1.000000 +vt 0.000000 0.875000 +vt 0.000000 0.812500 +vt 1.000000 0.875000 +vt 0.968750 0.875000 +vt 0.968750 0.937500 +vt 1.000000 0.937500 +vt 1.000000 0.812500 +vt 0.968750 0.812500 +vt 1.000000 0.750000 +vt 0.968750 0.750000 +vt 1.000000 0.687500 +vt 0.968750 0.687500 +vt 1.000000 0.625000 +vt 0.968750 0.625000 +vt 1.000000 0.562500 +vt 0.968750 0.562500 +vt 1.000000 0.500000 +vt 0.968750 0.500000 +vt 0.984375 1.000000 +vt 0.937500 0.625000 +vt 0.937500 0.687500 +vt 0.937500 0.562500 +vt 0.937500 0.500000 +vt 0.937500 0.937500 +vt 0.953125 1.000000 +vt 0.937500 0.875000 +vt 0.937500 0.812500 +vt 0.937500 0.750000 +vt 0.906250 0.875000 +vt 0.906250 0.937500 +vt 0.906250 0.812500 +vt 0.906250 0.750000 +vt 0.906250 0.687500 +vt 0.906250 0.625000 +vt 0.906250 0.562500 +vt 0.906250 0.500000 +vt 0.921875 1.000000 +vt 0.875000 0.625000 +vt 0.875000 0.687500 +vt 0.875000 0.562500 +vt 0.875000 0.500000 +vt 0.875000 0.937500 +vt 0.890625 1.000000 +vt 0.875000 0.875000 +vt 0.875000 0.812500 +vt 0.875000 0.750000 +vt 0.843750 0.812500 +vt 0.843750 0.875000 +vt 0.843750 0.750000 +vt 0.843750 0.687500 +vt 0.843750 0.625000 +vt 0.843750 0.562500 +vt 0.843750 0.500000 +vt 0.843750 0.937500 +vt 0.859375 1.000000 +vt 0.812500 0.562500 +vt 0.812500 0.625000 +vt 0.812500 0.500000 +vt 0.812500 0.937500 +vt 0.828125 1.000000 +vt 0.812500 0.875000 +vt 0.812500 0.812500 +vt 0.812500 0.750000 +vt 0.812500 0.687500 +vt 0.781250 0.750000 +vt 0.781250 0.812500 +vt 0.781250 0.687500 +vt 0.781250 0.625000 +vt 0.781250 0.562500 +vt 0.781250 0.500000 +vt 0.781250 0.937500 +vt 0.796875 1.000000 +vt 0.781250 0.875000 +vt 0.765625 1.000000 +vn -0.0000 0.0000 -1.0000 +vn -0.0000 0.0489 -0.9988 +vn 0.1949 0.0489 -0.9796 +vn 0.1951 0.0000 -0.9808 +vn 0.3819 0.0488 -0.9229 +vn 0.3827 0.0000 -0.9239 +vn 0.5549 0.0503 -0.8304 +vn 0.5556 -0.0000 -0.8315 +vn 0.7065 0.0488 -0.7060 +vn 0.7071 -0.0000 -0.7071 +vn 0.8305 0.0489 -0.5549 +vn 0.8315 -0.0000 -0.5556 +vn 0.9228 0.0489 -0.3822 +vn 0.9239 -0.0000 -0.3827 +vn 0.9796 0.0489 -0.1949 +vn 0.9808 0.0000 -0.1951 +vn 0.9988 0.0488 -0.0003 +vn 1.0000 0.0000 0.0000 +vn 0.9795 0.0503 0.1948 +vn 0.9808 -0.0000 0.1951 +vn 0.9227 0.0488 0.3825 +vn 0.9239 -0.0000 0.3827 +vn 0.8306 0.0488 0.5547 +vn 0.8315 -0.0000 0.5556 +vn 0.7062 0.0503 0.7062 +vn 0.7071 0.0000 0.7071 +vn 0.5549 0.0487 0.8305 +vn 0.5556 0.0000 0.8315 +vn 0.3822 0.0503 0.9227 +vn 0.3827 -0.0000 0.9239 +vn 0.1946 0.0488 0.9797 +vn 0.1951 -0.0000 0.9808 +vn -0.0000 0.0489 0.9988 +vn -0.0000 -0.0000 1.0000 +vn -0.1949 0.0489 0.9796 +vn -0.1951 0.0000 0.9808 +vn -0.3819 0.0488 0.9229 +vn -0.3827 0.0000 0.9239 +vn -0.5549 0.0503 0.8304 +vn -0.5556 -0.0000 0.8315 +vn -0.7065 0.0488 0.7060 +vn -0.7071 -0.0000 0.7071 +vn -0.8305 0.0489 0.5549 +vn -0.8315 0.0000 0.5556 +vn -0.9227 0.0488 0.3825 +vn -0.9239 0.0000 0.3827 +vn -0.9795 0.0503 0.1948 +vn -0.9808 -0.0000 0.1951 +vn -0.9988 0.0488 -0.0003 +vn -1.0000 -0.0000 -0.0000 +vn -0.9796 0.0489 -0.1949 +vn -0.9808 -0.0000 -0.1951 +vn -0.9228 0.0489 -0.3822 +vn -0.9239 0.0000 -0.3827 +vn -0.8305 0.0489 -0.5549 +vn -0.8315 -0.0000 -0.5556 +vn -0.7063 0.0489 -0.7063 +vn -0.7071 -0.0000 -0.7071 +vn -0.5549 0.0489 -0.8305 +vn -0.5556 -0.0000 -0.8315 +vn -0.3822 0.0489 -0.9228 +vn -0.3827 -0.0000 -0.9239 +vn -0.1949 0.0489 -0.9796 +vn -0.1951 -0.0000 -0.9808 +vn -0.0000 0.1939 -0.9810 +vn -0.0000 0.3805 -0.9248 +vn 0.1804 0.3805 -0.9070 +vn 0.1914 0.1939 -0.9622 +vn -0.0000 0.9796 -0.2010 +vn -0.0000 1.0000 -0.0000 +vn 0.0392 0.9796 -0.1971 +vn -0.0000 0.9217 -0.3879 +vn 0.0757 0.9217 -0.3804 +vn -0.0000 0.8286 -0.5598 +vn 0.1092 0.8286 -0.5490 +vn -0.0000 0.7041 -0.7101 +vn 0.1385 0.7041 -0.6965 +vn -0.0000 0.5528 -0.8333 +vn 0.1626 0.5528 -0.8173 +vn 0.3189 0.5528 -0.7699 +vn 0.3539 0.3805 -0.8544 +vn 0.3751 0.1942 -0.9064 +vn 0.0769 0.9796 -0.1857 +vn 0.1484 0.9217 -0.3584 +vn 0.2142 0.8286 -0.5172 +vn 0.2718 0.7041 -0.6561 +vn 0.2155 0.9217 -0.3225 +vn 0.3110 0.8286 -0.4654 +vn 0.3945 0.7041 -0.5905 +vn 0.4630 0.5528 -0.6929 +vn 0.5138 0.3805 -0.7689 +vn 0.5450 0.1945 -0.8156 +vn 0.1117 0.9796 -0.1671 +vn 0.6539 0.3805 -0.6539 +vn 0.6939 0.1942 -0.6934 +vn 0.1421 0.9796 -0.1421 +vn 0.2743 0.9217 -0.2743 +vn 0.3958 0.8286 -0.3958 +vn 0.5021 0.7041 -0.5021 +vn 0.5893 0.5528 -0.5893 +vn 0.3225 0.9217 -0.2155 +vn 0.4654 0.8286 -0.3110 +vn 0.5905 0.7041 -0.3945 +vn 0.6929 0.5528 -0.4630 +vn 0.7689 0.3805 -0.5138 +vn 0.8157 0.1939 -0.5450 +vn 0.1671 0.9796 -0.1117 +vn 0.8544 0.3805 -0.3539 +vn 0.9063 0.1939 -0.3754 +vn 0.1857 0.9796 -0.0769 +vn 0.3584 0.9217 -0.1484 +vn 0.5172 0.8286 -0.2142 +vn 0.6561 0.7041 -0.2718 +vn 0.7699 0.5528 -0.3189 +vn 0.5490 0.8286 -0.1092 +vn 0.6965 0.7041 -0.1385 +vn 0.8173 0.5528 -0.1626 +vn 0.9070 0.3805 -0.1804 +vn 0.9622 0.1939 -0.1914 +vn 0.1971 0.9796 -0.0392 +vn 0.3804 0.9217 -0.0757 +vn 0.9810 0.1942 -0.0003 +vn 0.2010 0.9796 0.0000 +vn 0.3879 0.9217 0.0000 +vn 0.5598 0.8286 0.0000 +vn 0.7101 0.7041 0.0000 +vn 0.8333 0.5528 0.0000 +vn 0.9248 0.3805 0.0000 +vn 0.5490 0.8286 0.1092 +vn 0.6965 0.7041 0.1385 +vn 0.8173 0.5528 0.1626 +vn 0.9070 0.3805 0.1804 +vn 0.9620 0.1945 0.1914 +vn 0.1971 0.9796 0.0392 +vn 0.3804 0.9217 0.0757 +vn 0.9062 0.1942 0.3757 +vn 0.1857 0.9796 0.0769 +vn 0.3584 0.9217 0.1484 +vn 0.5172 0.8286 0.2142 +vn 0.6561 0.7041 0.2718 +vn 0.7699 0.5528 0.3189 +vn 0.8544 0.3805 0.3539 +vn 0.5905 0.7041 0.3945 +vn 0.6929 0.5528 0.4630 +vn 0.7689 0.3805 0.5138 +vn 0.8158 0.1942 0.5447 +vn 0.1671 0.9796 0.1117 +vn 0.3225 0.9217 0.2155 +vn 0.4654 0.8286 0.3110 +vn 0.1421 0.9796 0.1421 +vn 0.2743 0.9217 0.2743 +vn 0.3958 0.8286 0.3958 +vn 0.5021 0.7041 0.5021 +vn 0.5893 0.5528 0.5893 +vn 0.6539 0.3805 0.6539 +vn 0.6936 0.1945 0.6936 +vn 0.4630 0.5528 0.6929 +vn 0.5138 0.3805 0.7689 +vn 0.5450 0.1945 0.8156 +vn 0.1117 0.9796 0.1671 +vn 0.2155 0.9217 0.3225 +vn 0.3110 0.8286 0.4654 +vn 0.3945 0.7041 0.5905 +vn 0.0769 0.9796 0.1857 +vn 0.1484 0.9217 0.3584 +vn 0.2142 0.8286 0.5172 +vn 0.2718 0.7041 0.6561 +vn 0.3189 0.5528 0.7699 +vn 0.3539 0.3805 0.8544 +vn 0.3754 0.1945 0.9062 +vn 0.1626 0.5528 0.8173 +vn 0.1804 0.3805 0.9070 +vn 0.1911 0.1942 0.9622 +vn 0.0392 0.9796 0.1971 +vn 0.0757 0.9217 0.3804 +vn 0.1092 0.8286 0.5490 +vn 0.1385 0.7041 0.6965 +vn -0.0000 0.9217 0.3879 +vn 0.0000 0.8286 0.5598 +vn -0.0000 0.7041 0.7101 +vn -0.0000 0.5528 0.8333 +vn -0.0000 0.3805 0.9248 +vn -0.0000 0.1939 0.9810 +vn -0.0000 0.9796 0.2010 +vn -0.1804 0.3805 0.9070 +vn -0.1914 0.1939 0.9622 +vn -0.0392 0.9796 0.1971 +vn -0.0757 0.9217 0.3804 +vn -0.1092 0.8286 0.5490 +vn -0.1385 0.7041 0.6965 +vn -0.1626 0.5528 0.8173 +vn -0.1484 0.9217 0.3584 +vn -0.2142 0.8286 0.5172 +vn -0.2718 0.7041 0.6561 +vn -0.3189 0.5528 0.7699 +vn -0.3539 0.3805 0.8544 +vn -0.3751 0.1942 0.9064 +vn -0.0769 0.9796 0.1857 +vn -0.5138 0.3805 0.7689 +vn -0.5450 0.1945 0.8156 +vn -0.1117 0.9796 0.1671 +vn -0.2155 0.9217 0.3225 +vn -0.3110 0.8286 0.4654 +vn -0.3945 0.7041 0.5905 +vn -0.4630 0.5528 0.6929 +vn -0.3958 0.8286 0.3958 +vn -0.5021 0.7041 0.5021 +vn -0.5893 0.5528 0.5893 +vn -0.6539 0.3805 0.6539 +vn -0.6939 0.1942 0.6934 +vn -0.1421 0.9796 0.1421 +vn -0.2743 0.9217 0.2743 +vn -0.8157 0.1939 0.5450 +vn -0.1671 0.9796 0.1117 +vn -0.3225 0.9217 0.2155 +vn -0.4654 0.8286 0.3110 +vn -0.5905 0.7041 0.3945 +vn -0.6929 0.5528 0.4630 +vn -0.7689 0.3805 0.5138 +vn -0.6561 0.7041 0.2718 +vn -0.7699 0.5528 0.3189 +vn -0.8544 0.3805 0.3539 +vn -0.9062 0.1942 0.3757 +vn -0.1857 0.9796 0.0769 +vn -0.3584 0.9217 0.1484 +vn -0.5172 0.8286 0.2142 +vn -0.1971 0.9796 0.0392 +vn -0.3804 0.9217 0.0757 +vn -0.5490 0.8286 0.1092 +vn -0.6965 0.7041 0.1385 +vn -0.8173 0.5528 0.1626 +vn -0.9070 0.3805 0.1804 +vn -0.9620 0.1945 0.1914 +vn -0.7101 0.7041 -0.0000 +vn -0.8333 0.5528 -0.0000 +vn -0.9248 0.3805 -0.0000 +vn -0.9810 0.1942 -0.0003 +vn -0.2010 0.9796 -0.0000 +vn -0.3879 0.9217 0.0000 +vn -0.5598 0.8286 0.0000 +vn -0.1971 0.9796 -0.0392 +vn -0.3804 0.9217 -0.0757 +vn -0.5490 0.8286 -0.1092 +vn -0.6965 0.7041 -0.1385 +vn -0.8173 0.5528 -0.1626 +vn -0.9070 0.3805 -0.1804 +vn -0.9622 0.1939 -0.1914 +vn -0.7699 0.5528 -0.3189 +vn -0.8544 0.3805 -0.3539 +vn -0.9063 0.1939 -0.3754 +vn -0.1857 0.9796 -0.0769 +vn -0.3584 0.9217 -0.1484 +vn -0.5172 0.8286 -0.2142 +vn -0.6561 0.7041 -0.2718 +vn -0.1671 0.9796 -0.1117 +vn -0.3225 0.9217 -0.2155 +vn -0.4654 0.8286 -0.3110 +vn -0.5905 0.7041 -0.3945 +vn -0.6929 0.5528 -0.4630 +vn -0.7689 0.3805 -0.5138 +vn -0.8157 0.1939 -0.5450 +vn -0.5893 0.5528 -0.5893 +vn -0.6539 0.3805 -0.6539 +vn -0.6937 0.1939 -0.6937 +vn -0.1421 0.9796 -0.1421 +vn -0.2743 0.9217 -0.2743 +vn -0.3958 0.8286 -0.3958 +vn -0.5021 0.7041 -0.5021 +vn -0.2155 0.9217 -0.3225 +vn -0.3110 0.8286 -0.4654 +vn -0.3945 0.7041 -0.5905 +vn -0.4630 0.5528 -0.6929 +vn -0.5138 0.3805 -0.7689 +vn -0.5450 0.1939 -0.8157 +vn -0.1117 0.9796 -0.1671 +vn -0.3539 0.3805 -0.8544 +vn -0.3754 0.1939 -0.9063 +vn -0.0769 0.9796 -0.1857 +vn -0.1484 0.9217 -0.3584 +vn -0.2142 0.8286 -0.5172 +vn -0.2718 0.7041 -0.6561 +vn -0.3189 0.5528 -0.7699 +vn -0.1092 0.8286 -0.5490 +vn -0.1385 0.7041 -0.6965 +vn -0.1626 0.5528 -0.8173 +vn -0.1804 0.3805 -0.9070 +vn -0.1914 0.1939 -0.9622 +vn -0.0392 0.9796 -0.1971 +vn -0.0757 0.9217 -0.3804 +vn 0.1949 -0.0489 -0.9796 +vn -0.0000 -0.0489 -0.9988 +vn 0.3819 -0.0488 -0.9229 +vn 0.5549 -0.0503 -0.8304 +vn 0.7065 -0.0488 -0.7060 +vn 0.8305 -0.0489 -0.5549 +vn 0.9228 -0.0489 -0.3822 +vn 0.9796 -0.0489 -0.1949 +vn 0.9988 -0.0488 -0.0003 +vn 0.9795 -0.0503 0.1948 +vn 0.9227 -0.0488 0.3825 +vn 0.8306 -0.0488 0.5547 +vn 0.7062 -0.0503 0.7062 +vn 0.5549 -0.0487 0.8305 +vn 0.3822 -0.0503 0.9227 +vn 0.1946 -0.0488 0.9797 +vn -0.0000 -0.0489 0.9988 +vn -0.1949 -0.0489 0.9796 +vn -0.3819 -0.0488 0.9229 +vn -0.5549 -0.0503 0.8304 +vn -0.7065 -0.0488 0.7060 +vn -0.8305 -0.0489 0.5549 +vn -0.9227 -0.0488 0.3825 +vn -0.9795 -0.0503 0.1948 +vn -0.9988 -0.0488 -0.0003 +vn -0.9796 -0.0489 -0.1949 +vn -0.9228 -0.0489 -0.3822 +vn -0.8305 -0.0489 -0.5549 +vn -0.7063 -0.0489 -0.7063 +vn -0.5549 -0.0489 -0.8305 +vn -0.3822 -0.0489 -0.9228 +vn -0.1949 -0.0489 -0.9796 +vn -0.0000 -0.1939 -0.9810 +vn 0.1914 -0.1939 -0.9622 +vn 0.1804 -0.3805 -0.9070 +vn -0.0000 -0.3805 -0.9248 +vn -0.0000 -0.9796 -0.2010 +vn 0.0392 -0.9796 -0.1971 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 -0.9217 -0.3879 +vn 0.0757 -0.9217 -0.3804 +vn -0.0000 -0.8286 -0.5598 +vn 0.1092 -0.8286 -0.5490 +vn -0.0000 -0.7041 -0.7101 +vn 0.1385 -0.7041 -0.6965 +vn -0.0000 -0.5528 -0.8333 +vn 0.1626 -0.5528 -0.8173 +vn 0.3539 -0.3805 -0.8544 +vn 0.3189 -0.5528 -0.7699 +vn 0.3751 -0.1942 -0.9064 +vn 0.0769 -0.9796 -0.1857 +vn 0.1484 -0.9217 -0.3584 +vn 0.2142 -0.8286 -0.5172 +vn 0.2718 -0.7041 -0.6561 +vn 0.3110 -0.8286 -0.4654 +vn 0.2155 -0.9217 -0.3225 +vn 0.3945 -0.7041 -0.5905 +vn 0.4630 -0.5528 -0.6929 +vn 0.5138 -0.3805 -0.7689 +vn 0.5450 -0.1945 -0.8156 +vn 0.1117 -0.9796 -0.1671 +vn 0.6939 -0.1942 -0.6934 +vn 0.6539 -0.3805 -0.6539 +vn 0.1421 -0.9796 -0.1421 +vn 0.2743 -0.9217 -0.2743 +vn 0.3958 -0.8286 -0.3958 +vn 0.5021 -0.7041 -0.5021 +vn 0.5893 -0.5528 -0.5893 +vn 0.4654 -0.8286 -0.3110 +vn 0.3225 -0.9217 -0.2155 +vn 0.5905 -0.7041 -0.3945 +vn 0.6929 -0.5528 -0.4630 +vn 0.7689 -0.3805 -0.5138 +vn 0.8157 -0.1939 -0.5450 +vn 0.1671 -0.9796 -0.1117 +vn 0.9063 -0.1939 -0.3754 +vn 0.8544 -0.3805 -0.3539 +vn 0.1857 -0.9796 -0.0769 +vn 0.3584 -0.9217 -0.1484 +vn 0.5172 -0.8286 -0.2142 +vn 0.6561 -0.7041 -0.2718 +vn 0.7699 -0.5528 -0.3189 +vn 0.6965 -0.7041 -0.1385 +vn 0.5490 -0.8286 -0.1092 +vn 0.8173 -0.5528 -0.1626 +vn 0.9070 -0.3805 -0.1804 +vn 0.9622 -0.1939 -0.1914 +vn 0.1971 -0.9796 -0.0392 +vn 0.3804 -0.9217 -0.0757 +vn 0.9810 -0.1942 -0.0003 +vn 0.2010 -0.9796 0.0000 +vn 0.3879 -0.9217 -0.0000 +vn 0.5598 -0.8286 0.0000 +vn 0.7101 -0.7041 0.0000 +vn 0.8333 -0.5528 -0.0000 +vn 0.9248 -0.3805 0.0000 +vn 0.6965 -0.7041 0.1385 +vn 0.5490 -0.8286 0.1092 +vn 0.8173 -0.5528 0.1626 +vn 0.9070 -0.3805 0.1804 +vn 0.9620 -0.1945 0.1914 +vn 0.1971 -0.9796 0.0392 +vn 0.3804 -0.9217 0.0757 +vn 0.9062 -0.1942 0.3757 +vn 0.1857 -0.9796 0.0769 +vn 0.3584 -0.9217 0.1484 +vn 0.5172 -0.8286 0.2142 +vn 0.6561 -0.7041 0.2718 +vn 0.7699 -0.5528 0.3189 +vn 0.8544 -0.3805 0.3539 +vn 0.6929 -0.5528 0.4630 +vn 0.5905 -0.7041 0.3945 +vn 0.7689 -0.3805 0.5138 +vn 0.8158 -0.1942 0.5447 +vn 0.1671 -0.9796 0.1117 +vn 0.3225 -0.9217 0.2155 +vn 0.4654 -0.8286 0.3110 +vn 0.2743 -0.9217 0.2743 +vn 0.1421 -0.9796 0.1421 +vn 0.3958 -0.8286 0.3958 +vn 0.5021 -0.7041 0.5021 +vn 0.5893 -0.5528 0.5893 +vn 0.6539 -0.3805 0.6539 +vn 0.6936 -0.1945 0.6936 +vn 0.5138 -0.3805 0.7689 +vn 0.4630 -0.5528 0.6929 +vn 0.5450 -0.1945 0.8156 +vn 0.1117 -0.9796 0.1671 +vn 0.2155 -0.9217 0.3225 +vn 0.3110 -0.8286 0.4654 +vn 0.3945 -0.7041 0.5905 +vn 0.1484 -0.9217 0.3584 +vn 0.0769 -0.9796 0.1857 +vn 0.2142 -0.8286 0.5172 +vn 0.2718 -0.7041 0.6561 +vn 0.3189 -0.5528 0.7699 +vn 0.3539 -0.3805 0.8544 +vn 0.3754 -0.1945 0.9062 +vn 0.1804 -0.3805 0.9070 +vn 0.1626 -0.5528 0.8173 +vn 0.1911 -0.1942 0.9622 +vn 0.0392 -0.9796 0.1971 +vn 0.0757 -0.9217 0.3804 +vn 0.1092 -0.8286 0.5490 +vn 0.1385 -0.7041 0.6965 +vn 0.0000 -0.8286 0.5598 +vn -0.0000 -0.9217 0.3879 +vn -0.0000 -0.7041 0.7101 +vn -0.0000 -0.5528 0.8333 +vn -0.0000 -0.3805 0.9248 +vn -0.0000 -0.1939 0.9810 +vn -0.0000 -0.9796 0.2010 +vn -0.1914 -0.1939 0.9622 +vn -0.1804 -0.3805 0.9070 +vn -0.0392 -0.9796 0.1971 +vn -0.0757 -0.9217 0.3804 +vn -0.1092 -0.8286 0.5490 +vn -0.1385 -0.7041 0.6965 +vn -0.1626 -0.5528 0.8173 +vn -0.2142 -0.8286 0.5172 +vn -0.1484 -0.9217 0.3584 +vn -0.2718 -0.7041 0.6561 +vn -0.3189 -0.5528 0.7699 +vn -0.3539 -0.3805 0.8544 +vn -0.3751 -0.1942 0.9064 +vn -0.0769 -0.9796 0.1857 +vn -0.5450 -0.1945 0.8156 +vn -0.5138 -0.3805 0.7689 +vn -0.1117 -0.9796 0.1671 +vn -0.2155 -0.9217 0.3225 +vn -0.3110 -0.8286 0.4654 +vn -0.3945 -0.7041 0.5905 +vn -0.4630 -0.5528 0.6929 +vn -0.5021 -0.7041 0.5021 +vn -0.3958 -0.8286 0.3958 +vn -0.5893 -0.5528 0.5893 +vn -0.6539 -0.3805 0.6539 +vn -0.6939 -0.1942 0.6934 +vn -0.1421 -0.9796 0.1421 +vn -0.2743 -0.9217 0.2743 +vn -0.8157 -0.1939 0.5450 +vn -0.1671 -0.9796 0.1117 +vn -0.3225 -0.9217 0.2155 +vn -0.4654 -0.8286 0.3110 +vn -0.5905 -0.7041 0.3945 +vn -0.6929 -0.5528 0.4630 +vn -0.7689 -0.3805 0.5138 +vn -0.7699 -0.5528 0.3189 +vn -0.6561 -0.7041 0.2718 +vn -0.8544 -0.3805 0.3539 +vn -0.9062 -0.1942 0.3757 +vn -0.1857 -0.9796 0.0769 +vn -0.3584 -0.9217 0.1484 +vn -0.5172 -0.8286 0.2142 +vn -0.1971 -0.9796 0.0392 +vn -0.3804 -0.9217 0.0757 +vn -0.5490 -0.8286 0.1092 +vn -0.6965 -0.7041 0.1385 +vn -0.8173 -0.5528 0.1626 +vn -0.9070 -0.3805 0.1804 +vn -0.9620 -0.1945 0.1914 +vn -0.8333 -0.5528 -0.0000 +vn -0.7101 -0.7041 -0.0000 +vn -0.9248 -0.3805 -0.0000 +vn -0.9810 -0.1942 -0.0003 +vn -0.2010 -0.9796 -0.0000 +vn -0.3879 -0.9217 0.0000 +vn -0.5598 -0.8286 0.0000 +vn -0.3804 -0.9217 -0.0757 +vn -0.1971 -0.9796 -0.0392 +vn -0.5490 -0.8286 -0.1092 +vn -0.6965 -0.7041 -0.1385 +vn -0.8173 -0.5528 -0.1626 +vn -0.9070 -0.3805 -0.1804 +vn -0.9622 -0.1939 -0.1914 +vn -0.8544 -0.3805 -0.3539 +vn -0.7699 -0.5528 -0.3189 +vn -0.9063 -0.1939 -0.3754 +vn -0.1857 -0.9796 -0.0769 +vn -0.3584 -0.9217 -0.1484 +vn -0.5172 -0.8286 -0.2142 +vn -0.6561 -0.7041 -0.2718 +vn -0.3225 -0.9217 -0.2155 +vn -0.1671 -0.9796 -0.1117 +vn -0.4654 -0.8286 -0.3110 +vn -0.5905 -0.7041 -0.3945 +vn -0.6929 -0.5528 -0.4630 +vn -0.7689 -0.3805 -0.5138 +vn -0.8157 -0.1939 -0.5450 +vn -0.6539 -0.3805 -0.6539 +vn -0.5893 -0.5528 -0.5893 +vn -0.6937 -0.1939 -0.6937 +vn -0.1421 -0.9796 -0.1421 +vn -0.2743 -0.9217 -0.2743 +vn -0.3958 -0.8286 -0.3958 +vn -0.5021 -0.7041 -0.5021 +vn -0.3110 -0.8286 -0.4654 +vn -0.2155 -0.9217 -0.3225 +vn -0.3945 -0.7041 -0.5905 +vn -0.4630 -0.5528 -0.6929 +vn -0.5138 -0.3805 -0.7689 +vn -0.5450 -0.1939 -0.8157 +vn -0.1117 -0.9796 -0.1671 +vn -0.3754 -0.1939 -0.9063 +vn -0.3539 -0.3805 -0.8544 +vn -0.0769 -0.9796 -0.1857 +vn -0.1484 -0.9217 -0.3584 +vn -0.2142 -0.8286 -0.5172 +vn -0.2718 -0.7041 -0.6561 +vn -0.3189 -0.5528 -0.7699 +vn -0.1385 -0.7041 -0.6965 +vn -0.1092 -0.8286 -0.5490 +vn -0.1626 -0.5528 -0.8173 +vn -0.1804 -0.3805 -0.9070 +vn -0.1914 -0.1939 -0.9622 +vn -0.0392 -0.9796 -0.1971 +vn -0.0757 -0.9217 -0.3804 +usemtl None +s 1 +f 258/1/1 14/2/2 22/3/3 259/4/4 +f 259/4/4 22/3/3 30/5/5 260/6/6 +f 260/6/6 30/5/5 1/7/7 261/8/8 +f 261/8/8 1/7/7 45/9/9 263/10/10 +f 263/10/10 45/9/9 53/11/11 264/12/12 +f 264/12/12 53/11/11 61/13/13 265/14/14 +f 265/14/14 61/13/13 69/15/15 266/16/16 +f 266/16/16 69/15/15 77/17/17 267/18/18 +f 267/18/18 77/17/17 2/19/19 268/20/20 +f 268/20/20 2/19/19 92/21/21 270/22/22 +f 270/22/22 92/21/21 100/23/23 271/24/24 +f 271/24/24 100/23/23 3/25/25 272/26/26 +f 272/26/26 3/25/25 115/27/27 274/28/28 +f 274/28/28 115/27/27 4/29/29 275/30/30 +f 275/30/30 4/29/29 130/31/31 277/32/32 +f 277/32/32 130/31/31 138/33/33 278/34/34 +f 278/34/34 138/33/33 146/35/35 279/36/36 +f 279/36/36 146/35/35 154/37/37 280/38/38 +f 280/38/38 154/37/37 5/39/39 281/40/40 +f 281/40/40 5/39/39 170/41/41 283/42/42 +f 283/42/42 170/41/41 178/43/43 284/44/44 +f 284/44/44 178/43/43 186/45/45 285/46/46 +f 285/46/46 186/45/45 6/47/47 286/48/48 +f 286/48/48 6/47/47 201/49/49 288/50/50 +f 288/50/50 201/49/49 209/51/51 289/52/52 +f 289/52/52 209/51/51 217/53/53 290/54/54 +f 290/54/54 217/53/53 225/55/55 291/56/56 +f 291/56/56 225/55/55 233/57/57 292/58/58 +f 292/58/58 233/57/57 241/59/59 293/60/60 +f 293/60/60 241/59/59 249/61/61 294/62/62 +f 294/62/62 249/61/61 257/63/63 295/64/64 +f 295/64/64 257/63/63 14/65/2 258/66/1 +f 13/67/65 12/68/66 20/69/67 21/70/68 +f 14/71/2 13/67/65 21/70/68 22/72/3 +f 7/73/69 162/74/70 15/75/71 +f 8/76/72 7/73/69 15/75/71 16/77/73 +f 9/78/74 8/76/72 16/77/73 17/79/75 +f 10/80/76 9/78/74 17/79/75 18/81/77 +f 11/82/78 10/80/76 18/81/77 19/83/79 +f 12/68/66 11/82/78 19/83/79 20/69/67 +f 20/69/67 19/83/79 27/84/80 28/85/81 +f 21/70/68 20/69/67 28/85/81 29/86/82 +f 22/72/3 21/70/68 29/86/82 30/87/5 +f 15/75/71 162/88/70 23/89/83 +f 16/77/73 15/75/71 23/89/83 24/90/84 +f 17/79/75 16/77/73 24/90/84 25/91/85 +f 18/81/77 17/79/75 25/91/85 26/92/86 +f 19/83/79 18/81/77 26/92/86 27/84/80 +f 25/91/85 24/90/84 32/93/87 33/94/88 +f 26/92/86 25/91/85 33/94/88 34/95/89 +f 27/84/80 26/92/86 34/95/89 35/96/90 +f 28/85/81 27/84/80 35/96/90 36/97/91 +f 29/86/82 28/85/81 36/97/91 37/98/92 +f 30/87/5 29/86/82 37/98/92 1/99/7 +f 23/89/83 162/100/70 31/101/93 +f 24/90/84 23/89/83 31/101/93 32/93/87 +f 37/98/92 36/97/91 43/102/94 44/103/95 +f 1/99/7 37/98/92 44/103/95 45/104/9 +f 31/101/93 162/105/70 38/106/96 +f 32/93/87 31/101/93 38/106/96 39/107/97 +f 33/94/88 32/93/87 39/107/97 40/108/98 +f 34/95/89 33/94/88 40/108/98 41/109/99 +f 35/96/90 34/95/89 41/109/99 42/110/100 +f 36/97/91 35/96/90 42/110/100 43/102/94 +f 40/108/98 39/107/97 47/111/101 48/112/102 +f 41/109/99 40/108/98 48/112/102 49/113/103 +f 42/110/100 41/109/99 49/113/103 50/114/104 +f 43/102/94 42/110/100 50/114/104 51/115/105 +f 44/103/95 43/102/94 51/115/105 52/116/106 +f 45/104/9 44/103/95 52/116/106 53/117/11 +f 38/106/96 162/118/70 46/119/107 +f 39/107/97 38/106/96 46/119/107 47/111/101 +f 52/116/106 51/115/105 59/120/108 60/121/109 +f 53/117/11 52/116/106 60/121/109 61/122/13 +f 46/119/107 162/123/70 54/124/110 +f 47/111/101 46/119/107 54/124/110 55/125/111 +f 48/112/102 47/111/101 55/125/111 56/126/112 +f 49/113/103 48/112/102 56/126/112 57/127/113 +f 50/114/104 49/113/103 57/127/113 58/128/114 +f 51/115/105 50/114/104 58/128/114 59/120/108 +f 57/127/113 56/126/112 64/129/115 65/130/116 +f 58/128/114 57/127/113 65/130/116 66/131/117 +f 59/120/108 58/128/114 66/131/117 67/132/118 +f 60/121/109 59/120/108 67/132/118 68/133/119 +f 61/122/13 60/121/109 68/133/119 69/134/15 +f 54/124/110 162/135/70 62/136/120 +f 55/125/111 54/124/110 62/136/120 63/137/121 +f 56/126/112 55/125/111 63/137/121 64/129/115 +f 69/134/15 68/133/119 76/138/122 77/139/17 +f 62/136/120 162/140/70 70/141/123 +f 63/137/121 62/136/120 70/141/123 71/142/124 +f 64/129/115 63/137/121 71/142/124 72/143/125 +f 65/130/116 64/129/115 72/143/125 73/144/126 +f 66/131/117 65/130/116 73/144/126 74/145/127 +f 67/132/118 66/131/117 74/145/127 75/146/128 +f 68/133/119 67/132/118 75/146/128 76/138/122 +f 73/144/126 72/143/125 80/147/129 81/148/130 +f 74/145/127 73/144/126 81/148/130 82/149/131 +f 75/146/128 74/145/127 82/149/131 83/150/132 +f 76/138/122 75/146/128 83/150/132 84/151/133 +f 77/139/17 76/138/122 84/151/133 2/152/19 +f 70/141/123 162/153/70 78/154/134 +f 71/142/124 70/141/123 78/154/134 79/155/135 +f 72/143/125 71/142/124 79/155/135 80/147/129 +f 2/152/19 84/151/133 91/156/136 92/157/21 +f 78/154/134 162/158/70 85/159/137 +f 79/155/135 78/154/134 85/159/137 86/160/138 +f 80/147/129 79/155/135 86/160/138 87/161/139 +f 81/148/130 80/147/129 87/161/139 88/162/140 +f 82/149/131 81/148/130 88/162/140 89/163/141 +f 83/150/132 82/149/131 89/163/141 90/164/142 +f 84/151/133 83/150/132 90/164/142 91/156/136 +f 89/163/141 88/162/140 96/165/143 97/166/144 +f 90/164/142 89/163/141 97/166/144 98/167/145 +f 91/156/136 90/164/142 98/167/145 99/168/146 +f 92/157/21 91/156/136 99/168/146 100/169/23 +f 85/159/137 162/170/70 93/171/147 +f 86/160/138 85/159/137 93/171/147 94/172/148 +f 87/161/139 86/160/138 94/172/148 95/173/149 +f 88/162/140 87/161/139 95/173/149 96/165/143 +f 94/172/148 93/171/147 101/174/150 102/175/151 +f 95/173/149 94/172/148 102/175/151 103/176/152 +f 96/165/143 95/173/149 103/176/152 104/177/153 +f 97/166/144 96/165/143 104/177/153 105/178/154 +f 98/167/145 97/166/144 105/178/154 106/179/155 +f 99/168/146 98/167/145 106/179/155 107/180/156 +f 100/169/23 99/168/146 107/180/156 3/181/25 +f 93/171/147 162/182/70 101/174/150 +f 106/179/155 105/178/154 112/183/157 113/184/158 +f 107/180/156 106/179/155 113/184/158 114/185/159 +f 3/181/25 107/180/156 114/185/159 115/186/27 +f 101/174/150 162/187/70 108/188/160 +f 102/175/151 101/174/150 108/188/160 109/189/161 +f 103/176/152 102/175/151 109/189/161 110/190/162 +f 104/177/153 103/176/152 110/190/162 111/191/163 +f 105/178/154 104/177/153 111/191/163 112/183/157 +f 109/189/161 108/188/160 116/192/164 117/193/165 +f 110/190/162 109/189/161 117/193/165 118/194/166 +f 111/191/163 110/190/162 118/194/166 119/195/167 +f 112/183/157 111/191/163 119/195/167 120/196/168 +f 113/184/158 112/183/157 120/196/168 121/197/169 +f 114/185/159 113/184/158 121/197/169 122/198/170 +f 115/186/27 114/185/159 122/198/170 4/199/29 +f 108/188/160 162/200/70 116/192/164 +f 121/197/169 120/196/168 127/201/171 128/202/172 +f 122/198/170 121/197/169 128/202/172 129/203/173 +f 4/199/29 122/198/170 129/203/173 130/204/31 +f 116/192/164 162/205/70 123/206/174 +f 117/193/165 116/192/164 123/206/174 124/207/175 +f 118/194/166 117/193/165 124/207/175 125/208/176 +f 119/195/167 118/194/166 125/208/176 126/209/177 +f 120/196/168 119/195/167 126/209/177 127/201/171 +f 125/208/176 124/207/175 132/210/178 133/211/179 +f 126/209/177 125/208/176 133/211/179 134/212/180 +f 127/201/171 126/209/177 134/212/180 135/213/181 +f 128/202/172 127/201/171 135/213/181 136/214/182 +f 129/203/173 128/202/172 136/214/182 137/215/183 +f 130/204/31 129/203/173 137/215/183 138/216/33 +f 123/206/174 162/217/70 131/218/184 +f 124/207/175 123/206/174 131/218/184 132/210/178 +f 137/215/183 136/214/182 144/219/185 145/220/186 +f 138/216/33 137/215/183 145/220/186 146/221/35 +f 131/218/184 162/222/70 139/223/187 +f 132/210/178 131/218/184 139/223/187 140/224/188 +f 133/211/179 132/210/178 140/224/188 141/225/189 +f 134/212/180 133/211/179 141/225/189 142/226/190 +f 135/213/181 134/212/180 142/226/190 143/227/191 +f 136/214/182 135/213/181 143/227/191 144/219/185 +f 141/225/189 140/224/188 148/228/192 149/229/193 +f 142/226/190 141/225/189 149/229/193 150/230/194 +f 143/227/191 142/226/190 150/230/194 151/231/195 +f 144/219/185 143/227/191 151/231/195 152/232/196 +f 145/220/186 144/219/185 152/232/196 153/233/197 +f 146/221/35 145/220/186 153/233/197 154/234/37 +f 139/223/187 162/235/70 147/236/198 +f 140/224/188 139/223/187 147/236/198 148/228/192 +f 153/233/197 152/232/196 160/237/199 161/238/200 +f 154/234/37 153/233/197 161/238/200 5/239/39 +f 147/236/198 162/240/70 155/241/201 +f 148/228/192 147/236/198 155/241/201 156/242/202 +f 149/229/193 148/228/192 156/242/202 157/243/203 +f 150/230/194 149/229/193 157/243/203 158/244/204 +f 151/231/195 150/230/194 158/244/204 159/245/205 +f 152/232/196 151/231/195 159/245/205 160/237/199 +f 158/244/204 157/243/203 165/246/206 166/247/207 +f 159/245/205 158/244/204 166/247/207 167/248/208 +f 160/237/199 159/245/205 167/248/208 168/249/209 +f 161/238/200 160/237/199 168/249/209 169/250/210 +f 5/239/39 161/238/200 169/250/210 170/251/41 +f 155/241/201 162/252/70 163/253/211 +f 156/242/202 155/241/201 163/253/211 164/254/212 +f 157/243/203 156/242/202 164/254/212 165/246/206 +f 170/251/41 169/250/210 177/255/213 178/256/43 +f 163/253/211 162/257/70 171/258/214 +f 164/254/212 163/253/211 171/258/214 172/259/215 +f 165/246/206 164/254/212 172/259/215 173/260/216 +f 166/247/207 165/246/206 173/260/216 174/261/217 +f 167/248/208 166/247/207 174/261/217 175/262/218 +f 168/249/209 167/248/208 175/262/218 176/263/219 +f 169/250/210 168/249/209 176/263/219 177/255/213 +f 175/262/218 174/261/217 182/264/220 183/265/221 +f 176/263/219 175/262/218 183/265/221 184/266/222 +f 177/255/213 176/263/219 184/266/222 185/267/223 +f 178/256/43 177/255/213 185/267/223 186/268/45 +f 171/258/214 162/269/70 179/270/224 +f 172/259/215 171/258/214 179/270/224 180/271/225 +f 173/260/216 172/259/215 180/271/225 181/272/226 +f 174/261/217 173/260/216 181/272/226 182/264/220 +f 179/270/224 162/273/70 187/274/227 +f 180/271/225 179/270/224 187/274/227 188/275/228 +f 181/272/226 180/271/225 188/275/228 189/276/229 +f 182/264/220 181/272/226 189/276/229 190/277/230 +f 183/265/221 182/264/220 190/277/230 191/278/231 +f 184/266/222 183/265/221 191/278/231 192/279/232 +f 185/267/223 184/266/222 192/279/232 193/280/233 +f 186/268/45 185/267/223 193/280/233 6/281/47 +f 191/278/231 190/277/230 197/282/234 198/283/235 +f 192/279/232 191/278/231 198/283/235 199/284/236 +f 193/280/233 192/279/232 199/284/236 200/285/237 +f 6/281/47 193/280/233 200/285/237 201/286/49 +f 187/274/227 162/287/70 194/288/238 +f 188/275/228 187/274/227 194/288/238 195/289/239 +f 189/276/229 188/275/228 195/289/239 196/290/240 +f 190/277/230 189/276/229 196/290/240 197/282/234 +f 195/291/239 194/292/238 202/293/241 203/294/242 +f 196/295/240 195/291/239 203/294/242 204/296/243 +f 197/297/234 196/295/240 204/296/243 205/298/244 +f 198/299/235 197/297/234 205/298/244 206/300/245 +f 199/301/236 198/299/235 206/300/245 207/302/246 +f 200/303/237 199/301/236 207/302/246 208/304/247 +f 201/305/49 200/303/237 208/304/247 209/306/51 +f 194/292/238 162/307/70 202/293/241 +f 207/302/246 206/300/245 214/308/248 215/309/249 +f 208/304/247 207/302/246 215/309/249 216/310/250 +f 209/306/51 208/304/247 216/310/250 217/311/53 +f 202/293/241 162/312/70 210/313/251 +f 203/294/242 202/293/241 210/313/251 211/314/252 +f 204/296/243 203/294/242 211/314/252 212/315/253 +f 205/298/244 204/296/243 212/315/253 213/316/254 +f 206/300/245 205/298/244 213/316/254 214/308/248 +f 211/314/252 210/313/251 218/317/255 219/318/256 +f 212/315/253 211/314/252 219/318/256 220/319/257 +f 213/316/254 212/315/253 220/319/257 221/320/258 +f 214/308/248 213/316/254 221/320/258 222/321/259 +f 215/309/249 214/308/248 222/321/259 223/322/260 +f 216/310/250 215/309/249 223/322/260 224/323/261 +f 217/311/53 216/310/250 224/323/261 225/324/55 +f 210/313/251 162/325/70 218/317/255 +f 223/322/260 222/321/259 230/326/262 231/327/263 +f 224/323/261 223/322/260 231/327/263 232/328/264 +f 225/324/55 224/323/261 232/328/264 233/329/57 +f 218/317/255 162/330/70 226/331/265 +f 219/318/256 218/317/255 226/331/265 227/332/266 +f 220/319/257 219/318/256 227/332/266 228/333/267 +f 221/320/258 220/319/257 228/333/267 229/334/268 +f 222/321/259 221/320/258 229/334/268 230/326/262 +f 228/333/267 227/332/266 235/335/269 236/336/270 +f 229/334/268 228/333/267 236/336/270 237/337/271 +f 230/326/262 229/334/268 237/337/271 238/338/272 +f 231/327/263 230/326/262 238/338/272 239/339/273 +f 232/328/264 231/327/263 239/339/273 240/340/274 +f 233/329/57 232/328/264 240/340/274 241/341/59 +f 226/331/265 162/342/70 234/343/275 +f 227/332/266 226/331/265 234/343/275 235/335/269 +f 240/340/274 239/339/273 247/344/276 248/345/277 +f 241/341/59 240/340/274 248/345/277 249/346/61 +f 234/343/275 162/347/70 242/348/278 +f 235/335/269 234/343/275 242/348/278 243/349/279 +f 236/336/270 235/335/269 243/349/279 244/350/280 +f 237/337/271 236/336/270 244/350/280 245/351/281 +f 238/338/272 237/337/271 245/351/281 246/352/282 +f 239/339/273 238/338/272 246/352/282 247/344/276 +f 245/351/281 244/350/280 252/353/283 253/354/284 +f 246/352/282 245/351/281 253/354/284 254/355/285 +f 247/344/276 246/352/282 254/355/285 255/356/286 +f 248/345/277 247/344/276 255/356/286 256/357/287 +f 249/346/61 248/345/277 256/357/287 257/358/63 +f 242/348/278 162/359/70 250/360/288 +f 243/349/279 242/348/278 250/360/288 251/361/289 +f 244/350/280 243/349/279 251/361/289 252/353/283 +f 257/358/63 256/357/287 13/67/65 14/71/2 +f 250/360/288 162/362/70 7/73/69 +f 251/361/289 250/360/288 7/73/69 8/76/72 +f 252/353/283 251/361/289 8/76/72 9/78/74 +f 253/354/284 252/353/283 9/78/74 10/80/76 +f 254/355/285 253/354/284 10/80/76 11/82/78 +f 255/356/286 254/355/285 11/82/78 12/68/66 +f 256/357/287 255/356/286 12/68/66 13/67/65 +f 258/1/1 259/4/4 311/363/290 303/364/291 +f 259/4/4 260/6/6 319/365/292 311/363/290 +f 260/6/6 261/8/8 262/366/293 319/365/292 +f 261/8/8 263/10/10 334/367/294 262/366/293 +f 263/10/10 264/12/12 342/368/295 334/367/294 +f 264/12/12 265/14/14 350/369/296 342/368/295 +f 265/14/14 266/16/16 358/370/297 350/369/296 +f 266/16/16 267/18/18 366/371/298 358/370/297 +f 267/18/18 268/20/20 269/372/299 366/371/298 +f 268/20/20 270/22/22 381/373/300 269/372/299 +f 270/22/22 271/24/24 389/374/301 381/373/300 +f 271/24/24 272/26/26 273/375/302 389/374/301 +f 272/26/26 274/28/28 404/376/303 273/375/302 +f 274/28/28 275/30/30 276/377/304 404/376/303 +f 275/30/30 277/32/32 419/378/305 276/377/304 +f 277/32/32 278/34/34 427/379/306 419/378/305 +f 278/34/34 279/36/36 435/380/307 427/379/306 +f 279/36/36 280/38/38 443/381/308 435/380/307 +f 280/38/38 281/40/40 282/382/309 443/381/308 +f 281/40/40 283/42/42 459/383/310 282/382/309 +f 283/42/42 284/44/44 467/384/311 459/383/310 +f 284/44/44 285/46/46 475/385/312 467/384/311 +f 285/46/46 286/48/48 287/386/313 475/385/312 +f 286/48/48 288/50/50 490/387/314 287/386/313 +f 288/50/50 289/52/52 498/388/315 490/387/314 +f 289/52/52 290/54/54 506/389/316 498/388/315 +f 290/54/54 291/56/56 514/390/317 506/389/316 +f 291/56/56 292/58/58 522/391/318 514/390/317 +f 292/58/58 293/60/60 530/392/319 522/391/318 +f 293/60/60 294/62/62 538/393/320 530/392/319 +f 294/62/62 295/64/64 546/394/321 538/393/320 +f 295/64/64 258/66/1 303/395/291 546/394/321 +f 302/396/322 310/397/323 309/398/324 301/399/325 +f 303/400/291 311/401/290 310/397/323 302/396/322 +f 296/402/326 304/403/327 451/404/328 +f 297/405/329 305/406/330 304/403/327 296/402/326 +f 298/407/331 306/408/332 305/406/330 297/405/329 +f 299/409/333 307/410/334 306/408/332 298/407/331 +f 300/411/335 308/412/336 307/410/334 299/409/333 +f 301/399/325 309/398/324 308/412/336 300/411/335 +f 309/398/324 317/413/337 316/414/338 308/412/336 +f 310/397/323 318/415/339 317/413/337 309/398/324 +f 311/401/290 319/416/292 318/415/339 310/397/323 +f 304/403/327 312/417/340 451/418/328 +f 305/406/330 313/419/341 312/417/340 304/403/327 +f 306/408/332 314/420/342 313/419/341 305/406/330 +f 307/410/334 315/421/343 314/420/342 306/408/332 +f 308/412/336 316/414/338 315/421/343 307/410/334 +f 314/420/342 322/422/344 321/423/345 313/419/341 +f 315/421/343 323/424/346 322/422/344 314/420/342 +f 316/414/338 324/425/347 323/424/346 315/421/343 +f 317/413/337 325/426/348 324/425/347 316/414/338 +f 318/415/339 326/427/349 325/426/348 317/413/337 +f 319/416/292 262/428/293 326/427/349 318/415/339 +f 312/417/340 320/429/350 451/430/328 +f 313/419/341 321/423/345 320/429/350 312/417/340 +f 326/427/349 333/431/351 332/432/352 325/426/348 +f 262/428/293 334/433/294 333/431/351 326/427/349 +f 320/429/350 327/434/353 451/435/328 +f 321/423/345 328/436/354 327/434/353 320/429/350 +f 322/422/344 329/437/355 328/436/354 321/423/345 +f 323/424/346 330/438/356 329/437/355 322/422/344 +f 324/425/347 331/439/357 330/438/356 323/424/346 +f 325/426/348 332/432/352 331/439/357 324/425/347 +f 329/437/355 337/440/358 336/441/359 328/436/354 +f 330/438/356 338/442/360 337/440/358 329/437/355 +f 331/439/357 339/443/361 338/442/360 330/438/356 +f 332/432/352 340/444/362 339/443/361 331/439/357 +f 333/431/351 341/445/363 340/444/362 332/432/352 +f 334/433/294 342/446/295 341/445/363 333/431/351 +f 327/434/353 335/447/364 451/448/328 +f 328/436/354 336/441/359 335/447/364 327/434/353 +f 341/445/363 349/449/365 348/450/366 340/444/362 +f 342/446/295 350/451/296 349/449/365 341/445/363 +f 335/447/364 343/452/367 451/453/328 +f 336/441/359 344/454/368 343/452/367 335/447/364 +f 337/440/358 345/455/369 344/454/368 336/441/359 +f 338/442/360 346/456/370 345/455/369 337/440/358 +f 339/443/361 347/457/371 346/456/370 338/442/360 +f 340/444/362 348/450/366 347/457/371 339/443/361 +f 346/456/370 354/458/372 353/459/373 345/455/369 +f 347/457/371 355/460/374 354/458/372 346/456/370 +f 348/450/366 356/461/375 355/460/374 347/457/371 +f 349/449/365 357/462/376 356/461/375 348/450/366 +f 350/451/296 358/463/297 357/462/376 349/449/365 +f 343/452/367 351/464/377 451/465/328 +f 344/454/368 352/466/378 351/464/377 343/452/367 +f 345/455/369 353/459/373 352/466/378 344/454/368 +f 358/463/297 366/467/298 365/468/379 357/462/376 +f 351/464/377 359/469/380 451/470/328 +f 352/466/378 360/471/381 359/469/380 351/464/377 +f 353/459/373 361/472/382 360/471/381 352/466/378 +f 354/458/372 362/473/383 361/472/382 353/459/373 +f 355/460/374 363/474/384 362/473/383 354/458/372 +f 356/461/375 364/475/385 363/474/384 355/460/374 +f 357/462/376 365/468/379 364/475/385 356/461/375 +f 362/473/383 370/476/386 369/477/387 361/472/382 +f 363/474/384 371/478/388 370/476/386 362/473/383 +f 364/475/385 372/479/389 371/478/388 363/474/384 +f 365/468/379 373/480/390 372/479/389 364/475/385 +f 366/467/298 269/481/299 373/480/390 365/468/379 +f 359/469/380 367/482/391 451/483/328 +f 360/471/381 368/484/392 367/482/391 359/469/380 +f 361/472/382 369/477/387 368/484/392 360/471/381 +f 269/481/299 381/485/300 380/486/393 373/480/390 +f 367/482/391 374/487/394 451/488/328 +f 368/484/392 375/489/395 374/487/394 367/482/391 +f 369/477/387 376/490/396 375/489/395 368/484/392 +f 370/476/386 377/491/397 376/490/396 369/477/387 +f 371/478/388 378/492/398 377/491/397 370/476/386 +f 372/479/389 379/493/399 378/492/398 371/478/388 +f 373/480/390 380/486/393 379/493/399 372/479/389 +f 378/492/398 386/494/400 385/495/401 377/491/397 +f 379/493/399 387/496/402 386/494/400 378/492/398 +f 380/486/393 388/497/403 387/496/402 379/493/399 +f 381/485/300 389/498/301 388/497/403 380/486/393 +f 374/487/394 382/499/404 451/500/328 +f 375/489/395 383/501/405 382/499/404 374/487/394 +f 376/490/396 384/502/406 383/501/405 375/489/395 +f 377/491/397 385/495/401 384/502/406 376/490/396 +f 383/501/405 391/503/407 390/504/408 382/499/404 +f 384/502/406 392/505/409 391/503/407 383/501/405 +f 385/495/401 393/506/410 392/505/409 384/502/406 +f 386/494/400 394/507/411 393/506/410 385/495/401 +f 387/496/402 395/508/412 394/507/411 386/494/400 +f 388/497/403 396/509/413 395/508/412 387/496/402 +f 389/498/301 273/510/302 396/509/413 388/497/403 +f 382/499/404 390/504/408 451/511/328 +f 395/508/412 402/512/414 401/513/415 394/507/411 +f 396/509/413 403/514/416 402/512/414 395/508/412 +f 273/510/302 404/515/303 403/514/416 396/509/413 +f 390/504/408 397/516/417 451/517/328 +f 391/503/407 398/518/418 397/516/417 390/504/408 +f 392/505/409 399/519/419 398/518/418 391/503/407 +f 393/506/410 400/520/420 399/519/419 392/505/409 +f 394/507/411 401/513/415 400/520/420 393/506/410 +f 398/518/418 406/521/421 405/522/422 397/516/417 +f 399/519/419 407/523/423 406/521/421 398/518/418 +f 400/520/420 408/524/424 407/523/423 399/519/419 +f 401/513/415 409/525/425 408/524/424 400/520/420 +f 402/512/414 410/526/426 409/525/425 401/513/415 +f 403/514/416 411/527/427 410/526/426 402/512/414 +f 404/515/303 276/528/304 411/527/427 403/514/416 +f 397/516/417 405/522/422 451/529/328 +f 410/526/426 417/530/428 416/531/429 409/525/425 +f 411/527/427 418/532/430 417/530/428 410/526/426 +f 276/528/304 419/533/305 418/532/430 411/527/427 +f 405/522/422 412/534/431 451/535/328 +f 406/521/421 413/536/432 412/534/431 405/522/422 +f 407/523/423 414/537/433 413/536/432 406/521/421 +f 408/524/424 415/538/434 414/537/433 407/523/423 +f 409/525/425 416/531/429 415/538/434 408/524/424 +f 414/537/433 422/539/435 421/540/436 413/536/432 +f 415/538/434 423/541/437 422/539/435 414/537/433 +f 416/531/429 424/542/438 423/541/437 415/538/434 +f 417/530/428 425/543/439 424/542/438 416/531/429 +f 418/532/430 426/544/440 425/543/439 417/530/428 +f 419/533/305 427/545/306 426/544/440 418/532/430 +f 412/534/431 420/546/441 451/547/328 +f 413/536/432 421/540/436 420/546/441 412/534/431 +f 426/544/440 434/548/442 433/549/443 425/543/439 +f 427/545/306 435/550/307 434/548/442 426/544/440 +f 420/546/441 428/551/444 451/552/328 +f 421/540/436 429/553/445 428/551/444 420/546/441 +f 422/539/435 430/554/446 429/553/445 421/540/436 +f 423/541/437 431/555/447 430/554/446 422/539/435 +f 424/542/438 432/556/448 431/555/447 423/541/437 +f 425/543/439 433/549/443 432/556/448 424/542/438 +f 430/554/446 438/557/449 437/558/450 429/553/445 +f 431/555/447 439/559/451 438/557/449 430/554/446 +f 432/556/448 440/560/452 439/559/451 431/555/447 +f 433/549/443 441/561/453 440/560/452 432/556/448 +f 434/548/442 442/562/454 441/561/453 433/549/443 +f 435/550/307 443/563/308 442/562/454 434/548/442 +f 428/551/444 436/564/455 451/565/328 +f 429/553/445 437/558/450 436/564/455 428/551/444 +f 442/562/454 450/566/456 449/567/457 441/561/453 +f 443/563/308 282/568/309 450/566/456 442/562/454 +f 436/564/455 444/569/458 451/570/328 +f 437/558/450 445/571/459 444/569/458 436/564/455 +f 438/557/449 446/572/460 445/571/459 437/558/450 +f 439/559/451 447/573/461 446/572/460 438/557/449 +f 440/560/452 448/574/462 447/573/461 439/559/451 +f 441/561/453 449/567/457 448/574/462 440/560/452 +f 447/573/461 455/575/463 454/576/464 446/572/460 +f 448/574/462 456/577/465 455/575/463 447/573/461 +f 449/567/457 457/578/466 456/577/465 448/574/462 +f 450/566/456 458/579/467 457/578/466 449/567/457 +f 282/568/309 459/580/310 458/579/467 450/566/456 +f 444/569/458 452/581/468 451/582/328 +f 445/571/459 453/583/469 452/581/468 444/569/458 +f 446/572/460 454/576/464 453/583/469 445/571/459 +f 459/580/310 467/584/311 466/585/470 458/579/467 +f 452/581/468 460/586/471 451/587/328 +f 453/583/469 461/588/472 460/586/471 452/581/468 +f 454/576/464 462/589/473 461/588/472 453/583/469 +f 455/575/463 463/590/474 462/589/473 454/576/464 +f 456/577/465 464/591/475 463/590/474 455/575/463 +f 457/578/466 465/592/476 464/591/475 456/577/465 +f 458/579/467 466/585/470 465/592/476 457/578/466 +f 464/591/475 472/593/477 471/594/478 463/590/474 +f 465/592/476 473/595/479 472/593/477 464/591/475 +f 466/585/470 474/596/480 473/595/479 465/592/476 +f 467/584/311 475/597/312 474/596/480 466/585/470 +f 460/586/471 468/598/481 451/599/328 +f 461/588/472 469/600/482 468/598/481 460/586/471 +f 462/589/473 470/601/483 469/600/482 461/588/472 +f 463/590/474 471/594/478 470/601/483 462/589/473 +f 468/598/481 476/602/484 451/603/328 +f 469/600/482 477/604/485 476/602/484 468/598/481 +f 470/601/483 478/605/486 477/604/485 469/600/482 +f 471/594/478 479/606/487 478/605/486 470/601/483 +f 472/593/477 480/607/488 479/606/487 471/594/478 +f 473/595/479 481/608/489 480/607/488 472/593/477 +f 474/596/480 482/609/490 481/608/489 473/595/479 +f 475/597/312 287/610/313 482/609/490 474/596/480 +f 480/607/488 487/611/491 486/612/492 479/606/487 +f 481/608/489 488/613/493 487/611/491 480/607/488 +f 482/609/490 489/614/494 488/613/493 481/608/489 +f 287/610/313 490/615/314 489/614/494 482/609/490 +f 476/602/484 483/616/495 451/617/328 +f 477/604/485 484/618/496 483/616/495 476/602/484 +f 478/605/486 485/619/497 484/618/496 477/604/485 +f 479/606/487 486/612/492 485/619/497 478/605/486 +f 484/620/496 492/621/498 491/622/499 483/623/495 +f 485/624/497 493/625/500 492/621/498 484/620/496 +f 486/626/492 494/627/501 493/625/500 485/624/497 +f 487/628/491 495/629/502 494/627/501 486/626/492 +f 488/630/493 496/631/503 495/629/502 487/628/491 +f 489/632/494 497/633/504 496/631/503 488/630/493 +f 490/634/314 498/635/315 497/633/504 489/632/494 +f 483/623/495 491/622/499 451/636/328 +f 496/631/503 504/637/505 503/638/506 495/629/502 +f 497/633/504 505/639/507 504/637/505 496/631/503 +f 498/635/315 506/640/316 505/639/507 497/633/504 +f 491/622/499 499/641/508 451/642/328 +f 492/621/498 500/643/509 499/641/508 491/622/499 +f 493/625/500 501/644/510 500/643/509 492/621/498 +f 494/627/501 502/645/511 501/644/510 493/625/500 +f 495/629/502 503/638/506 502/645/511 494/627/501 +f 500/643/509 508/646/512 507/647/513 499/641/508 +f 501/644/510 509/648/514 508/646/512 500/643/509 +f 502/645/511 510/649/515 509/648/514 501/644/510 +f 503/638/506 511/650/516 510/649/515 502/645/511 +f 504/637/505 512/651/517 511/650/516 503/638/506 +f 505/639/507 513/652/518 512/651/517 504/637/505 +f 506/640/316 514/653/317 513/652/518 505/639/507 +f 499/641/508 507/647/513 451/654/328 +f 512/651/517 520/655/519 519/656/520 511/650/516 +f 513/652/518 521/657/521 520/655/519 512/651/517 +f 514/653/317 522/658/318 521/657/521 513/652/518 +f 507/647/513 515/659/522 451/660/328 +f 508/646/512 516/661/523 515/659/522 507/647/513 +f 509/648/514 517/662/524 516/661/523 508/646/512 +f 510/649/515 518/663/525 517/662/524 509/648/514 +f 511/650/516 519/656/520 518/663/525 510/649/515 +f 517/662/524 525/664/526 524/665/527 516/661/523 +f 518/663/525 526/666/528 525/664/526 517/662/524 +f 519/656/520 527/667/529 526/666/528 518/663/525 +f 520/655/519 528/668/530 527/667/529 519/656/520 +f 521/657/521 529/669/531 528/668/530 520/655/519 +f 522/658/318 530/670/319 529/669/531 521/657/521 +f 515/659/522 523/671/532 451/672/328 +f 516/661/523 524/665/527 523/671/532 515/659/522 +f 529/669/531 537/673/533 536/674/534 528/668/530 +f 530/670/319 538/675/320 537/673/533 529/669/531 +f 523/671/532 531/676/535 451/677/328 +f 524/665/527 532/678/536 531/676/535 523/671/532 +f 525/664/526 533/679/537 532/678/536 524/665/527 +f 526/666/528 534/680/538 533/679/537 525/664/526 +f 527/667/529 535/681/539 534/680/538 526/666/528 +f 528/668/530 536/674/534 535/681/539 527/667/529 +f 534/680/538 542/682/540 541/683/541 533/679/537 +f 535/681/539 543/684/542 542/682/540 534/680/538 +f 536/674/534 544/685/543 543/684/542 535/681/539 +f 537/673/533 545/686/544 544/685/543 536/674/534 +f 538/675/320 546/687/321 545/686/544 537/673/533 +f 531/676/535 539/688/545 451/689/328 +f 532/678/536 540/690/546 539/688/545 531/676/535 +f 533/679/537 541/683/541 540/690/546 532/678/536 +f 546/687/321 303/400/291 302/396/322 545/686/544 +f 539/688/545 296/402/326 451/691/328 +f 540/690/546 297/405/329 296/402/326 539/688/545 +f 541/683/541 298/407/331 297/405/329 540/690/546 +f 542/682/540 299/409/333 298/407/331 541/683/541 +f 543/684/542 300/411/335 299/409/333 542/682/540 +f 544/685/543 301/399/325 300/411/335 543/684/542 +f 545/686/544 302/396/322 301/399/325 544/685/543 diff --git a/demo/main.lua b/demo/main.lua index 1e30618..a1043f1 100644 --- a/demo/main.lua +++ b/demo/main.lua @@ -1,6 +1,8 @@ local min = math.min local max = math.max local cube +local physics_ball +local character local ball local camera @@ -8,6 +10,8 @@ local vx = 0.0 local vy = 0.0 local vz = 0.0 +local character_move_vec = couch.Vector3(0.0, 0.0, 0.0) + local ballvy = -1.0 local cam_rot_x = 0.0 @@ -15,9 +19,9 @@ local cam_rot_y = 0.0 local SPEED = 30 -local WHITE = couch.Color(1.0, 1.0, 1.0) -local RED = couch.Color(1.0, 0.0, 0.0) -local BLUE = couch.Color(0.0, 0.0, 1.0) +local WHITE = couch.Vector3(1.0, 1.0, 1.0) +local RED = couch.Vector3(1.0, 0.0, 0.0) +local BLUE = couch.Vector3(0.0, 0.0, 1.0) local light @@ -54,11 +58,26 @@ function init() physics_ball_mesh:SetMaterial(0, material) physics_ball_prefab.children:Append(physics_ball_mesh); physics_ball_prefab.transform.position = couch.Vector3(0.0, 30.0, -10.0) - local physics_ball = physics_ball_prefab:Instance() + physics_ball = physics_ball_prefab:Instance() couch.Node.GetRoot().children:Append(physics_ball) make_ground() + local character_prefab = couch.Mesh.FromFile("capsule.obj") + material = character_prefab:GetMaterial(0) + material.ambient = BLUE + material.diffuse = BLUE + material.specular = WHITE * 0.1 + character_prefab:SetMaterial(0, material) + local character_body = couch.Rigidbody() + character_body.mass = 1.0 + character_body:SetCollisionShape(couch.CapsuleCollisionShape(1.0, 1.0)) + character_body:SetCharacter(true) + character_body.children:Append(character_prefab) + character_body.transform.position = couch.Vector3(0.0, 3.0, 0.0) + character = character_body:Instance() + couch.Node.GetRoot().children:Append(character) + local cube_prefab = couch.Mesh.FromFile("cube.obj") material = cube_prefab:GetMaterial(0) material.ambient = RED @@ -133,6 +152,9 @@ function update(delta) cube.transform.rotation.y = cube.transform.rotation.y + 2.0 * delta; cube.transform.rotation.z = cube.transform.rotation.z + 1.0 * delta; + + character:ApplyForce(character_move_vec * 10.0) + print(character_move_vec.z) end function action_dir(key, action, pos, neg, curr) @@ -151,12 +173,12 @@ function onkey(key, code, action, mod) vz = action_dir(key, action, couch.KEY_W, couch.KEY_S, vz) vx = action_dir(key, action, couch.KEY_D, couch.KEY_A, vx) vy = action_dir(key, action, couch.KEY_SPACE, couch.KEY_LEFT_CONTROL, vy) - if key == couch.KEY_DOWN and action == couch.ACTION_PRESS then - light.ambient = max(light.ambient - 0.1, 0.0) - elseif key == couch.KEY_UP and action == couch.ACTION_PRESS then - light.ambient = light.ambient + 0.1 - print(light.ambient) + + if key == couch.KEY_J and action == couch.ACTION_PRESS then + physics_ball:ApplyImpulse(couch.Vector3(0.0, 1.0, 0.0) * 10) end + + character_move_vec.z = action_dir(key, action, couch.KEY_DOWN, couch.KEY_UP, character_move_vec.z) end function onmousemotion(_, _, relx, rely) @@ -172,6 +194,13 @@ function make_ground() ground = couch.Spatial():Instance() couch.Node.GetRoot().children:Append(ground) + -- Add a collisionshape + local ground_shape_prefab = couch.Rigidbody() + ground_shape_prefab.mass = 0.0 + ground_shape_prefab:SetCollisionShape(couch.BoxCollisionShape(180.0, 1.0, 180.0)) + ground_shape_prefab.transform:Translate(0.0, -2.5, 0.0) + ground.children:Append(ground_shape_prefab:Instance()) + for x = -20, 20, 1 do for z = -20, 20, 1 do local piece = ground_prefab:Instance() diff --git a/scripting/couch.i b/scripting/couch.i index 4cc6d93..fde4c98 100644 --- a/scripting/couch.i +++ b/scripting/couch.i @@ -17,6 +17,7 @@ #include "Light.h" #include "Skybox.h" #include "Rigidbody.h" +#include "CollisionShape.h" %} typedef float cfloat; @@ -50,3 +51,4 @@ public: %include "Light.h" %include "Skybox.h" %include "Rigidbody.h" +%include "CollisionShape.h"