evas: Evas_3D - add .eet export/import
authorBogdan Devichev <b.devichev@samsung.com>
Mon, 6 Oct 2014 14:27:06 +0000 (16:27 +0200)
committerCedric BAIL <cedric@osg.samsung.com>
Mon, 6 Oct 2014 14:47:25 +0000 (16:47 +0200)
Summary: The first version of .eet format is added. All changes due to discussion in D1307 are done.

Reviewers: artem.popov, se.osadchy, reutskiy.v.v, Hermet, raster, cedric, Oleksander

@feature

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1477

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
15 files changed:
src/Makefile_Evas.am
src/examples/evas/Makefile.am
src/examples/evas/evas-3d-eet.c [new file with mode: 0644]
src/lib/evas/Evas_Eo.h
src/lib/evas/canvas/evas_3d_eet.c [new file with mode: 0644]
src/lib/evas/canvas/evas_3d_mesh.c
src/lib/evas/canvas/evas_3d_mesh.eo
src/lib/evas/canvas/evas_3d_mesh_loader_eet.c [new file with mode: 0644]
src/lib/evas/canvas/evas_3d_mesh_saver_eet.c [new file with mode: 0644]
src/lib/evas/include/evas_private.h
src/tests/evas/evas_suite.c
src/tests/evas/evas_suite.h
src/tests/evas/evas_test_mesh.c [new file with mode: 0644]
src/tests/evas/meshes/md2/sonic.md2 [new file with mode: 0644]
src/tests/evas/meshes/obj/man_mesh.obj [new file with mode: 0644]

index 3d6acd225fd1d85129849706c3914be5fb7b4a82..ed6e22b5b208357bf5eb5a93eebf869ea0267a5b 100644 (file)
@@ -191,7 +191,10 @@ lib/evas/canvas/evas_3d_texture.c \
 lib/evas/canvas/evas_3d_material.c \
 lib/evas/canvas/evas_3d_mesh_loader_md2.c \
 lib/evas/canvas/evas_3d_mesh_loader_obj.c \
-lib/evas/canvas/evas_3d_mesh_saver_obj.c
+lib/evas/canvas/evas_3d_mesh_saver_obj.c \
+lib/evas/canvas/evas_3d_mesh_loader_eet.c \
+lib/evas/canvas/evas_3d_mesh_saver_eet.c \
+lib/evas/canvas/evas_3d_eet.c
 
 # Engine
 lib_evas_libevas_la_SOURCES += \
@@ -1916,6 +1919,7 @@ tests/evas/evas_test_callbacks.c \
 tests/evas/evas_test_render_engines.c \
 tests/evas/evas_test_filters.c \
 tests/evas/evas_test_image.c \
+tests/evas/evas_test_mesh.c \
 tests/evas/evas_tests_helpers.h \
 tests/evas/evas_suite.h
 
index d1b3285a4c1808bf6e421e72e92ea4101085a7df..d22b5ff2e9b00dd23a4ecdbec5f20ba0693c7cb4 100644 (file)
@@ -203,6 +203,11 @@ evas_3d_md2_SOURCES = evas-3d-md2.c
 evas_3d_md2_LDADD = $(ECORE_EVAS_COMMON_LDADD) @EFL_PTHREAD_LIBS@
 evas_3d_md2_CPPFLAGS = $(ECORE_EVAS_COMMON_CPPFLAGS)
 
+EXTRA_PROGRAMS += evas_3d_eet
+evas_3d_eet_SOURCES = evas-3d-eet.c
+evas_3d_eet_LDADD = $(ECORE_EVAS_COMMON_LDADD) @EFL_PTHREAD_LIBS@
+evas_3d_eet_CPPFLAGS = $(ECORE_EVAS_COMMON_CPPFLAGS)
+
 EXTRA_PROGRAMS += evas_3d_frustum
 evas_3d_frustum_SOURCES = evas-3d-frustum.c
 evas_3d_frustum_LDADD = $(ECORE_EVAS_COMMON_LDADD) @EFL_PTHREAD_LIBS@
diff --git a/src/examples/evas/evas-3d-eet.c b/src/examples/evas/evas-3d-eet.c
new file mode 100644 (file)
index 0000000..921a81c
--- /dev/null
@@ -0,0 +1,229 @@
+/**
+* Simple Evas example illustrating .eet import/export
+*
+* Take mesh from md2.
+* Set material to it.
+* Show it in left side.
+* Save the first frame of this mesh to eet. (static only)
+* Take result to another mesh from eet.
+* Show it in right side.
+*
+* @verbatim
+* gcc -o evas-3d-eet evas-3d-eet.c `pkg-config --libs --cflags eina evas ecore ecore-evas eo`
+* @endverbatim
+*/
+
+#define EFL_EO_API_SUPPORT
+#define EFL_BETA_API_SUPPORT
+
+#include <Eo.h>
+#include <Evas.h>
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+
+#define  WIDTH 1024
+#define  HEIGHT 1024
+
+Ecore_Evas *ecore_evas = NULL;
+Evas *evas = NULL;
+Eo *background = NULL;
+Eo *image = NULL;
+
+Eo *scene = NULL;
+Eo *root_node = NULL;
+Eo *camera_node = NULL;
+Eo *light_node = NULL;
+Eo *camera = NULL;
+Eo *mesh_node = NULL;
+Eo *mesh = NULL;
+Eo *mesh_node2 = NULL;
+Eo *mesh2 = NULL;
+Eo *material = NULL;
+Eo *light = NULL;
+
+static float angle = 0;
+
+static Eina_Bool
+_animate_eet(void *data)
+{
+   angle += 0.5;
+
+   eo_do((Evas_3D_Node *)data,
+         evas_3d_node_orientation_angle_axis_set(angle, 1.0, 1.0, 1.0));
+
+   /* Rotate */
+   if (angle > 360.0) angle -= 360.0f;
+
+   return EINA_TRUE;
+}
+
+static Eina_Bool
+_animate_md2(void *data)
+{
+   static int frame = 0;
+
+   eo_do((Evas_3D_Node *)data, evas_3d_node_mesh_frame_set(mesh, frame));
+
+   frame += 32;
+
+   if (frame > 256 * 50) frame = 0;
+
+   return EINA_TRUE;
+}
+
+static void
+_on_delete(Ecore_Evas *ee EINA_UNUSED)
+{
+   ecore_main_loop_quit();
+}
+
+static void
+_on_canvas_resize(Ecore_Evas *ee)
+{
+   int w, h;
+
+   ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
+   eo_do(background, evas_obj_size_set(w, h));
+   eo_do(image, evas_obj_size_set(w, h));
+}
+
+int
+main(void)
+{
+   //Unless Evas 3D supports Software renderer, we set gl backened forcely.
+   setenv("ECORE_EVAS_ENGINE", "opengl_x11", 1);
+
+   if (!ecore_evas_init()) return 0;
+
+   ecore_evas = ecore_evas_new(NULL, 10, 10, WIDTH, HEIGHT, NULL);
+
+   if (!ecore_evas) return 0;
+
+   ecore_evas_callback_delete_request_set(ecore_evas, _on_delete);
+   ecore_evas_callback_resize_set(ecore_evas, _on_canvas_resize);
+   ecore_evas_show(ecore_evas);
+
+   evas = ecore_evas_get(ecore_evas);
+
+   /* Add a scene object .*/
+   scene = eo_add(EVAS_3D_SCENE_CLASS, evas);
+
+   /* Add the root node for the scene. */
+   root_node = eo_add(EVAS_3D_NODE_CLASS, evas,
+                      evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE));
+
+   /* Add the camera. */
+   camera = eo_add(EVAS_3D_CAMERA_CLASS, evas);
+   eo_do(camera,
+         evas_3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 500.0));
+
+   camera_node = eo_add(EVAS_3D_NODE_CLASS, evas,
+                        evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA));
+   eo_do(camera_node,
+         evas_3d_node_camera_set(camera));
+   eo_do(root_node,
+         evas_3d_node_member_add(camera_node));
+   eo_do(camera_node,
+         evas_3d_node_position_set(200.0, 0.0, 40.0),
+         evas_3d_node_look_at_set(EVAS_3D_SPACE_PARENT, 0.0, 0.0, 20.0,
+                                  EVAS_3D_SPACE_PARENT, 0.0, 0.0, 1.0));
+   /* Add the light. */
+   light = eo_add(EVAS_3D_LIGHT_CLASS, evas);
+   eo_do(light,
+         evas_3d_light_ambient_set(1.0, 1.0, 1.0, 1.0),
+         evas_3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
+         evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0),
+         evas_3d_light_directional_set(EINA_TRUE));
+
+   light_node = eo_add(EVAS_3D_NODE_CLASS, evas,
+                       evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT));
+   eo_do(light_node,
+         evas_3d_node_light_set(light),
+         evas_3d_node_position_set(1000.0, 0.0, 1000.0),
+         evas_3d_node_look_at_set(EVAS_3D_SPACE_PARENT, 0.0, 0.0, 0.0,
+                                  EVAS_3D_SPACE_PARENT, 0.0, 1.0, 0.0));
+   eo_do(root_node,
+         evas_3d_node_member_add(light_node));
+
+   /* Add the meshes. */
+   mesh = eo_add(EVAS_3D_MESH_CLASS, evas);
+   mesh2 = eo_add(EVAS_3D_MESH_CLASS, evas);
+   material = eo_add(EVAS_3D_MATERIAL_CLASS, evas);
+
+   eo_do(mesh,
+         evas_3d_mesh_file_set(EVAS_3D_MESH_FILE_TYPE_MD2, "sonic.md2", NULL),
+         evas_3d_mesh_frame_material_set(0, material),
+         evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG));
+
+   eo_do(material,
+         evas_3d_material_enable_set(EVAS_3D_MATERIAL_AMBIENT, EINA_TRUE),
+         evas_3d_material_enable_set(EVAS_3D_MATERIAL_DIFFUSE, EINA_TRUE),
+         evas_3d_material_enable_set(EVAS_3D_MATERIAL_SPECULAR, EINA_TRUE),
+         evas_3d_material_enable_set(EVAS_3D_MATERIAL_NORMAL, EINA_TRUE),
+         evas_3d_material_color_set(EVAS_3D_MATERIAL_AMBIENT,
+                                    0.50, 0.50, 0.00, 0.30),
+         evas_3d_material_color_set(EVAS_3D_MATERIAL_DIFFUSE,
+                                    0.00, 0.50, 0.50, 0.30),
+         evas_3d_material_color_set(EVAS_3D_MATERIAL_SPECULAR,
+                                    0.50, 0.00, 0.50, 0.30),
+         evas_3d_material_shininess_set(50.0));
+
+   eo_do(mesh,
+         evas_3d_mesh_save(EVAS_3D_MESH_FILE_TYPE_EET,
+         "saved_Sonic_EET.eet", NULL));
+
+   eo_do(mesh2,
+         evas_3d_mesh_file_set(EVAS_3D_MESH_FILE_TYPE_EET, "saved_Sonic_EET.eet", NULL),
+         evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG));
+
+   mesh_node = eo_add(EVAS_3D_NODE_CLASS, evas,
+                      evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
+
+   eo_do(root_node,
+         evas_3d_node_member_add(mesh_node));
+   eo_do(mesh_node,
+         evas_3d_node_mesh_add(mesh),
+         evas_3d_node_position_set(0.0, -40.0, 0.0));
+
+   mesh_node2 = eo_add(EVAS_3D_NODE_CLASS, evas,
+                       evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
+   eo_do(root_node,
+         evas_3d_node_member_add(mesh_node2));
+   eo_do(mesh_node2,
+         evas_3d_node_mesh_add(mesh2),
+         evas_3d_node_position_set(0.0, 40.0, 0.0));
+
+   /* Set up scene. */
+   eo_do(scene,
+         evas_3d_scene_root_node_set(root_node),
+         evas_3d_scene_camera_node_set(camera_node),
+         evas_3d_scene_size_set(WIDTH, HEIGHT));
+
+   /* Add a background rectangle objects. */
+   background = eo_add(EVAS_RECTANGLE_CLASS, evas);
+   eo_unref(background);
+   eo_do(background,
+         evas_obj_color_set(0, 0, 0, 255),
+         evas_obj_size_set(WIDTH, HEIGHT),
+         evas_obj_visibility_set(EINA_TRUE));
+
+   /* Add an image object for 3D scene rendering. */
+   image = evas_object_image_filled_add(evas);
+   eo_do(image,
+         evas_obj_size_set(WIDTH, HEIGHT),
+         evas_obj_visibility_set(EINA_TRUE));
+
+   /* Set the image object as render target for 3D scene. */
+   eo_do(image, evas_obj_image_scene_set(scene));
+
+   ecore_timer_add(0.01, _animate_md2, mesh_node);
+   ecore_timer_add(0.01, _animate_eet, mesh_node2);
+
+   /* Enter main loop. */
+   ecore_main_loop_begin();
+
+   ecore_evas_free(ecore_evas);
+   ecore_evas_shutdown();
+
+   return 0;
+}
index 5c9b1485b3fd680b2f82e7e363b92d90226333ee..ec3803606f81f1d31af0cc531d552a08a9dec232 100644 (file)
@@ -714,6 +714,7 @@ typedef enum _Evas_3D_Mesh_File_Type
 {
    EVAS_3D_MESH_FILE_TYPE_MD2 = 0,   /**< Quake's MD2 mesh file format */
    EVAS_3D_MESH_FILE_TYPE_OBJ,
+   EVAS_3D_MESH_FILE_TYPE_EET,
 } Evas_3D_Mesh_File_Type;
 
 #include "canvas/evas_image.eo.h"
diff --git a/src/lib/evas/canvas/evas_3d_eet.c b/src/lib/evas/canvas/evas_3d_eet.c
new file mode 100644 (file)
index 0000000..562d275
--- /dev/null
@@ -0,0 +1,180 @@
+#include <stdio.h>
+#include "evas_common_private.h"
+#include "evas_private.h"
+
+Evas_3D_File_Eet* eet_file;
+const char EVAS_3D_FILE_CACHE_FILE_ENTRY[] = "evas_3d file";
+Eet_Data_Descriptor *_vec3_descriptor;
+Eet_Data_Descriptor *_vertex_descriptor;
+Eet_Data_Descriptor *_geometry_descriptor;
+Eet_Data_Descriptor *_color_descriptor;
+Eet_Data_Descriptor *_material_descriptor;
+Eet_Data_Descriptor *_frame_descriptor;
+Eet_Data_Descriptor *_mesh_descriptor;
+Eet_Data_Descriptor *_header_descriptor;
+Eet_Data_Descriptor *_file_descriptor;
+
+struct Evas_3D_File_Eet *
+_evas_3d_eet_file_new(void)
+{
+   const struct Evas_3D_File_Eet *creating_file = calloc(1, sizeof(Evas_3D_File_Eet));
+
+   if (!creating_file)
+     {
+        ERR("Could not calloc Evas_3D_File_Eet");
+        return NULL;
+     }
+
+   return creating_file;
+}
+
+void
+_evas_3d_eet_file_init(void)
+{
+   eina_init();
+   eet_init();
+
+/* initialization of bonding between structure units in eet file */
+   Eet_Data_Descriptor_Class eddc;
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Evas_3D_Vec3_Eet);
+   _vec3_descriptor = eet_data_descriptor_file_new(&eddc);
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Evas_3D_Vertex_Eet);
+   _vertex_descriptor = eet_data_descriptor_file_new(&eddc);
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Evas_3D_Geometry_Eet);
+   _geometry_descriptor = eet_data_descriptor_file_new(&eddc);
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Evas_3D_Color_Eet);
+   _color_descriptor = eet_data_descriptor_file_new(&eddc);
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Evas_3D_Frame_Eet);
+   _frame_descriptor = eet_data_descriptor_file_new(&eddc);
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Evas_3D_Material_Eet);
+   _material_descriptor = eet_data_descriptor_file_new(&eddc);
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Evas_3D_Mesh_Eet);
+   _mesh_descriptor = eet_data_descriptor_file_new(&eddc);
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Evas_3D_Header_Eet);
+   _header_descriptor = eet_data_descriptor_file_new(&eddc);
+   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Evas_3D_File_Eet);
+   _file_descriptor = eet_data_descriptor_file_new(&eddc);
+
+/* Vec_3 */
+#define ADD_BASIC(member, eet_type) EET_DATA_DESCRIPTOR_ADD_BASIC \
+   (_vec3_descriptor, Evas_3D_Vec3_Eet, # member, member, eet_type);
+   ADD_BASIC(x, EET_T_FLOAT);
+   ADD_BASIC(y, EET_T_FLOAT);
+   ADD_BASIC(z, EET_T_FLOAT);
+#undef ADD_BASIC
+
+/* Vertex */
+   EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(_vertex_descriptor, Evas_3D_Vertex_Eet,
+                                      "position", position, _vec3_descriptor);
+   EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(_vertex_descriptor, Evas_3D_Vertex_Eet,
+                                      "normal", normal, _vec3_descriptor);
+   EET_DATA_DESCRIPTOR_ADD_SUB_NESTED(_vertex_descriptor, Evas_3D_Vertex_Eet,
+                                      "texcoord", texcoord, _vec3_descriptor);
+
+/* Geometry */
+   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_geometry_descriptor, Evas_3D_Geometry_Eet,
+                                     "vertices", vertices, _vertex_descriptor);
+#define ADD_BASIC(member, eet_type) \
+   EET_DATA_DESCRIPTOR_ADD_BASIC \
+   (_geometry_descriptor, Evas_3D_Geometry_Eet, # member, member, eet_type);
+   ADD_BASIC(vertices_count, EET_T_UINT);
+   ADD_BASIC(id, EET_T_UINT);
+#undef ADD_BASIC
+
+/* Color */
+#define ADD_BASIC(member, eet_type) EET_DATA_DESCRIPTOR_ADD_BASIC \
+   (_color_descriptor, Evas_3D_Color_Eet, # member, member, eet_type);
+   ADD_BASIC(r, EET_T_FLOAT);
+   ADD_BASIC(g, EET_T_FLOAT);
+   ADD_BASIC(b, EET_T_FLOAT);
+   ADD_BASIC(a, EET_T_FLOAT);
+#undef ADD_BASIC
+
+/* Material */
+   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_material_descriptor, Evas_3D_Material_Eet,
+                                     "colors", colors, _color_descriptor);
+#define ADD_BASIC(member, eet_type) \
+   EET_DATA_DESCRIPTOR_ADD_BASIC \
+   (_material_descriptor, Evas_3D_Material_Eet, # member, member, eet_type);
+   ADD_BASIC(id, EET_T_UINT);
+   ADD_BASIC(colors_count, EET_T_UINT);
+   ADD_BASIC(shininess, EET_T_FLOAT);
+#undef ADD_BASIC
+
+/* Frame */
+#define ADD_BASIC(member, eet_type) EET_DATA_DESCRIPTOR_ADD_BASIC \
+   (_frame_descriptor, Evas_3D_Frame_Eet, # member, member, eet_type);
+   ADD_BASIC(id, EET_T_UINT);
+   ADD_BASIC(geometry_id, EET_T_UINT);
+   ADD_BASIC(material_id, EET_T_UINT);
+#undef ADD_BASIC
+
+/* Mesh */
+   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_mesh_descriptor, Evas_3D_Mesh_Eet,
+                                     "frames", frames, _frame_descriptor);
+   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_mesh_descriptor, Evas_3D_Mesh_Eet,
+                                     "geometries", geometries, _geometry_descriptor);
+   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_mesh_descriptor, Evas_3D_Mesh_Eet,
+                                     "materials", materials, _material_descriptor);
+#define ADD_BASIC(member, eet_type) \
+   EET_DATA_DESCRIPTOR_ADD_BASIC \
+   (_mesh_descriptor, Evas_3D_Mesh_Eet, # member, member, eet_type);
+   ADD_BASIC(materials_count, EET_T_UINT);
+   ADD_BASIC(frames_count, EET_T_UINT);
+   ADD_BASIC(geometries_count, EET_T_UINT);
+#undef ADD_BASIC
+
+/* Header */
+   EET_DATA_DESCRIPTOR_ADD_BASIC_VAR_ARRAY(_header_descriptor, Evas_3D_Header_Eet,
+                                           "materials", materials, EET_T_UINT);
+   EET_DATA_DESCRIPTOR_ADD_BASIC_VAR_ARRAY(_header_descriptor, Evas_3D_Header_Eet,
+                                           "geometries", geometries, EET_T_UINT);
+#define ADD_BASIC(member, eet_type) \
+   EET_DATA_DESCRIPTOR_ADD_BASIC \
+   (_header_descriptor, Evas_3D_Header_Eet, # member, member, eet_type);
+   ADD_BASIC(version, EET_T_UINT);
+   ADD_BASIC(materials_count, EET_T_UINT);
+   ADD_BASIC(frames, EET_T_UINT);
+   ADD_BASIC(geometries_count, EET_T_UINT);
+#undef ADD_BASIC
+
+/* File */
+   EET_DATA_DESCRIPTOR_ADD_SUB(_file_descriptor, Evas_3D_File_Eet,
+                               "mesh", mesh, _mesh_descriptor);
+   EET_DATA_DESCRIPTOR_ADD_SUB(_file_descriptor, Evas_3D_File_Eet,
+                               "header", header, _header_descriptor);
+
+}
+
+void
+_evas_3d_eet_descriptor_shutdown(void)
+{
+   eet_data_descriptor_free(_geometry_descriptor);
+   eet_data_descriptor_free(_vertex_descriptor);
+   eet_data_descriptor_free(_vec3_descriptor);
+   eet_data_descriptor_free(_color_descriptor);
+   eet_data_descriptor_free(_material_descriptor);
+   eet_data_descriptor_free(_frame_descriptor);
+   eet_data_descriptor_free(_mesh_descriptor);
+   eet_data_descriptor_free(_header_descriptor);
+   eet_data_descriptor_free(_file_descriptor);
+}
+
+void
+_evas_3d_eet_file_free(void)
+{
+   free(eet_file->mesh->geometries[0].vertices);
+   free(eet_file->mesh->geometries);
+   free(eet_file->mesh->frames);
+   free(eet_file->mesh->materials[0].colors);
+   free(eet_file->mesh->materials);
+   free(eet_file->mesh);
+   free(eet_file->header->materials);
+   free(eet_file->header->geometries);
+   free(eet_file->header);
+   free(eet_file);
+
+   _evas_3d_eet_descriptor_shutdown();
+   eet_shutdown();
+   eina_shutdown();
+}
index 2cbf852f0d7f2ec9b1a91cf8dbc1c837bccfc1b9..98b2dec26491c89b998c37f145a8d384c99a166c 100644 (file)
@@ -787,6 +787,9 @@ _evas_3d_mesh_file_set(Eo *obj, Evas_3D_Mesh_Data *pd, Evas_3D_Mesh_File_Type ty
       case EVAS_3D_MESH_FILE_TYPE_OBJ:
         evas_3d_mesh_file_obj_set(obj, file);
         break;
+      case EVAS_3D_MESH_FILE_TYPE_EET:
+        evas_3d_mesh_file_eet_set(obj, file);
+        break;
       default:
         ERR("Invalid mesh file type.");
         break;
@@ -814,6 +817,19 @@ _evas_3d_mesh_save(Eo *obj, Evas_3D_Mesh_Data *pd, Evas_3D_Mesh_File_Type type,
            evas_3d_mesh_save_obj(obj, file, f);//file without extension!
            break;
         }
+      case EVAS_3D_MESH_FILE_TYPE_EET:
+        {
+           Evas_3D_Mesh_Frame *f = evas_3d_mesh_frame_find(pd, 0);
+
+           if (f == NULL)
+             {
+                ERR("Not existing mesh frame.");
+                return;
+             }
+
+           evas_3d_mesh_save_eet(obj, file, f);
+           break;
+        }
       default:
         ERR("Invalid mesh file type.");
         break;
index a8a199d19fa9192f818e4c79b535e9806ffa8144..3a0b29c4481bdc31814984f12f4f1df779b2c73d 100644 (file)
@@ -8,7 +8,7 @@ class Evas_3D_Mesh (Evas_3D_Object, Evas.Common_Interface)
          /**
           * Load mesh data from file.
           *
-          * Loading a mesh from existing file is supported. Currently, only MD2 and OBJ file
+          * Loading a mesh from existing file is supported. Currently, only MD2, OBJ and EET file
           * formats are supported.
           *
           * @ingroup Evas_3D_Mesh
@@ -24,8 +24,8 @@ class Evas_3D_Mesh (Evas_3D_Object, Evas.Common_Interface)
          /**
           * Save mesh data to file.
           *
-          * Saving a mesh to file is supported. Currently, only OBJ file
-          * format is supported.
+          * Saving a mesh to file is supported. Currently, only OBJ and EET file
+          * format are supported.
           *
           * @ingroup Evas_3D_Mesh
           */
diff --git a/src/lib/evas/canvas/evas_3d_mesh_loader_eet.c b/src/lib/evas/canvas/evas_3d_mesh_loader_eet.c
new file mode 100644 (file)
index 0000000..edc1f3a
--- /dev/null
@@ -0,0 +1,133 @@
+#ifdef HAVE_CONFIG_H
+   #include "config.h"
+#endif
+
+#include <Eo.h>
+#include <stdio.h>
+#include "evas_common_private.h"
+#include "evas_private.h"
+
+extern Evas_3D_File_Eet* eet_file;
+extern const char EVAS_3D_FILE_CACHE_FILE_ENTRY[];
+extern Eet_Data_Descriptor *_file_descriptor;
+
+void
+_set_geometry_to_mesh_from_eet_file(Evas_3D_Mesh *mesh,
+                                    Evas_3D_Mesh_Eet *eet_mesh)
+{
+   float *pos, *nor, *tex;
+   int stride_pos, stride_nor, stride_tex, j;
+
+   eo_do(mesh,
+         evas_3d_mesh_vertex_count_set(eet_mesh->geometries->vertices_count),
+         evas_3d_mesh_vertex_assembly_set(EVAS_3D_VERTEX_ASSEMBLY_TRIANGLES),
+         evas_3d_mesh_frame_add(0),
+
+         evas_3d_mesh_frame_vertex_data_copy_set(0, EVAS_3D_VERTEX_POSITION, 0, NULL),
+         evas_3d_mesh_frame_vertex_data_copy_set(0, EVAS_3D_VERTEX_NORMAL,   0, NULL),
+         evas_3d_mesh_frame_vertex_data_copy_set(0, EVAS_3D_VERTEX_TEXCOORD, 0, NULL),
+
+         pos = (float *)evas_3d_mesh_frame_vertex_data_map(0, EVAS_3D_VERTEX_POSITION),
+         nor = (float *)evas_3d_mesh_frame_vertex_data_map(0, EVAS_3D_VERTEX_NORMAL),
+         tex = (float *)evas_3d_mesh_frame_vertex_data_map(0, EVAS_3D_VERTEX_TEXCOORD),
+
+         stride_pos = evas_3d_mesh_frame_vertex_stride_get(0, EVAS_3D_VERTEX_POSITION),
+         stride_nor = evas_3d_mesh_frame_vertex_stride_get(0, EVAS_3D_VERTEX_NORMAL),
+         stride_tex = evas_3d_mesh_frame_vertex_stride_get(0, EVAS_3D_VERTEX_TEXCOORD));
+
+   if (stride_pos == 0) stride_pos = sizeof(float) * 3;
+   if (stride_nor == 0) stride_nor = sizeof(float) * 3;
+   if (stride_tex == 0) stride_tex = sizeof(float) * 2;
+
+        /* set data to vertex buffer */
+   for (j = 0; j < eet_mesh->geometries->vertices_count; j++)
+     {
+        float *p, *n, *t;
+
+        p = (float *)((char *)pos + stride_pos * j);
+        n = (float *)((char *)nor + stride_nor * j);
+        t = (float *)((char *)tex + stride_tex * j);
+
+        p[0] = eet_mesh->geometries->vertices[j].position.x;
+        p[1] = eet_mesh->geometries->vertices[j].position.y;
+        p[2] = eet_mesh->geometries->vertices[j].position.z;
+
+        n[0] = eet_mesh->geometries->vertices[j].normal.x;
+        n[1] = eet_mesh->geometries->vertices[j].normal.y;
+        n[2] = eet_mesh->geometries->vertices[j].normal.z;
+
+        t[0] = eet_mesh->geometries->vertices[j].texcoord.x;
+        t[1] = eet_mesh->geometries->vertices[j].texcoord.y;
+     }
+
+        /* unmap vertex buffer */
+   eo_do(mesh,
+         evas_3d_mesh_frame_vertex_data_unmap(0, EVAS_3D_VERTEX_POSITION),
+         evas_3d_mesh_frame_vertex_data_unmap(0, EVAS_3D_VERTEX_NORMAL),
+         evas_3d_mesh_frame_vertex_data_unmap(0, EVAS_3D_VERTEX_TEXCOORD));
+}
+
+void
+_set_material_to_mesh_from_eet_file(Evas_3D_Mesh *mesh,
+                                    Evas_3D_Mesh_Eet *eet_mesh)
+{
+   Evas_3D_Object_Data *pd = eo_data_scope_get(mesh, EVAS_3D_OBJECT_CLASS);
+   Eo *material = NULL;
+   material = eo_add(EVAS_3D_MATERIAL_CLASS, pd->evas);
+
+   eo_do(material,
+         evas_3d_material_enable_set(EVAS_3D_MATERIAL_AMBIENT,
+                                     !!(eet_mesh->materials->colors[0].a > 0)),
+         evas_3d_material_enable_set(EVAS_3D_MATERIAL_DIFFUSE,
+                                     !!(eet_mesh->materials->colors[1].a > 0)),
+         evas_3d_material_enable_set(EVAS_3D_MATERIAL_SPECULAR,
+                                     !!(eet_mesh->materials->colors[2].a > 0)),
+         evas_3d_material_enable_set(EVAS_3D_MATERIAL_NORMAL, EINA_TRUE),
+         evas_3d_material_color_set(EVAS_3D_MATERIAL_AMBIENT,
+                                    eet_mesh->materials->colors[0].r,
+                                    eet_mesh->materials->colors[0].g,
+                                    eet_mesh->materials->colors[0].b,
+                                    eet_mesh->materials->colors[0].a),
+         evas_3d_material_color_set(EVAS_3D_MATERIAL_DIFFUSE,
+                                    eet_mesh->materials->colors[1].r,
+                                    eet_mesh->materials->colors[1].g,
+                                    eet_mesh->materials->colors[1].b,
+                                    eet_mesh->materials->colors[1].a),
+         evas_3d_material_color_set(EVAS_3D_MATERIAL_SPECULAR,
+                                    eet_mesh->materials->colors[2].r,
+                                    eet_mesh->materials->colors[2].g,
+                                    eet_mesh->materials->colors[2].b,
+                                    eet_mesh->materials->colors[2].a),
+         evas_3d_material_shininess_set(eet_mesh->materials->shininess));
+
+   eo_do(mesh, evas_3d_mesh_frame_material_set(0, material));
+}
+
+void
+evas_3d_mesh_file_eet_set(Evas_3D_Mesh *mesh, const char *file)
+{
+   Eet_File *ef;
+
+   _evas_3d_eet_file_init();
+
+   eet_file = _evas_3d_eet_file_new();
+   ef = eet_open(file, EET_FILE_MODE_READ);
+   eet_file = eet_data_read(ef,
+                            _file_descriptor,
+                            EVAS_3D_FILE_CACHE_FILE_ENTRY);
+
+   eet_close(ef);
+
+   if ((eet_file->mesh == NULL) || (eet_file->header == NULL))
+     {
+        ERR("Reading of file is failed.");
+        _evas_3d_eet_file_free();
+        return;
+     }
+
+   _set_geometry_to_mesh_from_eet_file(mesh, eet_file->mesh);
+   _set_material_to_mesh_from_eet_file(mesh, eet_file->mesh);
+
+   _evas_3d_eet_file_free();
+}
+
diff --git a/src/lib/evas/canvas/evas_3d_mesh_saver_eet.c b/src/lib/evas/canvas/evas_3d_mesh_saver_eet.c
new file mode 100644 (file)
index 0000000..925fb53
--- /dev/null
@@ -0,0 +1,192 @@
+#ifdef HAVE_CONFIG_H
+   #include "config.h"
+#endif
+
+#include <stdio.h>
+#include "evas_common_private.h"
+#include "evas_private.h"
+
+#define COMPONENT_OF_DEFAULT_GREY_COLOR 0.3
+#define TRANSPARENCY_OF_DEFAULT_GREY_COLOR 0.5
+
+extern Evas_3D_File_Eet* eet_file;
+extern const char EVAS_3D_FILE_CACHE_FILE_ENTRY[];
+extern Eet_Data_Descriptor *_file_descriptor;
+
+void
+_set_geometry_to_eet_file_from_mesh(Evas_3D_Mesh_Data *mesh,
+                                    Evas_3D_Mesh_Eet *eet_mesh,
+                                    Evas_3D_Header_Eet *eet_header,
+                                    Evas_3D_Mesh_Frame *f)
+{
+   Evas_3D_Vertex_Buffer *vb;
+   int i;
+   float *src;
+   Evas_3D_Vertex_Eet *vertices =
+      malloc(sizeof(Evas_3D_Vertex_Eet) * mesh->vertex_count);
+   Evas_3D_Geometry_Eet *geometry =
+      malloc(sizeof(Evas_3D_Geometry_Eet));
+   int *geometries = malloc(sizeof(int));
+
+   if ((vertices == NULL) || (geometry == NULL))
+     {
+        ERR("Allocating of memory is failed.");
+        free(vertices);
+        free(geometry);
+        return;
+     }
+
+   geometry->vertices_count = mesh->vertex_count;
+   geometries[0] = mesh->vertex_count;
+
+#define SAVE_GEOMETRICS(a, component)\
+   vb = &f->vertices[a];\
+   if (vb->data == NULL)\
+     {\
+        ERR("Reading of geometrics is failed.");\
+        free(vertices);\
+        free(geometry);\
+        return;\
+     }\
+   src = (float *)vb->data;\
+   for (i = 0; i < mesh->vertex_count; i++)\
+     {\
+        vertices[i].component.x = src[0];\
+        vertices[i].component.y = src[1];\
+        vertices[i].component.z = src[2];\
+        src += f->vertices[a].element_count;\
+     }
+
+   geometry->vertices = vertices;
+   SAVE_GEOMETRICS(EVAS_3D_VERTEX_POSITION, position)
+   SAVE_GEOMETRICS(EVAS_3D_VERTEX_NORMAL, normal)
+   SAVE_GEOMETRICS(EVAS_3D_VERTEX_TEXCOORD, texcoord)
+
+#undef SAVE_GEOMETRICS
+
+   eet_mesh->geometries = geometry;
+   eet_header->geometries = geometries;
+}
+
+void
+_set_material_to_eet_file_from_mesh(Evas_3D_Mesh_Eet *eet_mesh,
+                                    Evas_3D_Header_Eet *eet_header,
+                                    Evas_3D_Mesh_Frame *f)
+{
+   int i;
+   Evas_3D_Material_Data *material =
+      eo_data_scope_get(f->material, EVAS_3D_MATERIAL_CLASS);
+   Evas_3D_Material_Eet *saved_materials =
+      malloc(sizeof(Evas_3D_Material_Eet));
+   Evas_3D_Color_Eet *saved_colors =
+      malloc(sizeof(Evas_3D_Color_Eet) * EVAS_3D_MATERIAL_ATTRIB_COUNT);
+   int *materials = malloc(sizeof(int));
+
+   if ((saved_materials == NULL) || (saved_colors == NULL))
+     {
+        ERR("Allocating of memory is failed.");
+        free(material);
+        free(saved_materials);
+        free(saved_colors);
+        return;
+     }
+
+   if (material == NULL)
+     {
+        ERR("Default material is set to saved file, because custom material \
+             was not saved before using of function evas_3d_mesh_save.");
+
+        for (i = 0; i < 5; i++)
+          {
+             saved_colors[i].r = COMPONENT_OF_DEFAULT_GREY_COLOR;
+             saved_colors[i].g = COMPONENT_OF_DEFAULT_GREY_COLOR;
+             saved_colors[i].b = COMPONENT_OF_DEFAULT_GREY_COLOR;
+             saved_colors[i].a = TRANSPARENCY_OF_DEFAULT_GREY_COLOR;
+          }
+
+        saved_materials->shininess = 50;
+     }
+   else
+     {
+
+        for (i = 0; i < 5; i++)
+          {
+             saved_colors[i].r = material->attribs[i].color.r;
+             saved_colors[i].g = material->attribs[i].color.g;
+             saved_colors[i].b = material->attribs[i].color.b;
+             saved_colors[i].a = material->attribs[i].color.a;
+          }
+
+        saved_materials->shininess = material->shininess;
+     }
+
+   saved_materials->colors_count = EVAS_3D_MATERIAL_ATTRIB_COUNT;
+   materials[0] = EVAS_3D_MATERIAL_ATTRIB_COUNT;
+   saved_materials->id = 1;
+   saved_materials->colors = saved_colors;
+   eet_mesh->materials = saved_materials;
+   eet_header->materials = materials;
+}
+
+void
+_set_frame_to_eet_file_from_mesh(Evas_3D_Mesh_Eet *eet_mesh)
+{
+   eet_mesh->frames = malloc(sizeof(Evas_3D_Frame_Eet));
+
+   if (eet_mesh->frames == NULL)
+     {
+        ERR("Allocating of memory is failed.");
+        return;
+     }
+
+   eet_mesh->frames->id = 1;
+   eet_mesh->frames->geometry_id = 1;
+   eet_mesh->frames->material_id = 1;
+}
+
+void
+evas_3d_mesh_save_eet(Evas_3D_Mesh *mesh,
+                      const char *file,
+                      Evas_3D_Mesh_Frame *f)
+{
+   Evas_3D_Mesh_Data *pd = eo_data_scope_get(mesh, EVAS_3D_MESH_CLASS);
+   Eet_File *ef = eet_open(file, EET_FILE_MODE_WRITE);
+   Evas_3D_Mesh_Eet* eet_mesh = malloc(sizeof(Evas_3D_Mesh_Eet));
+   Evas_3D_Header_Eet* eet_header = malloc(sizeof(Evas_3D_Header_Eet));
+
+   _evas_3d_eet_file_init();
+
+   eet_file = _evas_3d_eet_file_new();
+
+   eet_mesh->materials_count = 1;
+   eet_header->materials_count = 1;
+   eet_mesh->frames_count = 1;
+   eet_header->frames = 1;
+   eet_mesh->geometries_count = 1;
+   eet_header->geometries_count = 1;
+   eet_header->version = 1;
+
+   _set_geometry_to_eet_file_from_mesh(pd, eet_mesh, eet_header, f);
+   _set_material_to_eet_file_from_mesh(eet_mesh, eet_header, f);
+   _set_frame_to_eet_file_from_mesh(eet_mesh);
+
+   if (ef == NULL)
+     {
+        ERR("Opening of file is failed.");
+        _evas_3d_eet_file_free();
+        return;
+     }
+
+   eet_file->mesh = eet_mesh;
+   eet_file->header = eet_header;
+
+   eet_data_write(ef,
+                  _file_descriptor,
+                  EVAS_3D_FILE_CACHE_FILE_ENTRY,
+                  eet_file,
+                  EINA_TRUE);
+   eet_close(ef);
+
+   _evas_3d_eet_file_free();
+}
+
index c1a57d2a9189893e8bc6612687f6ec7b0c326843..efef7c3fd1c3d41b13168cb6382e7d633813abc8 100644 (file)
@@ -74,11 +74,88 @@ typedef struct _Evas_3D_Light            Evas_3D_Light_Data;
 typedef struct _Evas_3D_Material         Evas_3D_Material_Data;
 typedef struct _Evas_3D_Texture          Evas_3D_Texture_Data;
 
+/* Structs for mesh eet saver/loader */
+typedef struct _Evas_3D_Vec3_Eet         Evas_3D_Vec3_Eet;
+typedef struct _Evas_3D_Vertex_Eet       Evas_3D_Vertex_Eet;
+typedef struct _Evas_3D_Geometry_Eet     Evas_3D_Geometry_Eet;
+typedef struct _Evas_3D_Color_Eet        Evas_3D_Color_Eet;
+typedef struct _Evas_3D_Material_Eet     Evas_3D_Material_Eet;
+typedef struct _Evas_3D_Frame_Eet        Evas_3D_Frame_Eet;
+typedef struct _Evas_3D_Mesh_Eet         Evas_3D_Mesh_Eet;
+typedef struct _Evas_3D_Header_Eet       Evas_3D_Header_Eet;
+typedef struct _Evas_3D_File_Eet         Evas_3D_File_Eet;
+
+struct _Evas_3D_Vec3_Eet
+{
+   float x;
+   float y;
+   float z;
+};
 
+struct _Evas_3D_Vertex_Eet
+{
+   Evas_3D_Vec3_Eet position;
+   Evas_3D_Vec3_Eet normal;
+   Evas_3D_Vec3_Eet texcoord;
+};//one point of mesh
 
+struct _Evas_3D_Geometry_Eet
+{
+   unsigned int id;
+   int vertices_count;
+   Evas_3D_Vertex_Eet *vertices;
+};//contain array of vertices and id for using in Evas_3D_Frame_Eet in future
 
-typedef Eina_Bool (*Evas_3D_Node_Func)(Evas_3D_Node *, void *data);
+struct _Evas_3D_Color_Eet
+{
+   float r;
+   float g;
+   float b;
+   float a;
+};
+
+struct _Evas_3D_Material_Eet
+{
+   int id;
+   float shininess;
+   int colors_count;
+   Evas_3D_Color_Eet *colors;//Color per attribute (ambient, diffuse, specular etc.)
+};
 
+struct _Evas_3D_Frame_Eet
+{
+   int id;
+   int geometry_id;
+   int material_id;
+};//only ids to prevent of spending of memory when animation will change only geometry or only material
+
+struct _Evas_3D_Mesh_Eet
+{
+   int materials_count;
+   int frames_count;
+   int geometries_count;
+   Evas_3D_Material_Eet *materials;
+   Evas_3D_Frame_Eet *frames;
+   Evas_3D_Geometry_Eet *geometries;
+};//contain materials, geometries and bounding between it (frames)
+
+struct _Evas_3D_Header_Eet
+{
+   int version;
+   int *materials;//colors_count
+   int materials_count;
+   int *geometries;//vertices_count
+   int geometries_count;
+   int frames;
+};//can be use for fast allocating of memory
+
+struct _Evas_3D_File_Eet
+{
+   Evas_3D_Mesh_Eet *mesh;
+   Evas_3D_Header_Eet *header;
+};//contain mesh data and information about mesh size
+
+typedef Eina_Bool (*Evas_3D_Node_Func)(Evas_3D_Node *, void *data);
 
 typedef enum _Evas_3D_Node_Traverse_Type
 {
@@ -1529,7 +1606,11 @@ void evas_3d_material_mesh_del(Evas_3D_Material *material, Evas_3D_Mesh *mesh);
 void evas_3d_scene_data_init(Evas_3D_Scene_Public_Data *data);
 void evas_3d_scene_data_fini(Evas_3D_Scene_Public_Data *data);
 
-
+/* Eet saver/loader functions */
+struct Evas_3D_File_Eet *_evas_3d_eet_file_new(void);
+void _evas_3d_eet_file_init(void);
+void _evas_3d_eet_descriptor_shutdown(void);
+void _evas_3d_eet_file_free(void);
 
 extern int _evas_alloc_error;
 extern int _evas_event_counter;
index 23657f5a493a02b37a57088b6f97ff55b3032619..baa8ab8a6bc58c0c348755d49116155fa2caa1c8 100644 (file)
@@ -26,6 +26,7 @@ static const Evas_Test_Case etc[] = {
   { "Render Engines", evas_test_render_engines },
   { "Filters", evas_test_filters },
   { "Images", evas_test_image_object },
+  { "Meshes", evas_test_mesh },
   { NULL, NULL }
 };
 
index be9a75be4a0f40e4c4b5331168774f88a68cf729..4776508b6b62d2687eb4426830c31e2ee87f8193 100644 (file)
@@ -11,5 +11,6 @@ void evas_test_callbacks(TCase *tc);
 void evas_test_render_engines(TCase *tc);
 void evas_test_filters(TCase *tc);
 void evas_test_image_object(TCase *tc);
+void evas_test_mesh(TCase *tc);
 
 #endif /* _EVAS_SUITE_H */
diff --git a/src/tests/evas/evas_test_mesh.c b/src/tests/evas/evas_test_mesh.c
new file mode 100644 (file)
index 0000000..d3c3b9e
--- /dev/null
@@ -0,0 +1,128 @@
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <unistd.h>
+#include <stdio.h>
+
+#include "../../lib/evas/include/evas_common_private.h"
+#include "../../lib/evas/include/evas_private.h"
+#include "evas_suite.h"
+#include "Evas.h"
+#include "evas_tests_helpers.h"
+
+#define TESTS_MESH_DIR TESTS_SRC_DIR"/meshes"
+#define TESTS_OBJ_MESH_DIR TESTS_MESH_DIR"/obj"
+#define TESTS_MD2_MESH_DIR TESTS_MESH_DIR"/md2"
+
+#define COMPARE_GEOMETRICS(a, component)                    \
+   vb1 = &f1->vertices[a];                                  \
+   vb2 = &f2->vertices[a];                                  \
+   if ((vb1->data == NULL) || (vb2->data == NULL))          \
+      return 1;                                             \
+   src1 = (float *)vb1->data;                               \
+   src2 = (float *)vb2->data;                               \
+   for (i = 0; i < pd1->vertex_count; i++)                  \
+     {                                                      \
+        if ((src1[0] != src2[0]) || (src1[1] != src2[1]))   \
+           return 1;                                        \
+        if (a != EVAS_3D_VERTEX_TEXCOORD)                   \
+           if (src1[2] != src2[2])                          \
+              return 1;                                     \
+        src1 += f1->vertices[a].element_count;              \
+        src2 += f2->vertices[a].element_count;              \
+     }
+
+#define CHECK_MESHES_IN_FOLDER(folder, type)                                                                  \
+   it = eina_file_direct_ls(folder);                                                                          \
+   EINA_ITERATOR_FOREACH(it, file)                                                                            \
+     {                                                                                                        \
+        mesh = eo_add(EVAS_3D_MESH_CLASS, e);                                                                 \
+        mesh2 = eo_add(EVAS_3D_MESH_CLASS, e);                                                                \
+        eo_do(mesh, evas_3d_mesh_file_set(type, file->path, NULL));                                           \
+        fail_if(mesh == NULL);                                                                                \
+        eo_do(mesh, evas_3d_mesh_save(EVAS_3D_MESH_FILE_TYPE_EET, buffer, NULL));                             \
+        fail_if(mesh == NULL);                                                                                \
+        eo_do(mesh2, evas_3d_mesh_file_set(EVAS_3D_MESH_FILE_TYPE_EET, buffer, NULL));                        \
+        fail_if(mesh == NULL);                                                                                \
+        res = _compare_meshes(mesh, mesh2);                                                                   \
+        fail_if(res == 1);                                                                                    \
+     }
+
+static Evas_3D_Mesh_Frame *
+return_zero_frame(Evas_3D_Mesh_Data *pd)
+{
+   Eina_List *l;
+   Evas_3D_Mesh_Frame *f;
+
+   EINA_LIST_FOREACH(pd->frames, l, f)
+     {
+        if (f->frame == 0)
+          return f;
+     }
+
+   return NULL;
+}
+
+static int _compare_meshes(Evas_3D_Mesh *mesh1, Evas_3D_Mesh *mesh2)
+{
+   Evas_3D_Mesh_Data *pd1, *pd2;
+   Evas_3D_Mesh_Frame *f1, *f2;
+   int i;
+   float *src1, *src2;
+   Evas_3D_Vertex_Buffer *vb1, *vb2;
+
+   pd1 = eo_data_scope_get(mesh1, EVAS_3D_MESH_CLASS);
+   f1 = return_zero_frame(pd1);
+   if ((pd1 == NULL) || (f1 == NULL))
+      return 1;
+
+   pd2 = eo_data_scope_get(mesh2, EVAS_3D_MESH_CLASS);
+   f2 = return_zero_frame(pd2);
+   if ((pd2 == NULL) || (f2 == NULL))
+      return 1;
+
+   if ((pd1->vertex_count) != (pd2->vertex_count))
+      return 1;
+
+   COMPARE_GEOMETRICS(EVAS_3D_VERTEX_POSITION, position)
+   COMPARE_GEOMETRICS(EVAS_3D_VERTEX_NORMAL, normal)
+   COMPARE_GEOMETRICS(EVAS_3D_VERTEX_TEXCOORD, texcoord)
+   return 0;
+}
+
+START_TEST(evas_object_mesh_loader_saver)
+{
+   char buffer[PATH_MAX];
+   Evas *e = _setup_evas();
+   Eina_Tmpstr *tmp;
+   Eo *mesh;
+   Eo *mesh2;
+   Eina_Iterator *it;
+   char *file_mask = strdup("evas_test_mesh_XXXXXX");
+   int res = 0, tmpfd;
+   const Eina_File_Direct_Info *file;
+
+   tmpfd = eina_file_mkstemp(file_mask, &tmp);
+   fail_if(tmpfd == -1);
+   fail_if(!!close(tmpfd));
+
+   snprintf(buffer, PATH_MAX, "%s", tmp);
+
+   CHECK_MESHES_IN_FOLDER(TESTS_OBJ_MESH_DIR, EVAS_3D_MESH_FILE_TYPE_OBJ)
+   CHECK_MESHES_IN_FOLDER(TESTS_MD2_MESH_DIR, EVAS_3D_MESH_FILE_TYPE_MD2)
+
+   eina_iterator_free(it);
+
+   evas_object_del(mesh);
+   evas_object_del(mesh2);
+
+   evas_free(e);
+   evas_shutdown();
+}
+END_TEST
+
+void evas_test_mesh(TCase *tc)
+{
+   tcase_add_test(tc, evas_object_mesh_loader_saver);
+}
diff --git a/src/tests/evas/meshes/md2/sonic.md2 b/src/tests/evas/meshes/md2/sonic.md2
new file mode 100644 (file)
index 0000000..228edb9
Binary files /dev/null and b/src/tests/evas/meshes/md2/sonic.md2 differ
diff --git a/src/tests/evas/meshes/obj/man_mesh.obj b/src/tests/evas/meshes/obj/man_mesh.obj
new file mode 100644 (file)
index 0000000..3383d8e
--- /dev/null
@@ -0,0 +1,2493 @@
+# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware\r
+# File Created: 28.03.2014 15:19:59\r
+\r
+mtllib man_mesh.mtl\r
+\r
+#\r
+# object man_zbrush002\r
+#\r
+\r
+v  0.0000 47.2875 1.0942\r
+v  0.0000 50.0378 -9.4137\r
+v  0.0000 55.9506 -7.2501\r
+v  0.0000 24.1321 -0.3567\r
+v  -4.6498 14.9457 -8.7856\r
+v  -3.2526 0.0016 -8.5910\r
+v  -1.7126 0.0249 -9.1957\r
+v  -2.0203 14.6106 -8.2788\r
+v  -4.0894 2.6330 -5.0313\r
+v  -5.3088 13.9109 -3.7387\r
+v  -1.5536 3.0595 -4.1735\r
+v  -3.0616 3.5378 -3.4617\r
+v  -1.7669 13.7549 -2.9187\r
+v  -0.6260 0.0317 -8.3362\r
+v  -0.9714 14.6448 -6.7064\r
+v  -5.9192 37.6191 -4.5703\r
+v  -5.4957 46.0431 -6.7324\r
+v  -6.0295 46.1888 -3.9560\r
+v  -4.6857 36.6641 -1.6164\r
+v  -4.2985 47.0011 -0.0589\r
+v  -7.2525 54.5245 -7.6150\r
+v  -6.7758 50.2065 -7.5345\r
+v  0.0000 53.7381 -8.9868\r
+v  -8.7478 53.7702 -7.3533\r
+v  -6.6241 53.5298 -2.6537\r
+v  -8.1843 53.1087 -3.3204\r
+v  -9.8277 52.9897 -7.1885\r
+v  -9.5084 52.4031 -3.6727\r
+v  -15.6368 49.7151 -4.0157\r
+v  -14.9891 50.5653 -7.2972\r
+v  -2.3212 55.4710 -5.5708\r
+v  -3.7738 51.0936 -1.0343\r
+v  -7.8131 49.3427 -3.8869\r
+v  -16.1362 50.0240 -7.5462\r
+v  -14.8850 46.9747 -7.9460\r
+v  -13.7795 47.4172 -7.7153\r
+v  -14.9771 45.6892 -4.8210\r
+v  -8.9272 49.1285 -4.1282\r
+v  -8.7565 49.3211 -7.6329\r
+v  -17.2082 49.4777 -7.5122\r
+v  -16.8101 49.1399 -3.9288\r
+v  -22.3487 46.9322 -2.8224\r
+v  -22.5852 48.3277 -7.5944\r
+v  -21.9364 43.0552 -3.7336\r
+v  -16.1922 44.9604 -4.8771\r
+v  -23.3377 47.2682 -6.9450\r
+v  -22.1051 44.1196 -7.0740\r
+v  -21.0612 44.1836 -7.6112\r
+v  -15.8846 46.5205 -7.8558\r
+v  -5.5985 31.8229 -1.4054\r
+v  -7.4539 29.9108 -4.7820\r
+v  -7.1743 32.8153 -5.1680\r
+v  -4.9700 33.0828 -8.8713\r
+v  -5.5953 29.7616 -8.4911\r
+v  -6.8277 20.8590 -3.0514\r
+v  -6.1947 19.5763 -3.4925\r
+v  -5.4260 21.3413 -8.1311\r
+v  -0.8999 21.4104 -8.3427\r
+v  -0.8356 22.8539 -8.2030\r
+v  -5.3178 22.9368 -8.0146\r
+v  -1.8530 19.1642 -1.3853\r
+v  -1.9574 20.6208 -1.2177\r
+v  -5.2596 15.4904 -9.5994\r
+v  -0.2944 16.1695 -7.9627\r
+v  -1.2218 14.4504 -2.0041\r
+v  -6.4987 14.6430 -4.0006\r
+v  -1.4357 55.0574 -2.8845\r
+v  -0.5960 60.2687 -0.2559\r
+v  -0.1638 60.6728 0.4053\r
+v  -0.2263 59.6318 0.7170\r
+v  -0.6054 59.4536 0.0068\r
+v  -0.7935 58.6118 -0.0224\r
+v  -1.3407 61.3435 -1.0249\r
+v  -2.2253 60.3012 -1.3344\r
+v  -2.2095 61.2305 -1.5150\r
+v  -0.4741 61.2949 -0.6078\r
+v  -0.7854 61.5398 -0.0488\r
+v  -0.1799 61.2747 0.0585\r
+v  -1.7921 61.5632 -0.6482\r
+v  -1.9014 62.8989 -1.2625\r
+v  -2.5058 61.4136 -3.3339\r
+v  -2.0718 58.0803 -1.8376\r
+v  -2.3616 58.6526 -3.4054\r
+v  -2.0435 58.6944 -1.7220\r
+v  -1.4804 57.2878 -3.1674\r
+v  -2.4848 60.6680 -2.0783\r
+v  -0.8603 57.3392 -0.3453\r
+v  -1.5075 57.9788 -4.8067\r
+v  -0.5095 56.8628 -2.0812\r
+v  -2.1892 21.9879 -1.4818\r
+v  -6.5423 35.4806 -4.9028\r
+v  -5.2832 35.9529 -7.8146\r
+v  -3.7985 31.5525 -0.3863\r
+v  -1.5687 1.9817 -0.6271\r
+v  -3.7356 1.8169 0.2284\r
+v  -1.8252 -0.0241 0.6012\r
+v  -3.7693 -0.0090 1.1329\r
+v  -5.3903 1.5682 -1.6703\r
+v  -5.1768 -0.0250 -0.5983\r
+v  -6.8240 22.1939 -3.2543\r
+v  -0.8451 29.8910 -9.4915\r
+v  -23.2655 44.2902 -3.6142\r
+v  -23.3230 46.2280 -3.4252\r
+v  -23.8813 46.2678 -5.9955\r
+v  -23.2731 44.4791 -6.1705\r
+v  -24.4461 44.0991 -3.0395\r
+v  -24.9354 45.7429 -3.2888\r
+v  -25.9827 45.6412 -5.9747\r
+v  -25.7189 44.4079 -5.9891\r
+v  -27.0580 43.7331 -1.4711\r
+v  -26.7755 43.0070 -1.4929\r
+v  -27.6379 42.3212 -1.9844\r
+v  -27.1027 45.3202 -5.7351\r
+v  -26.2463 42.9014 -5.3836\r
+v  -26.7539 45.3983 -2.8586\r
+v  -28.3806 42.3305 -3.0566\r
+v  -28.6979 44.2382 -3.4775\r
+v  -28.1009 44.1773 -2.4700\r
+v  -28.5438 44.1780 -4.6514\r
+v  -25.5872 43.5577 -2.0387\r
+v  -26.1177 44.4879 -2.1987\r
+v  -25.4919 42.8273 -2.3701\r
+v  -3.4637 23.8728 -0.3567\r
+v  -0.3403 31.4007 -9.9220\r
+v  -0.4256 30.0691 -1.5036\r
+v  -2.1628 35.7435 -9.5999\r
+v  0.0000 37.0098 0.5507\r
+v  0.0000 50.8802 0.1100\r
+v  0.0000 45.2358 -8.5163\r
+v  0.0000 59.3759 0.2727\r
+v  0.0000 62.7759 -0.3557\r
+v  0.0000 61.9130 -0.0480\r
+v  0.0000 56.8628 -2.0812\r
+v  -2.8276 38.1718 -8.0883\r
+v  -0.0000 31.5470 -9.9391\r
+v  -28.2928 42.5431 -4.4468\r
+v  0.0000 38.2216 -8.0733\r
+v  4.6209 14.9457 -8.5161\r
+v  1.4564 14.6106 -8.6951\r
+v  1.7126 0.0249 -9.1957\r
+v  3.2526 0.0016 -8.5910\r
+v  4.0894 2.6330 -5.0313\r
+v  5.3088 13.9109 -3.7387\r
+v  1.5536 3.0595 -4.1735\r
+v  1.7669 13.7549 -2.9187\r
+v  3.0616 3.5378 -3.4617\r
+v  0.6260 0.0317 -8.3362\r
+v  1.2398 14.6448 -6.4653\r
+v  5.9192 37.6191 -4.5703\r
+v  6.0295 46.1888 -3.9560\r
+v  5.4957 46.0431 -6.7324\r
+v  2.8276 38.1718 -8.0883\r
+v  4.6857 36.6641 -1.6164\r
+v  4.2985 47.0011 -0.0589\r
+v  7.2525 54.5245 -7.6150\r
+v  6.7758 50.2065 -7.5345\r
+v  8.7478 53.7702 -7.3533\r
+v  8.1843 53.1087 -3.3204\r
+v  6.6241 53.5298 -2.6537\r
+v  9.8277 52.9897 -7.1885\r
+v  14.9891 50.5653 -7.2972\r
+v  15.6368 49.7151 -4.0157\r
+v  9.5084 52.4031 -3.6727\r
+v  2.3212 55.4710 -5.5708\r
+v  7.8131 49.3427 -3.8869\r
+v  3.7738 51.0936 -1.0343\r
+v  16.1362 50.0240 -7.5462\r
+v  13.7795 47.4172 -7.7153\r
+v  14.8850 46.9747 -7.9460\r
+v  8.7565 49.3211 -7.6329\r
+v  8.9272 49.1285 -4.1282\r
+v  14.9771 45.6892 -4.8210\r
+v  17.2082 49.4777 -7.5122\r
+v  22.5852 48.3277 -7.5944\r
+v  22.3487 46.9322 -2.8224\r
+v  16.8101 49.1399 -3.9288\r
+v  21.9364 43.0552 -3.7336\r
+v  16.1922 44.9604 -4.8771\r
+v  23.3377 47.2682 -6.9450\r
+v  21.0612 44.1836 -7.6112\r
+v  22.1051 44.1196 -7.0740\r
+v  15.8846 46.5205 -7.8558\r
+v  5.5985 31.8229 -1.4043\r
+v  7.1743 32.8153 -5.1673\r
+v  7.4539 29.9108 -4.7801\r
+v  4.9700 33.0828 -8.8719\r
+v  5.5953 29.7616 -8.4925\r
+v  6.8277 20.8590 -3.0448\r
+v  5.4260 21.3413 -8.1326\r
+v  6.1947 19.5763 -3.4786\r
+v  0.8999 21.4104 -8.3494\r
+v  5.3178 22.9368 -8.0162\r
+v  0.8356 22.8539 -8.2107\r
+v  1.9574 20.6208 -1.2115\r
+v  1.8530 19.1642 -1.3716\r
+v  0.1341 16.1695 -9.1747\r
+v  5.1172 15.4904 -9.6797\r
+v  1.7167 14.4504 -2.4592\r
+v  6.0692 14.6430 -3.7623\r
+v  0.0000 54.5221 -2.1876\r
+v  1.4357 55.0574 -2.8845\r
+v  0.5960 60.2687 -0.2559\r
+v  0.6054 59.4536 0.0068\r
+v  0.2263 59.6318 0.7170\r
+v  0.1638 60.6728 0.4053\r
+v  0.7935 58.6118 -0.0224\r
+v  0.0000 58.7353 0.2373\r
+v  1.3407 61.3435 -1.0249\r
+v  2.2095 61.2305 -1.5150\r
+v  2.2253 60.3012 -1.3344\r
+v  0.4741 61.2949 -0.6078\r
+v  0.1799 61.2747 0.0585\r
+v  0.7854 61.5398 -0.0488\r
+v  1.9014 62.8989 -1.2625\r
+v  1.7921 61.5632 -0.6482\r
+v  2.5058 61.4136 -3.3339\r
+v  2.0718 58.0803 -1.8376\r
+v  2.0435 58.6944 -1.7220\r
+v  2.3616 58.6526 -3.4054\r
+v  1.4804 57.2878 -3.1674\r
+v  2.4848 60.6680 -2.0783\r
+v  0.8603 57.3392 -0.3453\r
+v  0.0000 57.3204 0.1903\r
+v  1.5075 57.9788 -4.8067\r
+v  0.5095 56.8628 -2.0812\r
+v  2.1892 21.9879 -1.4837\r
+v  6.5423 35.4806 -4.9028\r
+v  5.2832 35.9529 -7.8146\r
+v  3.7985 31.5525 -0.3889\r
+v  3.7356 1.8169 0.2284\r
+v  1.5687 1.9817 -0.6271\r
+v  1.8252 -0.0241 0.6012\r
+v  3.7693 -0.0090 1.1329\r
+v  5.1768 -0.0250 -0.5983\r
+v  5.3903 1.5682 -1.6703\r
+v  6.8240 22.1939 -3.2515\r
+v  0.8451 29.8910 -9.4989\r
+v  23.3230 46.2280 -3.4252\r
+v  23.2655 44.2902 -3.6142\r
+v  23.2731 44.4791 -6.1705\r
+v  23.8813 46.2678 -5.9955\r
+v  24.9354 45.7429 -3.2888\r
+v  24.4461 44.0991 -3.0395\r
+v  25.7189 44.4079 -5.9891\r
+v  25.9827 45.6412 -5.9747\r
+v  0.0000 31.5525 0.1285\r
+v  27.0580 43.7331 -1.4711\r
+v  28.1009 44.1773 -2.4700\r
+v  27.6379 42.3212 -1.9844\r
+v  26.7755 43.0070 -1.4929\r
+v  26.2463 42.9014 -5.3836\r
+v  27.1027 45.3202 -5.7351\r
+v  26.7539 45.3983 -2.8586\r
+v  28.3806 42.3305 -3.0566\r
+v  28.6979 44.2382 -3.4775\r
+v  28.2928 42.5431 -4.4468\r
+v  28.5438 44.1780 -4.6514\r
+v  26.1177 44.4879 -2.1987\r
+v  25.5872 43.5577 -2.0387\r
+v  25.4919 42.8273 -2.3701\r
+v  3.4637 23.8728 -0.3567\r
+v  0.3403 31.4007 -9.9280\r
+v  0.4256 30.0691 -1.5075\r
+v  2.1628 35.7435 -9.5999\r
+v  -0.0000 30.2154 -1.5220\r
+v  0.0000 35.7952 -9.5999\r
+v  0.7069 62.5386 -0.2897\r
+v  1.8382 62.2558 -0.8026\r
+v  1.9014 63.5323 -1.2476\r
+v  0.6723 63.4859 -0.4218\r
+v  3.1942 60.5972 -3.4604\r
+v  2.7587 63.5323 -3.3488\r
+v  3.0106 63.5323 -5.8687\r
+v  2.1305 53.6286 -1.3592\r
+v  4.0888 54.8798 -3.4604\r
+v  4.3407 55.2343 -6.2104\r
+v  2.3368 60.5972 -1.0725\r
+v  3.4460 60.5972 -5.9803\r
+v  1.9321 63.5323 -7.3112\r
+v  2.9903 54.4963 -8.2460\r
+v  2.5172 60.5972 -7.8792\r
+v  1.1714 65.0579 -2.2055\r
+v  1.7956 65.0579 -4.8061\r
+v  0.0000 63.5323 -8.1745\r
+v  0.0000 62.5386 -0.1403\r
+v  1.1873 53.6286 -3.1647\r
+v  1.3937 60.5972 -3.1647\r
+v  -0.7069 62.5386 -0.2897\r
+v  -1.8382 62.2558 -0.8026\r
+v  -1.9014 63.5323 -1.2476\r
+v  -0.6723 63.4859 -0.4218\r
+v  -3.1942 60.5972 -3.4604\r
+v  -2.7587 63.5323 -3.3488\r
+v  -3.4460 60.5972 -5.9803\r
+v  -3.0106 63.5323 -5.8687\r
+v  -2.3368 60.5972 -1.0725\r
+v  -2.1305 53.6286 -1.3592\r
+v  -4.0888 54.8798 -3.4604\r
+v  -4.3407 55.2343 -6.2104\r
+v  -2.5172 60.5972 -7.8792\r
+v  -1.9321 63.5323 -7.3112\r
+v  -2.9903 54.4963 -8.2460\r
+v  0.0000 60.5972 -8.8128\r
+v  0.0000 54.0508 -8.7827\r
+v  -1.1714 65.0579 -2.2055\r
+v  -1.7956 65.0579 -4.8061\r
+v  0.0000 65.0579 -6.4214\r
+v  0.0000 65.5609 -4.0584\r
+v  -1.3937 60.5972 -3.1647\r
+v  -1.1873 53.6286 -3.1647\r
+v  5.7780 35.9947 -1.7731\r
+v  5.1150 35.7826 -2.0517\r
+v  5.7434 36.0196 -3.9959\r
+v  6.4636 36.2234 -3.7049\r
+v  8.5039 27.4359 -5.6703\r
+v  7.4519 27.2103 -3.5044\r
+v  6.5979 27.3323 -3.6902\r
+v  7.6499 27.5580 -5.8561\r
+v  8.7043 24.9057 -6.0365\r
+v  7.9848 25.1277 -6.1774\r
+v  2.7647 62.4556 -4.1284\r
+v  2.9040 62.4556 -5.7005\r
+v  4.8719 55.7996 -6.7654\r
+v  4.7366 55.7996 -5.1539\r
+v  4.0724 55.7996 -5.0402\r
+v  4.2078 55.7996 -6.6517\r
+v  4.5130 55.0077 -5.9098\r
+v  4.2911 55.0989 -5.8718\r
+# 328 vertices\r
+\r
+vn -0.0217 0.0232 -0.9995\r
+vn -0.0217 0.0232 -0.9995\r
+vn -0.0217 0.0232 -0.9995\r
+vn -0.0217 0.0232 -0.9995\r
+vn -0.9838 -0.0917 -0.1540\r
+vn -0.9838 -0.0917 -0.1540\r
+vn -0.9838 -0.0917 -0.1540\r
+vn -0.9838 -0.0917 -0.1540\r
+vn 0.3989 -0.0990 0.9116\r
+vn 0.3989 -0.0990 0.9116\r
+vn 0.3989 -0.0990 0.9116\r
+vn 0.9772 -0.0026 0.2125\r
+vn 0.9772 -0.0026 0.2125\r
+vn 0.9772 -0.0026 0.2125\r
+vn 0.9772 -0.0026 0.2125\r
+vn -0.8610 -0.0854 -0.5014\r
+vn -0.8610 -0.0854 -0.5014\r
+vn -0.8610 -0.0854 -0.5014\r
+vn -0.8610 -0.0854 -0.5014\r
+vn -0.9175 -0.0321 0.3964\r
+vn -0.9175 -0.0321 0.3964\r
+vn -0.9175 -0.0321 0.3964\r
+vn -0.9175 -0.0321 0.3964\r
+vn -0.2238 0.0288 -0.9742\r
+vn -0.2238 0.0288 -0.9742\r
+vn -0.2238 0.0288 -0.9742\r
+vn -0.2238 0.0288 -0.9742\r
+vn -0.3754 0.9014 0.2157\r
+vn -0.3754 0.9014 0.2157\r
+vn -0.3754 0.9014 0.2157\r
+vn -0.3754 0.9014 0.2157\r
+vn -0.4122 0.8952 0.1693\r
+vn -0.4122 0.8952 0.1693\r
+vn -0.4122 0.8952 0.1693\r
+vn -0.4122 0.8952 0.1693\r
+vn -0.3397 -0.0890 0.9363\r
+vn -0.3397 -0.0890 0.9363\r
+vn -0.3397 -0.0890 0.9363\r
+vn -0.3397 -0.0890 0.9363\r
+vn -0.1393 0.8417 -0.5216\r
+vn -0.1393 0.8417 -0.5216\r
+vn -0.1393 0.8417 -0.5216\r
+vn -0.1393 0.8417 -0.5216\r
+vn -0.5100 -0.1901 0.8389\r
+vn -0.5100 -0.1901 0.8389\r
+vn -0.5100 -0.1901 0.8389\r
+vn -0.5100 -0.1901 0.8389\r
+vn -0.9099 0.2029 0.3618\r
+vn -0.9099 0.2029 0.3618\r
+vn -0.9099 0.2029 0.3618\r
+vn -0.2668 0.2552 0.9293\r
+vn -0.2668 0.2552 0.9293\r
+vn -0.2668 0.2552 0.9293\r
+vn -0.2668 0.2552 0.9293\r
+vn 0.1291 0.1799 -0.9752\r
+vn 0.1291 0.1799 -0.9752\r
+vn 0.1291 0.1799 -0.9752\r
+vn 0.1291 0.1799 -0.9752\r
+vn 0.4379 -0.8826 -0.1713\r
+vn 0.4379 -0.8826 -0.1713\r
+vn 0.4379 -0.8826 -0.1713\r
+vn 0.4379 -0.8826 -0.1713\r
+vn -0.2686 0.9389 0.2152\r
+vn -0.2686 0.9389 0.2152\r
+vn -0.2686 0.9389 0.2152\r
+vn -0.2686 0.9389 0.2152\r
+vn 0.2569 -0.1860 0.9484\r
+vn 0.2569 -0.1860 0.9484\r
+vn 0.2569 -0.1860 0.9484\r
+vn 0.2569 -0.1860 0.9484\r
+vn -0.4719 -0.1610 -0.8668\r
+vn -0.4719 -0.1610 -0.8668\r
+vn -0.4719 -0.1610 -0.8668\r
+vn -0.4719 -0.1610 -0.8668\r
+vn 0.3121 -0.9015 -0.2997\r
+vn 0.3121 -0.9015 -0.2997\r
+vn 0.3121 -0.9015 -0.2997\r
+vn 0.3121 -0.9015 -0.2997\r
+vn -0.8992 0.1416 0.4139\r
+vn -0.8992 0.1416 0.4139\r
+vn -0.8992 0.1416 0.4139\r
+vn -0.8753 0.0683 -0.4787\r
+vn -0.8753 0.0683 -0.4787\r
+vn -0.8753 0.0683 -0.4787\r
+vn -0.8753 0.0683 -0.4787\r
+vn -0.8956 -0.3457 -0.2800\r
+vn -0.8956 -0.3457 -0.2800\r
+vn -0.8956 -0.3457 -0.2800\r
+vn -0.0441 0.0864 -0.9953\r
+vn -0.0441 0.0864 -0.9953\r
+vn -0.0441 0.0864 -0.9953\r
+vn -0.0441 0.0864 -0.9953\r
+vn 0.9869 0.0532 0.1524\r
+vn 0.9869 0.0532 0.1524\r
+vn 0.9869 0.0532 0.1524\r
+vn -0.3931 -0.2991 0.8695\r
+vn -0.3931 -0.2991 0.8695\r
+vn -0.3931 -0.2991 0.8695\r
+vn -0.3931 -0.2991 0.8695\r
+vn 0.1394 0.1063 -0.9845\r
+vn 0.1394 0.1063 -0.9845\r
+vn 0.1394 0.1063 -0.9845\r
+vn 0.1394 0.1063 -0.9845\r
+vn 0.9770 0.1171 0.1782\r
+vn 0.9770 0.1171 0.1782\r
+vn 0.9770 0.1171 0.1782\r
+vn 0.9770 0.1171 0.1782\r
+vn -0.3960 -0.1198 0.9104\r
+vn -0.3960 -0.1198 0.9104\r
+vn -0.3960 -0.1198 0.9104\r
+vn -0.3960 -0.1198 0.9104\r
+vn -0.9824 0.0457 -0.1810\r
+vn -0.9824 0.0457 -0.1810\r
+vn -0.9824 0.0457 -0.1810\r
+vn -0.9824 0.0457 -0.1810\r
+vn -0.8812 -0.3950 -0.2597\r
+vn -0.8812 -0.3950 -0.2597\r
+vn -0.8812 -0.3950 -0.2597\r
+vn -0.8812 -0.3950 -0.2597\r
+vn 0.3416 -0.9364 -0.0806\r
+vn 0.3416 -0.9364 -0.0806\r
+vn 0.3416 -0.9364 -0.0806\r
+vn 0.3416 -0.9364 -0.0806\r
+vn -0.2950 -0.2184 -0.9302\r
+vn -0.2950 -0.2184 -0.9302\r
+vn -0.2950 -0.2184 -0.9302\r
+vn -0.2950 -0.2184 -0.9302\r
+vn -0.2179 0.5180 0.8271\r
+vn -0.2179 0.5180 0.8271\r
+vn -0.2179 0.5180 0.8271\r
+vn -0.2179 0.5180 0.8271\r
+vn -0.8781 0.1721 0.4464\r
+vn -0.8781 0.1721 0.4464\r
+vn -0.8781 0.1721 0.4464\r
+vn -0.8781 0.1721 0.4464\r
+vn -0.3519 0.0039 0.9360\r
+vn -0.3519 0.0039 0.9360\r
+vn -0.3519 0.0039 0.9360\r
+vn -0.3519 0.0039 0.9360\r
+vn -0.5009 0.1733 0.8480\r
+vn -0.5009 0.1733 0.8480\r
+vn -0.5009 0.1733 0.8480\r
+vn -0.4195 -0.8939 0.1582\r
+vn -0.4195 -0.8939 0.1582\r
+vn -0.4195 -0.8939 0.1582\r
+vn -0.8797 0.2347 0.4135\r
+vn -0.8797 0.2347 0.4135\r
+vn -0.8797 0.2347 0.4135\r
+vn -0.8797 0.2347 0.4135\r
+vn -0.4054 0.4008 0.8216\r
+vn -0.4054 0.4008 0.8216\r
+vn -0.4054 0.4008 0.8216\r
+vn -0.4054 0.4008 0.8216\r
+vn -0.9589 0.1397 0.2470\r
+vn -0.9589 0.1397 0.2470\r
+vn -0.9589 0.1397 0.2470\r
+vn -0.9589 0.1397 0.2470\r
+vn -0.9826 0.0104 0.1854\r
+vn -0.9826 0.0104 0.1854\r
+vn -0.9826 0.0104 0.1854\r
+vn -0.8356 -0.5474 -0.0454\r
+vn -0.8356 -0.5474 -0.0454\r
+vn -0.8356 -0.5474 -0.0454\r
+vn -0.9624 -0.1782 0.2052\r
+vn -0.9624 -0.1782 0.2052\r
+vn -0.9624 -0.1782 0.2052\r
+vn -0.9624 -0.1782 0.2052\r
+vn -0.5693 0.1809 0.8020\r
+vn -0.5693 0.1809 0.8020\r
+vn -0.5693 0.1809 0.8020\r
+vn -0.5693 0.1809 0.8020\r
+vn -0.4248 -0.1131 0.8982\r
+vn -0.4248 -0.1131 0.8982\r
+vn -0.4248 -0.1131 0.8982\r
+vn -0.4248 -0.1131 0.8982\r
+vn -0.8013 -0.5559 -0.2211\r
+vn -0.8013 -0.5559 -0.2211\r
+vn -0.8013 -0.5559 -0.2211\r
+vn -0.6057 -0.0427 0.7945\r
+vn -0.6057 -0.0427 0.7945\r
+vn -0.6057 -0.0427 0.7945\r
+vn -0.6057 -0.0427 0.7945\r
+vn -0.9625 0.1322 0.2368\r
+vn -0.9625 0.1322 0.2368\r
+vn -0.9625 0.1322 0.2368\r
+vn -0.9625 0.1322 0.2368\r
+vn 0.3299 -0.1772 -0.9272\r
+vn 0.3299 -0.1772 -0.9272\r
+vn 0.3299 -0.1772 -0.9272\r
+vn 0.9234 -0.3825 0.0334\r
+vn 0.9234 -0.3825 0.0334\r
+vn 0.9234 -0.3825 0.0334\r
+vn -0.2812 -0.5012 0.8184\r
+vn -0.2812 -0.5012 0.8184\r
+vn -0.2812 -0.5012 0.8184\r
+vn -0.2812 -0.5012 0.8184\r
+vn -0.4657 -0.8535 -0.2339\r
+vn -0.4657 -0.8535 -0.2339\r
+vn -0.4657 -0.8535 -0.2339\r
+vn -0.4657 -0.8535 -0.2339\r
+vn 0.9816 0.0664 0.1789\r
+vn 0.9816 0.0664 0.1789\r
+vn 0.9816 0.0664 0.1789\r
+vn 0.9816 0.0664 0.1789\r
+vn -0.8820 0.1569 -0.4443\r
+vn -0.8820 0.1569 -0.4443\r
+vn -0.8820 0.1569 -0.4443\r
+vn -0.8820 0.1569 -0.4443\r
+vn -0.8922 0.1699 0.4185\r
+vn -0.8922 0.1699 0.4185\r
+vn -0.8922 0.1699 0.4185\r
+vn -0.4741 0.1274 0.8712\r
+vn -0.4741 0.1274 0.8712\r
+vn -0.4741 0.1274 0.8712\r
+vn -0.9265 0.0869 0.3661\r
+vn -0.9265 0.0869 0.3661\r
+vn -0.9265 0.0869 0.3661\r
+vn -0.1743 -0.1645 0.9709\r
+vn -0.1743 -0.1645 0.9709\r
+vn -0.1743 -0.1645 0.9709\r
+vn -0.1743 -0.1645 0.9709\r
+vn -0.5265 0.8267 0.1983\r
+vn -0.5265 0.8267 0.1983\r
+vn -0.5265 0.8267 0.1983\r
+vn -0.5265 0.8267 0.1983\r
+vn -0.1549 -0.0355 -0.9873\r
+vn -0.1549 -0.0355 -0.9873\r
+vn -0.1549 -0.0355 -0.9873\r
+vn 0.0017 -0.1699 0.9855\r
+vn 0.0017 -0.1699 0.9855\r
+vn 0.0017 -0.1699 0.9855\r
+vn 0.0017 -0.1699 0.9855\r
+vn -0.2158 0.8144 0.5387\r
+vn -0.2158 0.8144 0.5387\r
+vn -0.2158 0.8144 0.5387\r
+vn -0.2158 0.8144 0.5387\r
+vn -0.2761 0.9321 0.2345\r
+vn -0.2761 0.9321 0.2345\r
+vn -0.2761 0.9321 0.2345\r
+vn -0.9428 0.2795 0.1817\r
+vn -0.9428 0.2795 0.1817\r
+vn -0.9428 0.2795 0.1817\r
+vn -0.9986 -0.0518 -0.0141\r
+vn -0.9986 -0.0518 -0.0141\r
+vn -0.9986 -0.0518 -0.0141\r
+vn -0.1080 -0.9096 0.4012\r
+vn -0.1080 -0.9096 0.4012\r
+vn -0.1080 -0.9096 0.4012\r
+vn 0.2345 0.8990 0.3700\r
+vn 0.2345 0.8990 0.3700\r
+vn 0.2345 0.8990 0.3700\r
+vn 0.2345 0.8990 0.3700\r
+vn 0.9921 0.0722 0.1030\r
+vn 0.9921 0.0722 0.1030\r
+vn 0.9921 0.0722 0.1030\r
+vn 0.9921 0.0722 0.1030\r
+vn -0.0022 -1.0000 -0.0050\r
+vn -0.0022 -1.0000 -0.0050\r
+vn -0.0022 -1.0000 -0.0050\r
+vn -0.0022 -1.0000 -0.0050\r
+vn 0.7487 0.0742 -0.6587\r
+vn 0.7487 0.0742 -0.6587\r
+vn 0.7487 0.0742 -0.6587\r
+vn 0.7487 0.0742 -0.6587\r
+vn 0.2703 0.4526 0.8498\r
+vn 0.2703 0.4526 0.8498\r
+vn 0.2703 0.4526 0.8498\r
+vn 0.2703 0.4526 0.8498\r
+vn -0.9574 -0.0737 -0.2791\r
+vn -0.9574 -0.0737 -0.2791\r
+vn -0.9574 -0.0737 -0.2791\r
+vn -0.9574 -0.0737 -0.2791\r
+vn -0.7381 0.3081 0.6002\r
+vn -0.7381 0.3081 0.6002\r
+vn -0.7381 0.3081 0.6002\r
+vn -0.7381 0.3081 0.6002\r
+vn -0.5607 0.8117 0.1637\r
+vn -0.5607 0.8117 0.1637\r
+vn -0.5607 0.8117 0.1637\r
+vn -0.5607 0.8117 0.1637\r
+vn -0.4525 -0.0743 0.8887\r
+vn -0.4525 -0.0743 0.8887\r
+vn -0.4525 -0.0743 0.8887\r
+vn -0.4525 -0.0743 0.8887\r
+vn 0.0015 -0.8305 -0.5570\r
+vn 0.0015 -0.8305 -0.5570\r
+vn 0.0015 -0.8305 -0.5570\r
+vn 0.6496 -0.6341 -0.4195\r
+vn 0.6496 -0.6341 -0.4195\r
+vn 0.6496 -0.6341 -0.4195\r
+vn -0.9596 0.0284 -0.2800\r
+vn -0.9596 0.0284 -0.2800\r
+vn -0.9596 0.0284 -0.2800\r
+vn -0.9596 0.0284 -0.2800\r
+vn -0.1260 -0.1279 -0.9838\r
+vn -0.1260 -0.1279 -0.9838\r
+vn -0.1260 -0.1279 -0.9838\r
+vn -0.1260 -0.1279 -0.9838\r
+vn -0.3463 0.1313 0.9289\r
+vn -0.3463 0.1313 0.9289\r
+vn -0.3463 0.1313 0.9289\r
+vn -0.3463 0.1313 0.9289\r
+vn -0.2764 -0.8870 0.3700\r
+vn -0.2764 -0.8870 0.3700\r
+vn -0.2764 -0.8870 0.3700\r
+vn -0.2451 -0.1993 0.9488\r
+vn -0.2451 -0.1993 0.9488\r
+vn -0.2451 -0.1993 0.9488\r
+vn -0.2451 -0.1993 0.9488\r
+vn -0.6807 -0.2106 -0.7016\r
+vn -0.6807 -0.2106 -0.7016\r
+vn -0.6807 -0.2106 -0.7016\r
+vn -0.6807 -0.2106 -0.7016\r
+vn -0.7106 0.6739 0.2021\r
+vn -0.7106 0.6739 0.2021\r
+vn -0.7106 0.6739 0.2021\r
+vn -0.7106 0.6739 0.2021\r
+vn -0.5757 -0.8031 -0.1535\r
+vn -0.5757 -0.8031 -0.1535\r
+vn -0.5757 -0.8031 -0.1535\r
+vn -0.5757 -0.8031 -0.1535\r
+vn 0.2345 0.0522 0.9707\r
+vn 0.2345 0.0522 0.9707\r
+vn 0.2345 0.0522 0.9707\r
+vn 0.2345 0.0522 0.9707\r
+vn -0.0517 0.0476 -0.9975\r
+vn -0.0517 0.0476 -0.9975\r
+vn -0.0517 0.0476 -0.9975\r
+vn -0.0517 0.0476 -0.9975\r
+vn -0.2831 0.9562 0.0752\r
+vn -0.2831 0.9562 0.0752\r
+vn -0.2831 0.9562 0.0752\r
+vn -0.2831 0.9562 0.0752\r
+vn 0.0507 -0.9935 -0.1016\r
+vn 0.0507 -0.9935 -0.1016\r
+vn 0.0507 -0.9935 -0.1016\r
+vn 0.0507 -0.9935 -0.1016\r
+vn -0.3028 0.0473 0.9519\r
+vn -0.3028 0.0473 0.9519\r
+vn -0.3028 0.0473 0.9519\r
+vn -0.3028 0.0473 0.9519\r
+vn -0.6130 -0.0352 0.7893\r
+vn -0.6130 -0.0352 0.7893\r
+vn -0.6130 -0.0352 0.7893\r
+vn -0.6130 -0.0352 0.7893\r
+vn -0.2884 -0.1753 -0.9413\r
+vn -0.2884 -0.1753 -0.9413\r
+vn -0.2884 -0.1753 -0.9413\r
+vn -0.2884 -0.1753 -0.9413\r
+vn -0.2159 0.9761 0.0226\r
+vn -0.2159 0.9761 0.0226\r
+vn -0.2159 0.9761 0.0226\r
+vn -0.2159 0.9761 0.0226\r
+vn 0.8065 -0.4408 -0.3941\r
+vn 0.8065 -0.4408 -0.3941\r
+vn 0.8065 -0.4408 -0.3941\r
+vn -0.8405 -0.0442 0.5400\r
+vn -0.8405 -0.0442 0.5400\r
+vn -0.8405 -0.0442 0.5400\r
+vn -0.8405 -0.0442 0.5400\r
+vn -0.9791 -0.1752 -0.1028\r
+vn -0.9791 -0.1752 -0.1028\r
+vn -0.9791 -0.1752 -0.1028\r
+vn -0.9791 -0.1752 -0.1028\r
+vn -0.5602 0.7378 0.3766\r
+vn -0.5602 0.7378 0.3766\r
+vn -0.5602 0.7378 0.3766\r
+vn 0.4841 0.3212 0.8139\r
+vn 0.4841 0.3212 0.8139\r
+vn 0.4841 0.3212 0.8139\r
+vn 0.4841 0.3212 0.8139\r
+vn 0.7657 -0.6427 -0.0248\r
+vn 0.7657 -0.6427 -0.0248\r
+vn 0.7657 -0.6427 -0.0248\r
+vn 0.7657 -0.6427 -0.0248\r
+vn 0.0687 0.6166 0.7843\r
+vn 0.0687 0.6166 0.7843\r
+vn 0.0687 0.6166 0.7843\r
+vn -0.0696 -0.0316 0.9971\r
+vn -0.0696 -0.0316 0.9971\r
+vn -0.0696 -0.0316 0.9971\r
+vn -0.0696 -0.0316 0.9971\r
+vn -0.7898 -0.2268 0.5698\r
+vn -0.7898 -0.2268 0.5698\r
+vn -0.7898 -0.2268 0.5698\r
+vn -0.8001 -0.0972 0.5919\r
+vn -0.8001 -0.0972 0.5919\r
+vn -0.8001 -0.0972 0.5919\r
+vn -0.8001 -0.0972 0.5919\r
+vn -0.5940 -0.7913 0.1450\r
+vn -0.5940 -0.7913 0.1450\r
+vn -0.5940 -0.7913 0.1450\r
+vn -0.5940 -0.7913 0.1450\r
+vn -0.0906 0.1887 0.9778\r
+vn -0.0906 0.1887 0.9778\r
+vn -0.0906 0.1887 0.9778\r
+vn -0.0984 0.0806 -0.9919\r
+vn -0.0984 0.0806 -0.9919\r
+vn -0.0984 0.0806 -0.9919\r
+vn -0.0984 0.0806 -0.9919\r
+vn -0.4368 0.8892 0.1359\r
+vn -0.4368 0.8892 0.1359\r
+vn -0.4368 0.8892 0.1359\r
+vn -0.4368 0.8892 0.1359\r
+vn 0.4359 -0.8263 -0.3567\r
+vn 0.4359 -0.8263 -0.3567\r
+vn 0.4359 -0.8263 -0.3567\r
+vn 0.4359 -0.8263 -0.3567\r
+vn 0.1164 -0.1902 0.9748\r
+vn 0.1164 -0.1902 0.9748\r
+vn 0.1164 -0.1902 0.9748\r
+vn 0.1164 -0.1902 0.9748\r
+vn -0.0304 0.1155 -0.9928\r
+vn -0.0304 0.1155 -0.9928\r
+vn -0.0304 0.1155 -0.9928\r
+vn -0.0304 0.1155 -0.9928\r
+vn -0.4473 0.8833 0.1406\r
+vn -0.4473 0.8833 0.1406\r
+vn -0.4473 0.8833 0.1406\r
+vn 0.4096 -0.8479 -0.3367\r
+vn 0.4096 -0.8479 -0.3367\r
+vn 0.4096 -0.8479 -0.3367\r
+vn 0.7771 -0.6292 0.0154\r
+vn 0.7771 -0.6292 0.0154\r
+vn 0.7771 -0.6292 0.0154\r
+vn 0.3745 0.2581 0.8906\r
+vn 0.3745 0.2581 0.8906\r
+vn 0.3745 0.2581 0.8906\r
+vn 0.3745 0.2581 0.8906\r
+vn 0.3866 -0.6109 0.6909\r
+vn 0.3866 -0.6109 0.6909\r
+vn 0.3866 -0.6109 0.6909\r
+vn 0.3866 -0.6109 0.6909\r
+vn -0.2026 0.7986 0.5667\r
+vn -0.2026 0.7986 0.5667\r
+vn -0.2026 0.7986 0.5667\r
+vn -0.3472 -0.1729 0.9217\r
+vn -0.3472 -0.1729 0.9217\r
+vn -0.3472 -0.1729 0.9217\r
+vn -0.0557 0.0627 -0.9965\r
+vn -0.0557 0.0627 -0.9965\r
+vn -0.0557 0.0627 -0.9965\r
+vn -0.0557 0.0627 -0.9965\r
+vn -0.5625 0.8268 -0.0012\r
+vn -0.5625 0.8268 -0.0012\r
+vn -0.5625 0.8268 -0.0012\r
+vn -0.5625 0.8268 -0.0012\r
+vn 0.1065 -0.9839 -0.1437\r
+vn 0.1065 -0.9839 -0.1437\r
+vn 0.1065 -0.9839 -0.1437\r
+vn -0.1926 0.4841 0.8535\r
+vn -0.1926 0.4841 0.8535\r
+vn -0.1926 0.4841 0.8535\r
+vn 0.0135 -0.9999 -0.0004\r
+vn 0.0135 -0.9999 -0.0004\r
+vn 0.0135 -0.9999 -0.0004\r
+vn 0.0135 -0.9999 -0.0004\r
+vn -0.1584 0.3315 0.9300\r
+vn -0.1584 0.3315 0.9300\r
+vn -0.1584 0.3315 0.9300\r
+vn 0.9439 -0.3276 -0.0423\r
+vn 0.9439 -0.3276 -0.0423\r
+vn 0.9439 -0.3276 -0.0423\r
+vn 0.0000 -0.0454 0.9990\r
+vn 0.0000 -0.0454 0.9990\r
+vn 0.0000 -0.0454 0.9990\r
+vn -0.0985 -0.9710 0.2177\r
+vn -0.0985 -0.9710 0.2177\r
+vn -0.0985 -0.9710 0.2177\r
+vn -0.0985 -0.9710 0.2177\r
+vn -0.8813 0.0215 0.4721\r
+vn -0.8813 0.0215 0.4721\r
+vn -0.8813 0.0215 0.4721\r
+vn -0.9212 -0.1090 -0.3736\r
+vn -0.9212 -0.1090 -0.3736\r
+vn -0.9212 -0.1090 -0.3736\r
+vn -0.9212 -0.1090 -0.3736\r
+vn -0.4028 -0.1467 0.9035\r
+vn -0.4028 -0.1467 0.9035\r
+vn -0.4028 -0.1467 0.9035\r
+vn -0.4028 -0.1467 0.9035\r
+vn -0.2295 -0.1086 -0.9672\r
+vn -0.2295 -0.1086 -0.9672\r
+vn -0.2295 -0.1086 -0.9672\r
+vn -0.2295 -0.1086 -0.9672\r
+vn 0.9922 -0.1101 0.0579\r
+vn 0.9922 -0.1101 0.0579\r
+vn 0.9922 -0.1101 0.0579\r
+vn 0.9922 -0.1101 0.0579\r
+vn -0.3243 0.0841 -0.9422\r
+vn -0.3243 0.0841 -0.9422\r
+vn -0.3243 0.0841 -0.9422\r
+vn -0.3243 0.0841 -0.9422\r
+vn -0.8896 0.3112 -0.3342\r
+vn -0.8896 0.3112 -0.3342\r
+vn -0.8896 0.3112 -0.3342\r
+vn -0.8826 0.1867 0.4314\r
+vn -0.8826 0.1867 0.4314\r
+vn -0.8826 0.1867 0.4314\r
+vn -0.8826 0.1867 0.4314\r
+vn -0.4908 0.2558 0.8329\r
+vn -0.4908 0.2558 0.8329\r
+vn -0.4908 0.2558 0.8329\r
+vn -0.4908 0.2558 0.8329\r
+vn -0.1991 -0.9326 0.3009\r
+vn -0.1991 -0.9326 0.3009\r
+vn -0.1991 -0.9326 0.3009\r
+vn -0.1991 -0.9326 0.3009\r
+vn -0.2058 0.0231 -0.9783\r
+vn -0.2058 0.0231 -0.9783\r
+vn -0.2058 0.0231 -0.9783\r
+vn -0.2058 0.0231 -0.9783\r
+vn 0.2897 -0.0607 0.9552\r
+vn 0.2897 -0.0607 0.9552\r
+vn 0.2897 -0.0607 0.9552\r
+vn 0.3472 -0.9265 -0.1448\r
+vn 0.3472 -0.9265 -0.1448\r
+vn 0.3472 -0.9265 -0.1448\r
+vn 0.3472 -0.9265 -0.1448\r
+vn -0.0284 0.0393 -0.9988\r
+vn -0.0284 0.0393 -0.9988\r
+vn -0.0284 0.0393 -0.9988\r
+vn -0.0284 0.0393 -0.9988\r
+vn -0.7231 0.6525 0.2267\r
+vn -0.7231 0.6525 0.2267\r
+vn -0.7231 0.6525 0.2267\r
+vn -0.0951 -0.9499 -0.2979\r
+vn -0.0951 -0.9499 -0.2979\r
+vn -0.0951 -0.9499 -0.2979\r
+vn 0.0000 -0.8666 0.4991\r
+vn 0.0000 -0.8666 0.4991\r
+vn 0.0000 -0.8666 0.4991\r
+vn 0.0000 0.2868 0.9580\r
+vn 0.0000 0.2868 0.9580\r
+vn 0.0000 0.2868 0.9580\r
+vn 0.0000 0.2868 0.9580\r
+vn -0.0127 0.0741 -0.9972\r
+vn -0.0127 0.0741 -0.9972\r
+vn -0.0127 0.0741 -0.9972\r
+vn -0.0127 0.0741 -0.9972\r
+vn -0.5617 0.5448 -0.6226\r
+vn -0.5617 0.5448 -0.6226\r
+vn -0.5617 0.5448 -0.6226\r
+vn -0.5617 0.5448 -0.6226\r
+vn -0.4104 -0.2331 -0.8816\r
+vn -0.4104 -0.2331 -0.8816\r
+vn -0.4104 -0.2331 -0.8816\r
+vn -0.4104 -0.2331 -0.8816\r
+vn 0.2017 -0.9682 -0.1481\r
+vn 0.2017 -0.9682 -0.1481\r
+vn 0.2017 -0.9682 -0.1481\r
+vn 0.1853 -0.9802 -0.0705\r
+vn 0.1853 -0.9802 -0.0705\r
+vn 0.1853 -0.9802 -0.0705\r
+vn 0.0000 0.4993 0.8664\r
+vn 0.0000 0.4993 0.8664\r
+vn 0.0000 0.4993 0.8664\r
+vn 0.0000 0.4993 0.8664\r
+vn 0.0000 0.1646 0.9864\r
+vn 0.0000 0.1646 0.9864\r
+vn 0.0000 0.1646 0.9864\r
+vn -0.0082 0.5297 -0.8482\r
+vn -0.0082 0.5297 -0.8482\r
+vn -0.0082 0.5297 -0.8482\r
+vn -0.0082 0.5297 -0.8482\r
+vn 0.1634 0.0131 -0.9865\r
+vn 0.1634 0.0131 -0.9865\r
+vn 0.1634 0.0131 -0.9865\r
+vn 0.1634 0.0131 -0.9865\r
+vn 0.9827 -0.0885 -0.1628\r
+vn 0.9827 -0.0885 -0.1628\r
+vn 0.9827 -0.0885 -0.1628\r
+vn 0.9827 -0.0885 -0.1628\r
+vn -0.3989 -0.0990 0.9116\r
+vn -0.3989 -0.0990 0.9116\r
+vn -0.3989 -0.0990 0.9116\r
+vn -0.9831 0.0095 0.1829\r
+vn -0.9831 0.0095 0.1829\r
+vn -0.9831 0.0095 0.1829\r
+vn -0.9831 0.0095 0.1829\r
+vn 0.8610 -0.0854 -0.5014\r
+vn 0.8610 -0.0854 -0.5014\r
+vn 0.8610 -0.0854 -0.5014\r
+vn 0.8610 -0.0854 -0.5014\r
+vn 0.9175 -0.0321 0.3964\r
+vn 0.9175 -0.0321 0.3964\r
+vn 0.9175 -0.0321 0.3964\r
+vn 0.9175 -0.0321 0.3964\r
+vn 0.2238 0.0288 -0.9742\r
+vn 0.2238 0.0288 -0.9742\r
+vn 0.2238 0.0288 -0.9742\r
+vn 0.2238 0.0288 -0.9742\r
+vn 0.3754 0.9014 0.2157\r
+vn 0.3754 0.9014 0.2157\r
+vn 0.3754 0.9014 0.2157\r
+vn 0.3754 0.9014 0.2157\r
+vn 0.4122 0.8952 0.1693\r
+vn 0.4122 0.8952 0.1693\r
+vn 0.4122 0.8952 0.1693\r
+vn 0.4122 0.8952 0.1693\r
+vn 0.3397 -0.0890 0.9363\r
+vn 0.3397 -0.0890 0.9363\r
+vn 0.3397 -0.0890 0.9363\r
+vn 0.3397 -0.0890 0.9363\r
+vn 0.1393 0.8417 -0.5216\r
+vn 0.1393 0.8417 -0.5216\r
+vn 0.1393 0.8417 -0.5216\r
+vn 0.1393 0.8417 -0.5216\r
+vn 0.7724 -0.0229 0.6347\r
+vn 0.7724 -0.0229 0.6347\r
+vn 0.7724 -0.0229 0.6347\r
+vn 0.7724 -0.0229 0.6347\r
+vn 0.3000 -0.1901 0.9348\r
+vn 0.3000 -0.1901 0.9348\r
+vn 0.3000 -0.1901 0.9348\r
+vn 0.2668 0.2552 0.9293\r
+vn 0.2668 0.2552 0.9293\r
+vn 0.2668 0.2552 0.9293\r
+vn 0.2668 0.2552 0.9293\r
+vn -0.1291 0.1799 -0.9752\r
+vn -0.1291 0.1799 -0.9752\r
+vn -0.1291 0.1799 -0.9752\r
+vn -0.1291 0.1799 -0.9752\r
+vn -0.4379 -0.8826 -0.1713\r
+vn -0.4379 -0.8826 -0.1713\r
+vn -0.4379 -0.8826 -0.1713\r
+vn -0.4379 -0.8826 -0.1713\r
+vn 0.2686 0.9389 0.2152\r
+vn 0.2686 0.9389 0.2152\r
+vn 0.2686 0.9389 0.2152\r
+vn 0.2686 0.9389 0.2152\r
+vn -0.2569 -0.1860 0.9484\r
+vn -0.2569 -0.1860 0.9484\r
+vn -0.2569 -0.1860 0.9484\r
+vn -0.2569 -0.1860 0.9484\r
+vn 0.4719 -0.1610 -0.8668\r
+vn 0.4719 -0.1610 -0.8668\r
+vn 0.4719 -0.1610 -0.8668\r
+vn 0.4719 -0.1610 -0.8668\r
+vn -0.3121 -0.9015 -0.2997\r
+vn -0.3121 -0.9015 -0.2997\r
+vn -0.3121 -0.9015 -0.2997\r
+vn -0.3121 -0.9015 -0.2997\r
+vn 0.8992 0.1417 0.4139\r
+vn 0.8992 0.1417 0.4139\r
+vn 0.8992 0.1417 0.4139\r
+vn 0.8754 0.0683 -0.4785\r
+vn 0.8754 0.0683 -0.4785\r
+vn 0.8754 0.0683 -0.4785\r
+vn 0.8754 0.0683 -0.4785\r
+vn 0.8951 -0.3473 -0.2795\r
+vn 0.8951 -0.3473 -0.2795\r
+vn 0.8951 -0.3473 -0.2795\r
+vn 0.0453 0.0861 -0.9953\r
+vn 0.0453 0.0861 -0.9953\r
+vn 0.0453 0.0861 -0.9953\r
+vn 0.0453 0.0861 -0.9953\r
+vn -0.9869 0.0540 0.1522\r
+vn -0.9869 0.0540 0.1522\r
+vn -0.9869 0.0540 0.1522\r
+vn 0.3933 -0.2947 0.8709\r
+vn 0.3933 -0.2947 0.8709\r
+vn 0.3933 -0.2947 0.8709\r
+vn 0.3933 -0.2947 0.8709\r
+vn -0.0131 0.2104 -0.9775\r
+vn -0.0131 0.2104 -0.9775\r
+vn -0.0131 0.2104 -0.9775\r
+vn -0.0131 0.2104 -0.9775\r
+vn -0.9792 0.0511 0.1961\r
+vn -0.9792 0.0511 0.1961\r
+vn -0.9792 0.0511 0.1961\r
+vn -0.9792 0.0511 0.1961\r
+vn 0.3700 -0.1406 0.9183\r
+vn 0.3700 -0.1406 0.9183\r
+vn 0.3700 -0.1406 0.9183\r
+vn 0.3700 -0.1406 0.9183\r
+vn 0.9865 -0.0120 -0.1635\r
+vn 0.9865 -0.0120 -0.1635\r
+vn 0.9865 -0.0120 -0.1635\r
+vn 0.9865 -0.0120 -0.1635\r
+vn 0.8812 -0.3950 -0.2597\r
+vn 0.8812 -0.3950 -0.2597\r
+vn 0.8812 -0.3950 -0.2597\r
+vn 0.8812 -0.3950 -0.2597\r
+vn -0.3416 -0.9364 -0.0806\r
+vn -0.3416 -0.9364 -0.0806\r
+vn -0.3416 -0.9364 -0.0806\r
+vn -0.3416 -0.9364 -0.0806\r
+vn 0.2950 -0.2184 -0.9302\r
+vn 0.2950 -0.2184 -0.9302\r
+vn 0.2950 -0.2184 -0.9302\r
+vn 0.2950 -0.2184 -0.9302\r
+vn 0.2179 0.5180 0.8271\r
+vn 0.2179 0.5180 0.8271\r
+vn 0.2179 0.5180 0.8271\r
+vn 0.2179 0.5180 0.8271\r
+vn 0.8781 0.1721 0.4464\r
+vn 0.8781 0.1721 0.4464\r
+vn 0.8781 0.1721 0.4464\r
+vn 0.8781 0.1721 0.4464\r
+vn 0.3519 0.0039 0.9360\r
+vn 0.3519 0.0039 0.9360\r
+vn 0.3519 0.0039 0.9360\r
+vn 0.3519 0.0039 0.9360\r
+vn 0.5009 0.1733 0.8480\r
+vn 0.5009 0.1733 0.8480\r
+vn 0.5009 0.1733 0.8480\r
+vn 0.4195 -0.8939 0.1582\r
+vn 0.4195 -0.8939 0.1582\r
+vn 0.4195 -0.8939 0.1582\r
+vn 0.8797 0.2347 0.4135\r
+vn 0.8797 0.2347 0.4135\r
+vn 0.8797 0.2347 0.4135\r
+vn 0.8797 0.2347 0.4135\r
+vn 0.4054 0.4008 0.8216\r
+vn 0.4054 0.4008 0.8216\r
+vn 0.4054 0.4008 0.8216\r
+vn 0.4054 0.4008 0.8216\r
+vn 0.9589 0.1397 0.2470\r
+vn 0.9589 0.1397 0.2470\r
+vn 0.9589 0.1397 0.2470\r
+vn 0.9589 0.1397 0.2470\r
+vn 0.9826 0.0104 0.1854\r
+vn 0.9826 0.0104 0.1854\r
+vn 0.9826 0.0104 0.1854\r
+vn 0.8356 -0.5474 -0.0454\r
+vn 0.8356 -0.5474 -0.0454\r
+vn 0.8356 -0.5474 -0.0454\r
+vn 0.9624 -0.1782 0.2052\r
+vn 0.9624 -0.1782 0.2052\r
+vn 0.9624 -0.1782 0.2052\r
+vn 0.9624 -0.1782 0.2052\r
+vn 0.5693 0.1809 0.8020\r
+vn 0.5693 0.1809 0.8020\r
+vn 0.5693 0.1809 0.8020\r
+vn 0.5693 0.1809 0.8020\r
+vn 0.4248 -0.1131 0.8982\r
+vn 0.4248 -0.1131 0.8982\r
+vn 0.4248 -0.1131 0.8982\r
+vn 0.4248 -0.1131 0.8982\r
+vn 0.8013 -0.5559 -0.2211\r
+vn 0.8013 -0.5559 -0.2211\r
+vn 0.8013 -0.5559 -0.2211\r
+vn 0.6057 -0.0427 0.7945\r
+vn 0.6057 -0.0427 0.7945\r
+vn 0.6057 -0.0427 0.7945\r
+vn 0.6057 -0.0427 0.7945\r
+vn 0.9625 0.1322 0.2368\r
+vn 0.9625 0.1322 0.2368\r
+vn 0.9625 0.1322 0.2368\r
+vn 0.9625 0.1322 0.2368\r
+vn -0.1464 -0.4023 -0.9037\r
+vn -0.1464 -0.4023 -0.9037\r
+vn -0.1464 -0.4023 -0.9037\r
+vn -0.8689 -0.4884 0.0797\r
+vn -0.8689 -0.4884 0.0797\r
+vn -0.8689 -0.4884 0.0797\r
+vn 0.2547 -0.3961 0.8821\r
+vn 0.2547 -0.3961 0.8821\r
+vn 0.2547 -0.3961 0.8821\r
+vn 0.2547 -0.3961 0.8821\r
+vn 0.5805 -0.7821 -0.2267\r
+vn 0.5805 -0.7821 -0.2267\r
+vn 0.5805 -0.7821 -0.2267\r
+vn 0.5805 -0.7821 -0.2267\r
+vn -0.9816 0.0670 0.1787\r
+vn -0.9816 0.0670 0.1787\r
+vn -0.9816 0.0670 0.1787\r
+vn -0.9816 0.0670 0.1787\r
+vn 0.8821 0.1569 -0.4442\r
+vn 0.8821 0.1569 -0.4442\r
+vn 0.8821 0.1569 -0.4442\r
+vn 0.8821 0.1569 -0.4442\r
+vn 0.8922 0.1700 0.4184\r
+vn 0.8922 0.1700 0.4184\r
+vn 0.8922 0.1700 0.4184\r
+vn 0.4727 0.1273 0.8720\r
+vn 0.4727 0.1273 0.8720\r
+vn 0.4727 0.1273 0.8720\r
+vn 0.9265 0.0869 0.3661\r
+vn 0.9265 0.0869 0.3661\r
+vn 0.9265 0.0869 0.3661\r
+vn 0.1743 -0.1645 0.9709\r
+vn 0.1743 -0.1645 0.9709\r
+vn 0.1743 -0.1645 0.9709\r
+vn 0.1743 -0.1645 0.9709\r
+vn 0.5265 0.8267 0.1983\r
+vn 0.5265 0.8267 0.1983\r
+vn 0.5265 0.8267 0.1983\r
+vn 0.5265 0.8267 0.1983\r
+vn 0.1549 -0.0355 -0.9873\r
+vn 0.1549 -0.0355 -0.9873\r
+vn 0.1549 -0.0355 -0.9873\r
+vn -0.0017 -0.1699 0.9855\r
+vn -0.0017 -0.1699 0.9855\r
+vn -0.0017 -0.1699 0.9855\r
+vn -0.0017 -0.1699 0.9855\r
+vn 0.2158 0.8144 0.5387\r
+vn 0.2158 0.8144 0.5387\r
+vn 0.2158 0.8144 0.5387\r
+vn 0.2158 0.8144 0.5387\r
+vn 0.2761 0.9321 0.2345\r
+vn 0.2761 0.9321 0.2345\r
+vn 0.2761 0.9321 0.2345\r
+vn 0.9428 0.2795 0.1817\r
+vn 0.9428 0.2795 0.1817\r
+vn 0.9428 0.2795 0.1817\r
+vn 0.9986 -0.0518 -0.0141\r
+vn 0.9986 -0.0518 -0.0141\r
+vn 0.9986 -0.0518 -0.0141\r
+vn 0.1080 -0.9096 0.4012\r
+vn 0.1080 -0.9096 0.4012\r
+vn 0.1080 -0.9096 0.4012\r
+vn -0.2345 0.8990 0.3700\r
+vn -0.2345 0.8990 0.3700\r
+vn -0.2345 0.8990 0.3700\r
+vn -0.2345 0.8990 0.3700\r
+vn -0.9921 0.0722 0.1030\r
+vn -0.9921 0.0722 0.1030\r
+vn -0.9921 0.0722 0.1030\r
+vn -0.9921 0.0722 0.1030\r
+vn 0.0022 -1.0000 -0.0050\r
+vn 0.0022 -1.0000 -0.0050\r
+vn 0.0022 -1.0000 -0.0050\r
+vn 0.0022 -1.0000 -0.0050\r
+vn -0.9203 0.0429 -0.3888\r
+vn -0.9203 0.0429 -0.3888\r
+vn -0.9203 0.0429 -0.3888\r
+vn -0.9203 0.0429 -0.3888\r
+vn -0.2703 0.4526 0.8498\r
+vn -0.2703 0.4526 0.8498\r
+vn -0.2703 0.4526 0.8498\r
+vn -0.2703 0.4526 0.8498\r
+vn 0.9574 -0.0737 -0.2791\r
+vn 0.9574 -0.0737 -0.2791\r
+vn 0.9574 -0.0737 -0.2791\r
+vn 0.9574 -0.0737 -0.2791\r
+vn 0.7381 0.3081 0.6002\r
+vn 0.7381 0.3081 0.6002\r
+vn 0.7381 0.3081 0.6002\r
+vn 0.7381 0.3081 0.6002\r
+vn 0.5607 0.8117 0.1637\r
+vn 0.5607 0.8117 0.1637\r
+vn 0.5607 0.8117 0.1637\r
+vn 0.5607 0.8117 0.1637\r
+vn 0.4525 -0.0743 0.8887\r
+vn 0.4525 -0.0743 0.8887\r
+vn 0.4525 -0.0743 0.8887\r
+vn 0.4525 -0.0743 0.8887\r
+vn 0.1186 -0.9178 -0.3790\r
+vn 0.1186 -0.9178 -0.3790\r
+vn 0.1186 -0.9178 -0.3790\r
+vn -0.7515 -0.6568 -0.0629\r
+vn -0.7515 -0.6568 -0.0629\r
+vn -0.7515 -0.6568 -0.0629\r
+vn 0.9597 0.0281 -0.2798\r
+vn 0.9597 0.0281 -0.2798\r
+vn 0.9597 0.0281 -0.2798\r
+vn 0.9597 0.0281 -0.2798\r
+vn 0.1273 -0.1278 -0.9836\r
+vn 0.1273 -0.1278 -0.9836\r
+vn 0.1273 -0.1278 -0.9836\r
+vn 0.1273 -0.1278 -0.9836\r
+vn 0.3455 0.1354 0.9286\r
+vn 0.3455 0.1354 0.9286\r
+vn 0.3455 0.1354 0.9286\r
+vn 0.3455 0.1354 0.9286\r
+vn 0.2764 -0.8870 0.3700\r
+vn 0.2764 -0.8870 0.3700\r
+vn 0.2764 -0.8870 0.3700\r
+vn 0.2451 -0.1993 0.9488\r
+vn 0.2451 -0.1993 0.9488\r
+vn 0.2451 -0.1993 0.9488\r
+vn 0.2451 -0.1993 0.9488\r
+vn 0.6807 -0.2106 -0.7016\r
+vn 0.6807 -0.2106 -0.7016\r
+vn 0.6807 -0.2106 -0.7016\r
+vn 0.6807 -0.2106 -0.7016\r
+vn 0.7106 0.6739 0.2021\r
+vn 0.7106 0.6739 0.2021\r
+vn 0.7106 0.6739 0.2021\r
+vn 0.7106 0.6739 0.2021\r
+vn 0.5757 -0.8031 -0.1535\r
+vn 0.5757 -0.8031 -0.1535\r
+vn 0.5757 -0.8031 -0.1535\r
+vn 0.5757 -0.8031 -0.1535\r
+vn -0.2345 0.0522 0.9707\r
+vn -0.2345 0.0522 0.9707\r
+vn -0.2345 0.0522 0.9707\r
+vn -0.2345 0.0522 0.9707\r
+vn 0.0517 0.0476 -0.9975\r
+vn 0.0517 0.0476 -0.9975\r
+vn 0.0517 0.0476 -0.9975\r
+vn 0.0517 0.0476 -0.9975\r
+vn 0.2831 0.9562 0.0752\r
+vn 0.2831 0.9562 0.0752\r
+vn 0.2831 0.9562 0.0752\r
+vn 0.2831 0.9562 0.0752\r
+vn -0.0507 -0.9935 -0.1016\r
+vn -0.0507 -0.9935 -0.1016\r
+vn -0.0507 -0.9935 -0.1016\r
+vn -0.0507 -0.9935 -0.1016\r
+vn 0.3031 0.0471 0.9518\r
+vn 0.3031 0.0471 0.9518\r
+vn 0.3031 0.0471 0.9518\r
+vn 0.3031 0.0471 0.9518\r
+vn 0.6130 -0.0352 0.7893\r
+vn 0.6130 -0.0352 0.7893\r
+vn 0.6130 -0.0352 0.7893\r
+vn 0.6130 -0.0352 0.7893\r
+vn 0.2884 -0.1753 -0.9413\r
+vn 0.2884 -0.1753 -0.9413\r
+vn 0.2884 -0.1753 -0.9413\r
+vn 0.2884 -0.1753 -0.9413\r
+vn 0.2159 0.9761 0.0226\r
+vn 0.2159 0.9761 0.0226\r
+vn 0.2159 0.9761 0.0226\r
+vn 0.2159 0.9761 0.0226\r
+vn -0.8065 -0.4408 -0.3941\r
+vn -0.8065 -0.4408 -0.3941\r
+vn -0.8065 -0.4408 -0.3941\r
+vn 0.8405 -0.0442 0.5400\r
+vn 0.8405 -0.0442 0.5400\r
+vn 0.8405 -0.0442 0.5400\r
+vn 0.8405 -0.0442 0.5400\r
+vn 0.9791 -0.1752 -0.1028\r
+vn 0.9791 -0.1752 -0.1028\r
+vn 0.9791 -0.1752 -0.1028\r
+vn 0.9791 -0.1752 -0.1028\r
+vn 0.5602 0.7378 0.3766\r
+vn 0.5602 0.7378 0.3766\r
+vn 0.5602 0.7378 0.3766\r
+vn -0.4841 0.3212 0.8139\r
+vn -0.4841 0.3212 0.8139\r
+vn -0.4841 0.3212 0.8139\r
+vn -0.4841 0.3212 0.8139\r
+vn -0.7657 -0.6427 -0.0248\r
+vn -0.7657 -0.6427 -0.0248\r
+vn -0.7657 -0.6427 -0.0248\r
+vn -0.7657 -0.6427 -0.0248\r
+vn -0.0687 0.6166 0.7843\r
+vn -0.0687 0.6166 0.7843\r
+vn -0.0687 0.6166 0.7843\r
+vn 0.0699 -0.0315 0.9971\r
+vn 0.0699 -0.0315 0.9971\r
+vn 0.0699 -0.0315 0.9971\r
+vn 0.0699 -0.0315 0.9971\r
+vn 0.7898 -0.2268 0.5698\r
+vn 0.7898 -0.2268 0.5698\r
+vn 0.7898 -0.2268 0.5698\r
+vn 0.8001 -0.0972 0.5919\r
+vn 0.8001 -0.0972 0.5919\r
+vn 0.8001 -0.0972 0.5919\r
+vn 0.8001 -0.0972 0.5919\r
+vn 0.5940 -0.7913 0.1450\r
+vn 0.5940 -0.7913 0.1450\r
+vn 0.5940 -0.7913 0.1450\r
+vn 0.5940 -0.7913 0.1450\r
+vn 0.0906 0.1887 0.9778\r
+vn 0.0906 0.1887 0.9778\r
+vn 0.0906 0.1887 0.9778\r
+vn 0.0984 0.0806 -0.9919\r
+vn 0.0984 0.0806 -0.9919\r
+vn 0.0984 0.0806 -0.9919\r
+vn 0.0984 0.0806 -0.9919\r
+vn 0.4368 0.8892 0.1359\r
+vn 0.4368 0.8892 0.1359\r
+vn 0.4368 0.8892 0.1359\r
+vn 0.4368 0.8892 0.1359\r
+vn -0.4359 -0.8263 -0.3567\r
+vn -0.4359 -0.8263 -0.3567\r
+vn -0.4359 -0.8263 -0.3567\r
+vn -0.4359 -0.8263 -0.3567\r
+vn -0.1164 -0.1902 0.9748\r
+vn -0.1164 -0.1902 0.9748\r
+vn -0.1164 -0.1902 0.9748\r
+vn -0.1164 -0.1902 0.9748\r
+vn 0.0304 0.1155 -0.9928\r
+vn 0.0304 0.1155 -0.9928\r
+vn 0.0304 0.1155 -0.9928\r
+vn 0.0304 0.1155 -0.9928\r
+vn 0.4473 0.8833 0.1406\r
+vn 0.4473 0.8833 0.1406\r
+vn 0.4473 0.8833 0.1406\r
+vn -0.4096 -0.8479 -0.3367\r
+vn -0.4096 -0.8479 -0.3367\r
+vn -0.4096 -0.8479 -0.3367\r
+vn -0.9835 -0.1436 0.1101\r
+vn -0.9835 -0.1436 0.1101\r
+vn -0.9835 -0.1436 0.1101\r
+vn -0.3745 0.2581 0.8906\r
+vn -0.3745 0.2581 0.8906\r
+vn -0.3745 0.2581 0.8906\r
+vn -0.3745 0.2581 0.8906\r
+vn -0.3866 -0.6109 0.6909\r
+vn -0.3866 -0.6109 0.6909\r
+vn -0.3866 -0.6109 0.6909\r
+vn -0.3866 -0.6109 0.6909\r
+vn 0.2026 0.7986 0.5667\r
+vn 0.2026 0.7986 0.5667\r
+vn 0.2026 0.7986 0.5667\r
+vn 0.3472 -0.1729 0.9217\r
+vn 0.3472 -0.1729 0.9217\r
+vn 0.3472 -0.1729 0.9217\r
+vn 0.0557 0.0627 -0.9965\r
+vn 0.0557 0.0627 -0.9965\r
+vn 0.0557 0.0627 -0.9965\r
+vn 0.0557 0.0627 -0.9965\r
+vn 0.5625 0.8268 -0.0012\r
+vn 0.5625 0.8268 -0.0012\r
+vn 0.5625 0.8268 -0.0012\r
+vn 0.5625 0.8268 -0.0012\r
+vn -0.1065 -0.9839 -0.1437\r
+vn -0.1065 -0.9839 -0.1437\r
+vn -0.1065 -0.9839 -0.1437\r
+vn 0.1926 0.4841 0.8535\r
+vn 0.1926 0.4841 0.8535\r
+vn 0.1926 0.4841 0.8535\r
+vn -0.0135 -0.9999 -0.0004\r
+vn -0.0135 -0.9999 -0.0004\r
+vn -0.0135 -0.9999 -0.0004\r
+vn -0.0135 -0.9999 -0.0004\r
+vn 0.1584 0.3315 0.9300\r
+vn 0.1584 0.3315 0.9300\r
+vn 0.1584 0.3315 0.9300\r
+vn -0.9439 -0.3276 -0.0423\r
+vn -0.9439 -0.3276 -0.0423\r
+vn -0.9439 -0.3276 -0.0423\r
+vn 0.0000 -0.0454 0.9990\r
+vn 0.0000 -0.0454 0.9990\r
+vn 0.0000 -0.0454 0.9990\r
+vn 0.0985 -0.9710 0.2177\r
+vn 0.0985 -0.9710 0.2177\r
+vn 0.0985 -0.9710 0.2177\r
+vn 0.0985 -0.9710 0.2177\r
+vn 0.8813 0.0216 0.4721\r
+vn 0.8813 0.0216 0.4721\r
+vn 0.8813 0.0216 0.4721\r
+vn 0.9213 -0.1090 -0.3733\r
+vn 0.9213 -0.1090 -0.3733\r
+vn 0.9213 -0.1090 -0.3733\r
+vn 0.9213 -0.1090 -0.3733\r
+vn 0.4018 -0.1466 0.9039\r
+vn 0.4018 -0.1466 0.9039\r
+vn 0.4018 -0.1466 0.9039\r
+vn 0.4018 -0.1466 0.9039\r
+vn 0.2305 -0.1079 -0.9671\r
+vn 0.2305 -0.1079 -0.9671\r
+vn 0.2305 -0.1079 -0.9671\r
+vn 0.2305 -0.1079 -0.9671\r
+vn -0.9922 -0.1101 0.0578\r
+vn -0.9922 -0.1101 0.0578\r
+vn -0.9922 -0.1101 0.0578\r
+vn -0.9922 -0.1101 0.0578\r
+vn 0.3247 0.0848 -0.9420\r
+vn 0.3247 0.0848 -0.9420\r
+vn 0.3247 0.0848 -0.9420\r
+vn 0.3247 0.0848 -0.9420\r
+vn 0.8896 0.3112 -0.3342\r
+vn 0.8896 0.3112 -0.3342\r
+vn 0.8896 0.3112 -0.3342\r
+vn 0.8826 0.1868 0.4314\r
+vn 0.8826 0.1868 0.4314\r
+vn 0.8826 0.1868 0.4314\r
+vn 0.8826 0.1868 0.4314\r
+vn 0.4908 0.2558 0.8329\r
+vn 0.4908 0.2558 0.8329\r
+vn 0.4908 0.2558 0.8329\r
+vn 0.4908 0.2558 0.8329\r
+vn 0.1991 -0.9326 0.3009\r
+vn 0.1991 -0.9326 0.3009\r
+vn 0.1991 -0.9326 0.3009\r
+vn 0.1991 -0.9326 0.3009\r
+vn 0.2058 0.0231 -0.9783\r
+vn 0.2058 0.0231 -0.9783\r
+vn 0.2058 0.0231 -0.9783\r
+vn 0.2058 0.0231 -0.9783\r
+vn -0.2901 -0.0605 0.9551\r
+vn -0.2901 -0.0605 0.9551\r
+vn -0.2901 -0.0605 0.9551\r
+vn -0.3489 -0.9259 -0.1447\r
+vn -0.3489 -0.9259 -0.1447\r
+vn -0.3489 -0.9259 -0.1447\r
+vn -0.3489 -0.9259 -0.1447\r
+vn 0.0284 0.0393 -0.9988\r
+vn 0.0284 0.0393 -0.9988\r
+vn 0.0284 0.0393 -0.9988\r
+vn 0.0284 0.0393 -0.9988\r
+vn 0.7231 0.6525 0.2267\r
+vn 0.7231 0.6525 0.2267\r
+vn 0.7231 0.6525 0.2267\r
+vn 0.0951 -0.9499 -0.2979\r
+vn 0.0951 -0.9499 -0.2979\r
+vn 0.0951 -0.9499 -0.2979\r
+vn 0.0104 0.0752 -0.9971\r
+vn 0.0104 0.0752 -0.9971\r
+vn 0.0104 0.0752 -0.9971\r
+vn 0.0104 0.0752 -0.9971\r
+vn 0.5617 0.5448 -0.6226\r
+vn 0.5617 0.5448 -0.6226\r
+vn 0.5617 0.5448 -0.6226\r
+vn 0.5617 0.5448 -0.6226\r
+vn 0.4104 -0.2331 -0.8816\r
+vn 0.4104 -0.2331 -0.8816\r
+vn 0.4104 -0.2331 -0.8816\r
+vn 0.4104 -0.2331 -0.8816\r
+vn -0.2017 -0.9682 -0.1481\r
+vn -0.2017 -0.9682 -0.1481\r
+vn -0.2017 -0.9682 -0.1481\r
+vn -0.1853 -0.9802 -0.0705\r
+vn -0.1853 -0.9802 -0.0705\r
+vn -0.1853 -0.9802 -0.0705\r
+vn 0.0082 0.5297 -0.8482\r
+vn 0.0082 0.5297 -0.8482\r
+vn 0.0082 0.5297 -0.8482\r
+vn 0.0082 0.5297 -0.8482\r
+vn 0.4981 0.2118 0.8409\r
+vn 0.4981 0.2118 0.8409\r
+vn 0.4981 0.2118 0.8409\r
+vn 0.4981 0.2118 0.8409\r
+vn 0.9154 0.1115 0.3868\r
+vn 0.9154 0.1115 0.3868\r
+vn 0.9154 0.1115 0.3868\r
+vn 0.9154 0.1115 0.3868\r
+vn 0.9849 0.1424 0.0984\r
+vn 0.9849 0.1424 0.0984\r
+vn 0.9849 0.1424 0.0984\r
+vn 0.9849 0.1424 0.0984\r
+vn 0.9176 0.2222 0.3295\r
+vn 0.9176 0.2222 0.3295\r
+vn 0.9176 0.2222 0.3295\r
+vn 0.8424 0.0336 0.5378\r
+vn 0.8424 0.0336 0.5378\r
+vn 0.8424 0.0336 0.5378\r
+vn 0.8424 0.0336 0.5378\r
+vn 0.9822 0.1564 0.1044\r
+vn 0.9822 0.1564 0.1044\r
+vn 0.9822 0.1564 0.1044\r
+vn 0.9822 0.1564 0.1044\r
+vn 0.8392 0.2042 -0.5041\r
+vn 0.8392 0.2042 -0.5041\r
+vn 0.8392 0.2042 -0.5041\r
+vn 0.8392 0.2042 -0.5041\r
+vn 0.8476 0.1279 -0.5150\r
+vn 0.8476 0.1279 -0.5150\r
+vn 0.8476 0.1279 -0.5150\r
+vn 0.8476 0.1279 -0.5150\r
+vn 0.3651 0.2222 -0.9041\r
+vn 0.3651 0.2222 -0.9041\r
+vn 0.3651 0.2222 -0.9041\r
+vn 0.3651 0.2222 -0.9041\r
+vn 0.2551 0.0353 -0.9663\r
+vn 0.2551 0.0353 -0.9663\r
+vn 0.2551 0.0353 -0.9663\r
+vn 0.2551 0.0353 -0.9663\r
+vn 0.4221 0.6183 0.6630\r
+vn 0.4221 0.6183 0.6630\r
+vn 0.4221 0.6183 0.6630\r
+vn 0.7567 0.6087 0.2385\r
+vn 0.7567 0.6087 0.2385\r
+vn 0.7567 0.6087 0.2385\r
+vn 0.7567 0.6087 0.2385\r
+vn 0.8063 0.5860 0.0806\r
+vn 0.8063 0.5860 0.0806\r
+vn 0.8063 0.5860 0.0806\r
+vn 0.4688 0.7655 -0.4407\r
+vn 0.4688 0.7655 -0.4407\r
+vn 0.4688 0.7655 -0.4407\r
+vn 0.4688 0.7655 -0.4407\r
+vn 0.2815 0.7238 -0.6299\r
+vn 0.2815 0.7238 -0.6299\r
+vn 0.2815 0.7238 -0.6299\r
+vn 0.2964 0.9524 0.0712\r
+vn 0.2964 0.9524 0.0712\r
+vn 0.2964 0.9524 0.0712\r
+vn 0.1841 0.9614 -0.2047\r
+vn 0.1841 0.9614 -0.2047\r
+vn 0.1841 0.9614 -0.2047\r
+vn 0.0000 0.7502 0.6612\r
+vn 0.0000 0.7502 0.6612\r
+vn 0.0000 0.7502 0.6612\r
+vn 0.0000 0.7502 0.6612\r
+vn 0.2047 0.1425 0.9684\r
+vn 0.2047 0.1425 0.9684\r
+vn 0.2047 0.1425 0.9684\r
+vn 0.0000 0.2848 0.9586\r
+vn 0.0000 0.2848 0.9586\r
+vn 0.0000 0.2848 0.9586\r
+vn -0.9000 0.0177 0.4355\r
+vn -0.9000 0.0177 0.4355\r
+vn -0.9000 0.0177 0.4355\r
+vn -0.9000 0.0177 0.4355\r
+vn -0.4981 0.2118 0.8409\r
+vn -0.4981 0.2118 0.8409\r
+vn -0.4981 0.2118 0.8409\r
+vn -0.4981 0.2118 0.8409\r
+vn -0.9154 0.1115 0.3868\r
+vn -0.9154 0.1115 0.3868\r
+vn -0.9154 0.1115 0.3868\r
+vn -0.9154 0.1115 0.3868\r
+vn -0.9849 0.1424 0.0984\r
+vn -0.9849 0.1424 0.0984\r
+vn -0.9849 0.1424 0.0984\r
+vn -0.9849 0.1424 0.0984\r
+vn -0.9176 0.2222 0.3295\r
+vn -0.9176 0.2222 0.3295\r
+vn -0.9176 0.2222 0.3295\r
+vn -0.8424 0.0336 0.5378\r
+vn -0.8424 0.0336 0.5378\r
+vn -0.8424 0.0336 0.5378\r
+vn -0.8424 0.0336 0.5378\r
+vn -0.9822 0.1564 0.1044\r
+vn -0.9822 0.1564 0.1044\r
+vn -0.9822 0.1564 0.1044\r
+vn -0.9822 0.1564 0.1044\r
+vn -0.8392 0.2042 -0.5041\r
+vn -0.8392 0.2042 -0.5041\r
+vn -0.8392 0.2042 -0.5041\r
+vn -0.8392 0.2042 -0.5041\r
+vn -0.8476 0.1279 -0.5150\r
+vn -0.8476 0.1279 -0.5150\r
+vn -0.8476 0.1279 -0.5150\r
+vn -0.8476 0.1279 -0.5150\r
+vn -0.3651 0.2222 -0.9041\r
+vn -0.3651 0.2222 -0.9041\r
+vn -0.3651 0.2222 -0.9041\r
+vn -0.3651 0.2222 -0.9041\r
+vn -0.2551 0.0353 -0.9663\r
+vn -0.2551 0.0353 -0.9663\r
+vn -0.2551 0.0353 -0.9663\r
+vn -0.2551 0.0353 -0.9663\r
+vn -0.4221 0.6183 0.6630\r
+vn -0.4221 0.6183 0.6630\r
+vn -0.4221 0.6183 0.6630\r
+vn -0.7568 0.6087 0.2385\r
+vn -0.7568 0.6087 0.2385\r
+vn -0.7568 0.6087 0.2385\r
+vn -0.7568 0.6087 0.2385\r
+vn -0.8063 0.5860 0.0806\r
+vn -0.8063 0.5860 0.0806\r
+vn -0.8063 0.5860 0.0806\r
+vn -0.4688 0.7655 -0.4407\r
+vn -0.4688 0.7655 -0.4407\r
+vn -0.4688 0.7655 -0.4407\r
+vn -0.4688 0.7655 -0.4407\r
+vn -0.2815 0.7238 -0.6299\r
+vn -0.2815 0.7238 -0.6299\r
+vn -0.2815 0.7238 -0.6299\r
+vn -0.2964 0.9524 0.0712\r
+vn -0.2964 0.9524 0.0712\r
+vn -0.2964 0.9524 0.0712\r
+vn -0.1841 0.9614 -0.2047\r
+vn -0.1841 0.9614 -0.2047\r
+vn -0.1841 0.9614 -0.2047\r
+vn 0.0000 0.9651 0.2620\r
+vn 0.0000 0.9651 0.2620\r
+vn 0.0000 0.9651 0.2620\r
+vn -0.2047 0.1425 0.9684\r
+vn -0.2047 0.1425 0.9684\r
+vn -0.2047 0.1425 0.9684\r
+vn 0.9000 0.0177 0.4355\r
+vn 0.9000 0.0177 0.4355\r
+vn 0.9000 0.0177 0.4355\r
+vn 0.9000 0.0177 0.4355\r
+vn 0.2337 0.1582 -0.9593\r
+vn 0.2337 0.1582 -0.9593\r
+vn 0.2337 0.1582 -0.9593\r
+vn 0.2337 0.1582 -0.9593\r
+vn 0.9108 0.1087 0.3983\r
+vn 0.9108 0.1087 0.3983\r
+vn 0.9108 0.1087 0.3983\r
+vn 0.9108 0.1087 0.3983\r
+vn -0.2721 -0.2324 0.9338\r
+vn -0.2721 -0.2324 0.9338\r
+vn -0.2721 -0.2324 0.9338\r
+vn -0.2721 -0.2324 0.9338\r
+vn 0.2667 0.2664 -0.9262\r
+vn 0.2667 0.2664 -0.9262\r
+vn 0.2667 0.2664 -0.9262\r
+vn 0.2667 0.2664 -0.9262\r
+vn -0.2859 -0.7827 0.5528\r
+vn -0.2859 -0.7827 0.5528\r
+vn -0.2859 -0.7827 0.5528\r
+vn -0.2859 -0.7827 0.5528\r
+vn 0.8992 0.0079 0.4376\r
+vn 0.8992 0.0079 0.4376\r
+vn 0.8992 0.0079 0.4376\r
+vn -0.2937 0.9558 0.0153\r
+vn -0.2937 0.9558 0.0153\r
+vn -0.2937 0.9558 0.0153\r
+vn -0.2937 0.9558 0.0153\r
+vn -0.1893 -0.7092 -0.6791\r
+vn -0.1893 -0.7092 -0.6791\r
+vn -0.1893 -0.7092 -0.6791\r
+vn -0.1893 -0.7092 -0.6791\r
+vn 0.9591 0.2709 0.0827\r
+vn 0.9591 0.2709 0.0827\r
+vn 0.9591 0.2709 0.0827\r
+vn 0.9591 0.2709 0.0827\r
+vn 0.1679 -0.1013 0.9806\r
+vn 0.1679 -0.1013 0.9806\r
+vn 0.1679 -0.1013 0.9806\r
+vn -0.1678 0.1072 -0.9800\r
+vn -0.1678 0.1072 -0.9800\r
+vn -0.1678 0.1072 -0.9800\r
+vn 0.0422 -0.7280 0.6843\r
+vn 0.0422 -0.7280 0.6843\r
+vn 0.0422 -0.7280 0.6843\r
+vn 0.0422 -0.7280 0.6843\r
+vn 0.9372 -0.3398 0.0787\r
+vn 0.9372 -0.3398 0.0787\r
+vn 0.9372 -0.3398 0.0787\r
+# 1312 vertex normals\r
+\r
+vt 0.3107 0.8057 0.0000\r
+vt 0.0418 0.8273 0.0000\r
+vt 0.0224 0.9163 0.0000\r
+vt 0.3107 0.4728 0.0000\r
+vt 0.1035 0.2227 0.0000\r
+vt 0.1074 0.0253 0.0000\r
+vt 0.0899 0.0232 0.0000\r
+vt 0.0636 0.2210 0.0000\r
+vt 0.1450 0.0577 0.0000\r
+vt 0.1687 0.2207 0.0000\r
+vt 0.1815 0.0586 0.0000\r
+vt 0.1640 0.0674 0.0000\r
+vt 0.2169 0.2236 0.0000\r
+vt 0.2201 0.0170 0.0000\r
+vt 0.2532 0.2123 0.0000\r
+vt 0.1832 0.6616 0.0000\r
+vt 0.1399 0.7884 0.0000\r
+vt 0.1833 0.7921 0.0000\r
+vt 0.2391 0.6616 0.0000\r
+vt 0.2493 0.8024 0.0000\r
+vt 0.1804 0.9648 0.0000\r
+vt 0.1341 0.8526 0.0000\r
+vt 0.0281 0.8778 0.0000\r
+vt 0.8077 0.9449 0.0000\r
+vt 0.7460 0.9866 0.0000\r
+vt 0.7460 0.9449 0.0000\r
+vt 0.8055 0.9227 0.0000\r
+vt 0.7460 0.9227 0.0000\r
+vt 0.7460 0.8094 0.0000\r
+vt 0.8053 0.8344 0.0000\r
+vt 0.2595 0.9680 0.0000\r
+vt 0.2566 0.8644 0.0000\r
+vt 0.1810 0.8442 0.0000\r
+vt 0.8086 0.8094 0.0000\r
+vt 0.8795 0.8094 0.0000\r
+vt 0.8795 0.8344 0.0000\r
+vt 0.6800 0.8094 0.0000\r
+vt 0.6889 0.9227 0.0000\r
+vt 0.6269 0.9227 0.0000\r
+vt 0.8108 0.7884 0.0000\r
+vt 0.7460 0.7884 0.0000\r
+vt 0.7460 0.6802 0.0000\r
+vt 0.8127 0.7051 0.0000\r
+vt 0.6918 0.6802 0.0000\r
+vt 0.6777 0.7884 0.0000\r
+vt 0.8099 0.6802 0.0000\r
+vt 0.8622 0.6802 0.0000\r
+vt 0.8795 0.7051 0.0000\r
+vt 0.8795 0.7884 0.0000\r
+vt 0.1854 0.4365 0.0000\r
+vt 0.1439 0.4087 0.0000\r
+vt 0.1364 0.4405 0.0000\r
+vt 0.0869 0.4366 0.0000\r
+vt 0.0973 0.3997 0.0000\r
+vt 0.1665 0.2975 0.0000\r
+vt 0.1634 0.2856 0.0000\r
+vt 0.1066 0.2975 0.0000\r
+vt 0.0549 0.2975 0.0000\r
+vt 0.0533 0.3137 0.0000\r
+vt 0.1055 0.3137 0.0000\r
+vt 0.2216 0.2810 0.0000\r
+vt 0.2243 0.2975 0.0000\r
+vt 0.0907 0.2286 0.0000\r
+vt 0.2823 0.2237 0.0000\r
+vt 0.2203 0.2369 0.0000\r
+vt 0.1517 0.2329 0.0000\r
+vt 0.2858 0.9314 0.0000\r
+vt 0.5026 0.1853 0.0000\r
+vt 0.5291 0.2009 0.0000\r
+vt 0.5298 0.1673 0.0000\r
+vt 0.5088 0.1569 0.0000\r
+vt 0.5062 0.1298 0.0000\r
+vt 0.4678 0.2318 0.0000\r
+vt 0.4344 0.1874 0.0000\r
+vt 0.4309 0.2270 0.0000\r
+vt 0.4999 0.2272 0.0000\r
+vt 0.5055 0.2476 0.0000\r
+vt 0.5256 0.2239 0.0000\r
+vt 0.4643 0.2508 0.0000\r
+vt 0.4516 0.2875 0.0000\r
+vt 0.3672 0.2403 0.0000\r
+vt 0.4357 0.0900 0.0000\r
+vt 0.3761 0.1116 0.0000\r
+vt 0.4347 0.1190 0.0000\r
+vt 0.3880 0.0541 0.0000\r
+vt 0.4096 0.1930 0.0000\r
+vt 0.5070 0.0878 0.0000\r
+vt 0.2699 0.9825 0.0000\r
+vt 0.3078 0.9535 0.0000\r
+vt 0.2255 0.3137 0.0000\r
+vt 0.1336 0.4715 0.0000\r
+vt 0.0941 0.4709 0.0000\r
+vt 0.2576 0.5822 0.0000\r
+vt 0.3084 0.0404 0.0000\r
+vt 0.2902 0.0307 0.0000\r
+vt 0.3135 0.0238 0.0000\r
+vt 0.7658 0.0409 0.0000\r
+vt 0.2740 0.0396 0.0000\r
+vt 0.2662 0.0236 0.0000\r
+vt 0.1657 0.3137 0.0000\r
+vt 0.0417 0.3958 0.0000\r
+vt 0.7109 0.6619 0.0000\r
+vt 0.7460 0.6619 0.0000\r
+vt 0.8009 0.6619 0.0000\r
+vt 0.8356 0.6619 0.0000\r
+vt 0.7232 0.6305 0.0000\r
+vt 0.7460 0.6305 0.0000\r
+vt 0.7962 0.6305 0.0000\r
+vt 0.8121 0.6305 0.0000\r
+vt 0.7839 0.5279 0.0000\r
+vt 0.7997 0.5230 0.0000\r
+vt 0.7802 0.5027 0.0000\r
+vt 0.7063 0.5876 0.0000\r
+vt 0.6631 0.5538 0.0000\r
+vt 0.7660 0.5742 0.0000\r
+vt 0.7416 0.4982 0.0000\r
+vt 0.7379 0.5389 0.0000\r
+vt 0.7561 0.5372 0.0000\r
+vt 0.7186 0.5457 0.0000\r
+vt 0.8063 0.5569 0.0000\r
+vt 0.7882 0.5651 0.0000\r
+vt 0.8133 0.5545 0.0000\r
+vt 0.2610 0.4728 0.0000\r
+vt 0.3489 0.3960 0.0000\r
+vt 0.2513 0.4119 0.0000\r
+vt 0.0526 0.4653 0.0000\r
+vt 0.3107 0.6616 0.0000\r
+vt 0.3107 0.8605 0.0000\r
+vt 0.0614 0.7628 0.0000\r
+vt 0.5338 0.1538 0.0000\r
+vt 0.5339 0.2868 0.0000\r
+vt 0.5338 0.2544 0.0000\r
+vt 0.3105 0.9531 0.0000\r
+vt 0.1145 0.6616 0.0000\r
+vt 0.3499 0.4002 0.0000\r
+vt 0.7042 0.5143 0.0000\r
+vt 0.0732 0.6616 0.0000\r
+vt 0.9122 0.1756 0.0000\r
+vt 0.9434 0.1756 0.0000\r
+vt 0.9254 0.0319 0.0000\r
+vt 0.9094 0.0329 0.0000\r
+vt 0.8739 0.0600 0.0000\r
+vt 0.8590 0.1756 0.0000\r
+vt 0.8411 0.0589 0.0000\r
+vt 0.8242 0.1756 0.0000\r
+vt 0.8563 0.0678 0.0000\r
+vt 0.8086 0.0196 0.0000\r
+vt 0.7953 0.1756 0.0000\r
+vt 0.1834 0.6616 0.0000\r
+vt 0.1835 0.7921 0.0000\r
+vt 0.1401 0.7884 0.0000\r
+vt 0.1147 0.6616 0.0000\r
+vt 0.2393 0.6616 0.0000\r
+vt 0.2495 0.8024 0.0000\r
+vt 0.1806 0.9648 0.0000\r
+vt 0.1343 0.8526 0.0000\r
+vt 0.5286 0.9420 0.0000\r
+vt 0.4699 0.9420 0.0000\r
+vt 0.4699 0.9778 0.0000\r
+vt 0.5264 0.9164 0.0000\r
+vt 0.5262 0.8281 0.0000\r
+vt 0.4699 0.8031 0.0000\r
+vt 0.4699 0.9164 0.0000\r
+vt 0.2597 0.9680 0.0000\r
+vt 0.1812 0.8442 0.0000\r
+vt 0.2568 0.8644 0.0000\r
+vt 0.5295 0.8031 0.0000\r
+vt 0.5908 0.8281 0.0000\r
+vt 0.5908 0.8031 0.0000\r
+vt 0.3478 0.9164 0.0000\r
+vt 0.4098 0.9164 0.0000\r
+vt 0.4009 0.8031 0.0000\r
+vt 0.5317 0.7821 0.0000\r
+vt 0.5336 0.6988 0.0000\r
+vt 0.4699 0.6747 0.0000\r
+vt 0.4699 0.7821 0.0000\r
+vt 0.4127 0.6747 0.0000\r
+vt 0.3986 0.7821 0.0000\r
+vt 0.5308 0.6747 0.0000\r
+vt 0.5908 0.6988 0.0000\r
+vt 0.5831 0.6747 0.0000\r
+vt 0.5908 0.7821 0.0000\r
+vt 0.8479 0.4132 0.0000\r
+vt 0.8933 0.4142 0.0000\r
+vt 0.8848 0.3854 0.0000\r
+vt 0.9389 0.4095 0.0000\r
+vt 0.9275 0.3759 0.0000\r
+vt 0.8589 0.2861 0.0000\r
+vt 0.9142 0.2821 0.0000\r
+vt 0.8602 0.2774 0.0000\r
+vt 0.9628 0.2861 0.0000\r
+vt 0.9164 0.3016 0.0000\r
+vt 0.9643 0.3016 0.0000\r
+vt 0.8047 0.2861 0.0000\r
+vt 0.8051 0.2742 0.0000\r
+vt 0.7326 0.2071 0.0000\r
+vt 0.9173 0.2208 0.0000\r
+vt 0.8086 0.2361 0.0000\r
+vt 0.8594 0.2278 0.0000\r
+vt 0.3107 0.9196 0.0000\r
+vt 0.2860 0.9314 0.0000\r
+vt 0.5651 0.1853 0.0000\r
+vt 0.5589 0.1569 0.0000\r
+vt 0.5378 0.1673 0.0000\r
+vt 0.5385 0.2009 0.0000\r
+vt 0.5615 0.1298 0.0000\r
+vt 0.5338 0.1344 0.0000\r
+vt 0.5999 0.2317 0.0000\r
+vt 0.6368 0.2281 0.0000\r
+vt 0.6332 0.1874 0.0000\r
+vt 0.5678 0.2272 0.0000\r
+vt 0.5421 0.2239 0.0000\r
+vt 0.5622 0.2476 0.0000\r
+vt 0.6161 0.2875 0.0000\r
+vt 0.6034 0.2508 0.0000\r
+vt 0.7005 0.2402 0.0000\r
+vt 0.6320 0.0899 0.0000\r
+vt 0.6330 0.1190 0.0000\r
+vt 0.6916 0.1116 0.0000\r
+vt 0.6796 0.0540 0.0000\r
+vt 0.6581 0.1930 0.0000\r
+vt 0.5606 0.0878 0.0000\r
+vt 0.5338 0.0953 0.0000\r
+vt 0.2701 0.9825 0.0000\r
+vt 0.3080 0.9535 0.0000\r
+vt 0.8045 0.3016 0.0000\r
+vt 0.8972 0.4428 0.0000\r
+vt 0.9339 0.4413 0.0000\r
+vt 0.2578 0.5822 0.0000\r
+vt 0.2902 0.0307 0.0000\r
+vt 0.2740 0.0396 0.0000\r
+vt 0.2662 0.0236 0.0000\r
+vt 0.7658 0.0409 0.0000\r
+vt 0.3135 0.0238 0.0000\r
+vt 0.3084 0.0404 0.0000\r
+vt 0.8604 0.3016 0.0000\r
+vt 0.9785 0.3695 0.0000\r
+vt 0.4699 0.6556 0.0000\r
+vt 0.4318 0.6556 0.0000\r
+vt 0.5566 0.6556 0.0000\r
+vt 0.5218 0.6556 0.0000\r
+vt 0.4699 0.6242 0.0000\r
+vt 0.4441 0.6242 0.0000\r
+vt 0.5330 0.6242 0.0000\r
+vt 0.5171 0.6242 0.0000\r
+vt 0.3107 0.5822 0.0000\r
+vt 0.7839 0.5279 0.0000\r
+vt 0.7561 0.5372 0.0000\r
+vt 0.7802 0.5027 0.0000\r
+vt 0.7997 0.5230 0.0000\r
+vt 0.6631 0.5538 0.0000\r
+vt 0.7063 0.5876 0.0000\r
+vt 0.7660 0.5742 0.0000\r
+vt 0.7416 0.4982 0.0000\r
+vt 0.7379 0.5389 0.0000\r
+vt 0.7042 0.5143 0.0000\r
+vt 0.7186 0.5457 0.0000\r
+vt 0.7882 0.5651 0.0000\r
+vt 0.8063 0.5569 0.0000\r
+vt 0.8133 0.5545 0.0000\r
+vt 0.2612 0.4728 0.0000\r
+vt 0.6949 0.3842 0.0000\r
+vt 0.7856 0.3933 0.0000\r
+vt 0.9724 0.4336 0.0000\r
+vt 0.2524 0.4170 0.0000\r
+vt 0.0275 0.4648 0.0000\r
+vt 0.4091 0.5386 0.0000\r
+vt 0.4300 0.5070 0.0000\r
+vt 0.4515 0.5314 0.0000\r
+vt 0.4263 0.5527 0.0000\r
+vt 0.4920 0.4514 0.0000\r
+vt 0.4997 0.5187 0.0000\r
+vt 0.5542 0.5118 0.0000\r
+vt 0.4167 0.2972 0.0000\r
+vt 0.4868 0.3160 0.0000\r
+vt 0.5424 0.3315 0.0000\r
+vt 0.4341 0.4607 0.0000\r
+vt 0.5521 0.4459 0.0000\r
+vt 0.5911 0.5193 0.0000\r
+vt 0.6084 0.2977 0.0000\r
+vt 0.6010 0.4502 0.0000\r
+vt 0.4820 0.5643 0.0000\r
+vt 0.5386 0.5567 0.0000\r
+vt 0.6348 0.5377 0.0000\r
+vt 0.3982 0.5591 0.0000\r
+vt 0.3690 0.3002 0.0000\r
+vt 0.3803 0.4634 0.0000\r
+vt 0.4091 0.5386 0.0000\r
+vt 0.4300 0.5071 0.0000\r
+vt 0.4515 0.5315 0.0000\r
+vt 0.4161 0.5817 0.0000\r
+vt 0.4920 0.4515 0.0000\r
+vt 0.4997 0.5188 0.0000\r
+vt 0.5521 0.4459 0.0000\r
+vt 0.5542 0.5119 0.0000\r
+vt 0.4340 0.4608 0.0000\r
+vt 0.4166 0.2973 0.0000\r
+vt 0.4867 0.3161 0.0000\r
+vt 0.5424 0.3315 0.0000\r
+vt 0.6010 0.4503 0.0000\r
+vt 0.5911 0.5193 0.0000\r
+vt 0.6083 0.2977 0.0000\r
+vt 0.6618 0.4642 0.0000\r
+vt 0.6823 0.3086 0.0000\r
+vt 0.4667 0.6076 0.0000\r
+vt 0.5386 0.5567 0.0000\r
+vt 0.5889 0.5821 0.0000\r
+vt 0.5237 0.6033 0.0000\r
+vt 0.3802 0.4635 0.0000\r
+vt 0.3690 0.3003 0.0000\r
+vt 0.0756 0.0215 0.0000\r
+vt 0.0284 0.2165 0.0000\r
+vt 0.2315 0.5822 0.0000\r
+vt 0.3072 0.2975 0.0000\r
+vt 0.3066 0.3137 0.0000\r
+vt 0.0396 0.2418 0.0000\r
+vt 0.1823 0.6318 0.0000\r
+vt 0.1420 0.6318 0.0000\r
+vt 0.2109 0.4334 0.0000\r
+vt 0.3394 0.3798 0.0000\r
+vt 0.0336 0.4139 0.0000\r
+vt 0.0965 0.6318 0.0000\r
+vt 0.0296 0.4154 0.0000\r
+vt 0.9386 0.0312 0.0000\r
+vt 0.9744 0.1756 0.0000\r
+vt 0.2317 0.5822 0.0000\r
+vt 0.7265 0.2821 0.0000\r
+vt 0.7289 0.3016 0.0000\r
+vt 0.9699 0.2253 0.0000\r
+vt 0.1825 0.6318 0.0000\r
+vt 0.1422 0.6318 0.0000\r
+vt 0.8240 0.4114 0.0000\r
+vt 0.7027 0.3682 0.0000\r
+vt 0.9868 0.3852 0.0000\r
+vt 0.0967 0.6318 0.0000\r
+vt 0.0681 0.6318 0.0000\r
+vt 0.9955 0.4316 0.0000\r
+vt 0.9906 0.3863 0.0000\r
+vt 0.6942 0.3882 0.0000\r
+vt 0.7850 0.3981 0.0000\r
+vt 0.0420 0.8273 0.0000\r
+vt 0.0226 0.9163 0.0000\r
+vt 0.0283 0.8778 0.0000\r
+vt 0.0616 0.7629 0.0000\r
+vt 0.0734 0.6616 0.0000\r
+vt 0.0683 0.6318 0.0000\r
+vt 0.5332 0.9778 0.0000\r
+vt 0.3478 0.9420 0.0000\r
+vt 0.2104 0.9004 0.0000\r
+vt 0.4077 0.9420 0.0000\r
+vt 0.8123 0.9817 0.0000\r
+vt 0.6269 0.9449 0.0000\r
+vt 0.2102 0.9004 0.0000\r
+vt 0.6868 0.9449 0.0000\r
+vt 0.6269 0.8094 0.0000\r
+vt 0.6269 0.8294 0.0000\r
+vt 0.8795 0.9227 0.0000\r
+vt 0.6417 0.6802 0.0000\r
+vt 0.6269 0.6997 0.0000\r
+vt 0.6269 0.7884 0.0000\r
+vt 0.6659 0.6619 0.0000\r
+vt 0.6771 0.6305 0.0000\r
+vt 0.8801 0.5699 0.0000\r
+vt 0.3478 0.8231 0.0000\r
+vt 0.3478 0.8031 0.0000\r
+vt 0.5908 0.9164 0.0000\r
+vt 0.3478 0.6934 0.0000\r
+vt 0.3626 0.6747 0.0000\r
+vt 0.3478 0.7821 0.0000\r
+vt 0.3868 0.6556 0.0000\r
+vt 0.3980 0.6242 0.0000\r
+vt 0.8801 0.5699 0.0000\r
+vt 0.5908 0.9420 0.0000\r
+vt 0.8795 0.9449 0.0000\r
+vt 0.4971 0.0267 0.0000\r
+vt 0.5338 0.0190 0.0000\r
+vt 0.5705 0.0266 0.0000\r
+vt 0.2936 0.9628 0.0000\r
+vt 0.2938 0.9628 0.0000\r
+vt 0.1264 0.9132 0.0000\r
+vt 0.0539 0.9410 0.0000\r
+vt 0.1261 0.9132 0.0000\r
+vt 0.0537 0.9410 0.0000\r
+vt 0.3272 0.0717 0.0000\r
+vt 0.7404 0.0716 0.0000\r
+vt 0.9766 0.5071 0.0000\r
+vt 0.9671 0.4662 0.0000\r
+vt 0.9664 0.4646 0.0000\r
+vt 0.9935 0.5066 0.0000\r
+vt 0.9620 0.7107 0.0000\r
+vt 0.9222 0.7170 0.0000\r
+vt 0.9300 0.5164 0.0000\r
+vt 0.9160 0.7257 0.0000\r
+vt 0.9130 0.5155 0.0000\r
+vt 0.9711 0.7189 0.0000\r
+vt 0.9572 0.7753 0.0000\r
+vt 0.9353 0.7593 0.0000\r
+vt 0.9323 0.7553 0.0000\r
+vt 0.9675 0.7689 0.0000\r
+vt 0.9543 0.9680 0.0000\r
+vt 0.9099 0.9758 0.0000\r
+vt 0.9197 0.7813 0.0000\r
+vt 0.9041 0.7777 0.0000\r
+vt 0.7839 0.0501 0.0000\r
+vt 0.2897 0.0124 0.0000\r
+vt 0.7483 0.0551 0.0000\r
+vt 0.2897 0.0124 0.0000\r
+vt 0.8150 0.5993 0.0000\r
+vt 0.7740 0.6165 0.0000\r
+vt 0.7014 0.6099 0.0000\r
+vt 0.6747 0.5920 0.0000\r
+vt 0.8859 0.6072 0.0000\r
+vt 0.8162 0.5073 0.0000\r
+vt 0.8535 0.5070 0.0000\r
+vt 0.8162 0.5073 0.0000\r
+vt 0.8535 0.5070 0.0000\r
+vt 0.7740 0.6165 0.0000\r
+vt 0.8150 0.5993 0.0000\r
+vt 0.8794 0.5231 0.0000\r
+vt 0.6747 0.5920 0.0000\r
+vt 0.7014 0.6099 0.0000\r
+vt 0.8859 0.6072 0.0000\r
+vt 0.8794 0.5231 0.0000\r
+vt 0.7483 0.0551 0.0000\r
+vt 0.7651 0.1471 0.0000\r
+vt 0.7510 0.1380 0.0000\r
+vt 0.7779 0.1398 0.0000\r
+vt 0.9144 0.2153 0.0000\r
+vt 0.9497 0.2075 0.0000\r
+vt 0.7466 0.1838 0.0000\r
+vt 0.8550 0.2181 0.0000\r
+vt 0.8099 0.2158 0.0000\r
+vt 0.7741 0.2049 0.0000\r
+vt 0.3453 0.0972 0.0000\r
+vt 0.2385 0.1030 0.0000\r
+vt 0.3104 0.0739 0.0000\r
+vt 0.2755 0.0719 0.0000\r
+vt 0.2902 0.0717 0.0000\r
+vt 0.0944 0.1858 0.0000\r
+vt 0.0600 0.1858 0.0000\r
+vt 0.1541 0.1858 0.0000\r
+vt 0.1933 0.1858 0.0000\r
+vt 0.2252 0.1858 0.0000\r
+vt 0.0259 0.1858 0.0000\r
+vt 0.7779 0.1398 0.0000\r
+vt 0.7651 0.1471 0.0000\r
+vt 0.7839 0.0501 0.0000\r
+vt 0.7510 0.1380 0.0000\r
+vt 0.2385 0.1030 0.0000\r
+vt 0.2755 0.0719 0.0000\r
+vt 0.3104 0.0739 0.0000\r
+vt 0.2902 0.0717 0.0000\r
+vt 0.3453 0.0972 0.0000\r
+vt 0.3627 0.2127 0.0000\r
+vt 0.7049 0.2127 0.0000\r
+vt 0.4357 0.0229 0.0000\r
+vt 0.6319 0.0228 0.0000\r
+vt 0.6348 0.5377 0.0000\r
+vt 0.6618 0.4642 0.0000\r
+vt 0.6823 0.3086 0.0000\r
+vt 0.5890 0.5821 0.0000\r
+vt 0.3982 0.5592 0.0000\r
+vt 0.4263 0.5528 0.0000\r
+vt 0.4820 0.5644 0.0000\r
+vt 0.5237 0.6034 0.0000\r
+vt 0.4678 0.2318 0.0000\r
+vt 0.4309 0.2270 0.0000\r
+vt 0.4999 0.2272 0.0000\r
+vt 0.5055 0.2476 0.0000\r
+vt 0.5256 0.2239 0.0000\r
+vt 0.4643 0.2508 0.0000\r
+vt 0.5338 0.2544 0.0000\r
+vt 0.5999 0.2317 0.0000\r
+vt 0.6368 0.2281 0.0000\r
+vt 0.5678 0.2272 0.0000\r
+vt 0.5421 0.2239 0.0000\r
+vt 0.5622 0.2476 0.0000\r
+vt 0.6034 0.2508 0.0000\r
+# 478 texture coords\r
+\r
+g man_zbrush002\r
+usemtl Material__44\r
+f 5/439/1 8/440/2 7/7/3 6/6/4 \r
+f 9/9/5 10/441/6 5/439/7 6/6/8 \r
+f 11/11/9 13/442/10 12/12/11 \r
+f 11/11/12 14/14/13 15/443/14 13/442/15 \r
+f 17/17/16 134/134/17 16/16/18 18/18/19 \r
+f 19/19/20 20/20/21 18/18/22 16/16/23 \r
+f 22/22/24 21/382/25 23/23/26 2/2/27 \r
+f 21/351/28 24/24/29 26/26/30 25/25/31 \r
+f 27/27/32 30/30/33 29/29/34 28/28/35 \r
+f 127/127/36 1/1/37 20/20/38 19/19/39 \r
+f 23/23/40 21/382/41 31/383/42 3/3/43 \r
+f 25/353/44 33/33/45 18/18/46 32/32/47 \r
+f 18/18/48 20/20/49 32/32/50 \r
+f 128/128/51 32/32/52 20/20/53 1/1/54 \r
+f 34/34/55 30/30/56 36/36/57 35/35/58 \r
+f 36/356/59 39/39/60 38/38/61 37/37/62 \r
+f 40/40/63 43/43/64 42/42/65 41/41/66 \r
+f 44/44/67 45/45/68 41/41/69 42/42/70 \r
+f 47/47/71 46/46/72 43/43/73 48/48/74 \r
+f 49/360/75 45/45/76 44/44/77 48/359/78 \r
+f 50/50/79 52/52/80 51/51/81 \r
+f 53/53/82 54/54/83 51/51/84 52/52/85 \r
+f 55/55/86 57/57/87 56/56/88 \r
+f 59/59/89 58/58/90 57/57/91 60/60/92 \r
+f 58/314/93 62/62/94 61/61/95 \r
+f 56/56/96 61/61/97 62/62/98 55/55/99 \r
+f 63/63/100 57/57/101 58/58/102 64/316/103 \r
+f 64/64/104 58/314/105 61/61/106 65/65/107 \r
+f 61/61/108 56/56/109 66/66/110 65/65/111 \r
+f 66/66/112 56/56/113 57/57/114 63/63/115 \r
+f 33/33/116 22/22/117 17/17/118 18/18/119 \r
+f 39/39/120 22/352/121 33/354/122 38/38/123 \r
+f 17/17/124 22/22/125 2/2/126 129/129/127 \r
+f 32/32/128 128/128/129 200/200/130 67/67/131 \r
+f 69/69/132 68/68/133 71/71/134 70/70/135 \r
+f 130/130/136 71/71/137 72/72/138 207/207/139 \r
+f 73/466/140 75/467/141 74/74/142 \r
+f 76/76/143 78/78/144 77/77/145 \r
+f 69/69/146 78/470/147 76/468/148 68/68/149 \r
+f 77/469/150 131/131/151 80/80/152 79/471/153 \r
+f 80/80/154 81/81/155 75/467/156 79/471/157 \r
+f 82/82/158 84/84/159 83/83/160 \r
+f 83/83/161 85/85/162 82/82/163 \r
+f 83/83/164 84/84/165 74/74/166 86/86/167 \r
+f 68/68/168 74/74/169 72/72/170 71/71/171 \r
+f 72/72/172 87/87/173 223/223/174 207/207/175 \r
+f 83/83/176 88/384/177 85/85/178 \r
+f 85/378/179 67/67/180 200/200/181 89/89/182 \r
+f 67/67/183 85/378/184 88/88/185 31/31/186 \r
+f 63/63/187 64/316/188 8/8/189 \r
+f 64/64/190 65/65/191 15/15/192 \r
+f 10/10/193 13/13/194 65/65/195 66/66/196 \r
+f 5/5/197 10/10/198 66/66/199 63/63/200 \r
+f 62/62/201 58/314/202 59/315/203 90/90/204 \r
+f 52/52/205 91/91/206 92/92/207 53/53/208 \r
+f 50/50/209 91/91/210 52/52/211 \r
+f 19/19/212 50/313/213 93/93/214 \r
+f 74/74/215 75/467/216 86/86/217 \r
+f 38/38/218 33/354/219 26/26/220 28/28/221 \r
+f 26/26/222 24/24/223 27/27/224 28/28/225 \r
+f 24/24/226 21/351/227 22/374/228 \r
+f 38/38/229 28/28/230 29/29/231 37/37/232 \r
+f 25/353/233 32/32/234 67/67/235 21/21/236 \r
+f 31/31/237 21/21/238 67/67/239 \r
+f 75/467/240 81/454/241 86/86/242 \r
+f 86/86/243 81/454/244 83/83/245 \r
+f 75/75/246 73/73/247 79/79/248 \r
+f 12/452/249 95/95/250 94/94/251 11/451/252 \r
+f 14/453/253 11/451/254 94/94/255 96/96/256 \r
+f 96/406/257 97/97/258 7/446/259 14/448/260 \r
+f 7/7/261 8/440/262 15/444/263 14/311/264 \r
+f 94/94/265 95/95/266 97/407/267 96/96/268 \r
+f 9/450/269 6/449/270 99/99/271 98/98/272 \r
+f 97/407/273 95/95/274 98/98/275 99/99/276 \r
+f 98/98/277 95/95/278 12/452/279 9/450/280 \r
+f 12/12/281 13/442/282 10/441/283 9/9/284 \r
+f 63/63/285 8/8/286 5/5/287 \r
+f 8/8/288 64/316/289 15/312/290 \r
+f 57/57/291 55/55/292 100/100/293 60/60/294 \r
+f 101/101/295 59/59/296 60/60/297 54/54/298 \r
+f 62/62/299 90/90/300 100/100/301 55/55/302 \r
+f 71/71/303 130/130/304 70/70/305 \r
+f 44/44/306 42/42/307 103/103/308 102/102/309 \r
+f 47/47/310 105/105/311 104/104/312 46/46/313 \r
+f 42/42/314 46/46/315 104/104/316 103/103/317 \r
+f 44/44/318 102/102/319 105/361/320 47/358/321 \r
+f 103/103/322 107/107/323 106/106/324 102/102/325 \r
+f 105/105/326 109/109/327 108/108/328 104/104/329 \r
+f 104/104/330 108/108/331 107/107/332 103/103/333 \r
+f 102/102/334 106/106/335 109/362/336 105/361/337 \r
+f 93/93/338 246/246/339 127/127/340 19/19/341 \r
+f 110/110/342 118/118/343 112/112/344 111/111/345 \r
+f 113/113/346 108/410/347 109/411/348 114/114/349 \r
+f 107/409/350 108/410/351 113/113/352 115/115/353 \r
+f 106/408/354 114/363/355 109/412/356 \r
+f 116/116/357 112/112/358 118/118/359 117/117/360 \r
+f 116/116/361 117/117/362 119/119/363 136/136/364 \r
+f 115/115/365 117/117/366 118/118/367 \r
+f 107/409/368 121/121/369 120/120/370 106/408/371 \r
+f 106/408/372 120/120/373 122/122/374 114/363/375 \r
+f 115/115/376 121/121/377 107/409/378 \r
+f 246/246/379 93/93/380 123/123/381 4/4/382 \r
+f 74/74/383 84/84/384 72/72/385 \r
+f 72/72/386 84/84/387 82/82/388 87/87/389 \r
+f 82/82/390 85/456/391 89/375/392 87/87/393 \r
+f 78/78/394 132/132/395 77/77/396 \r
+f 49/49/397 40/40/398 34/34/399 35/35/400 \r
+f 29/29/401 34/34/402 40/40/403 41/41/404 \r
+f 45/45/405 49/360/406 35/355/407 37/37/408 \r
+f 41/41/409 45/45/410 37/37/411 29/29/412 \r
+f 36/36/413 30/30/414 27/27/415 39/357/416 \r
+f 29/29/417 30/30/418 34/34/419 \r
+f 36/356/420 37/37/421 35/355/422 \r
+f 15/15/423 65/65/424 13/13/425 \r
+f 121/121/426 110/110/427 111/111/428 120/120/429 \r
+f 120/120/430 111/111/431 112/415/432 122/122/433 \r
+f 121/121/434 118/118/435 110/110/436 \r
+f 26/26/437 33/354/438 25/25/439 \r
+f 24/24/440 22/374/441 39/357/442 27/27/443 \r
+f 119/119/444 117/117/445 115/115/446 113/113/447 \r
+f 114/363/448 116/416/449 136/419/450 \r
+f 118/118/451 121/121/452 115/115/453 \r
+f 7/446/454 97/97/455 99/447/456 6/445/457 \r
+f 132/472/458 131/131/459 77/469/460 \r
+f 124/124/461 125/125/462 101/320/463 \r
+f 200/200/464 133/133/465 89/89/466 \r
+f 89/375/467 133/376/468 223/223/469 87/87/470 \r
+f 50/50/471 51/51/472 100/100/473 \r
+f 100/100/474 51/51/475 54/54/476 60/60/477 \r
+f 93/319/478 50/50/479 100/100/480 90/90/481 \r
+f 124/321/482 101/101/483 54/54/484 53/53/485 \r
+f 59/315/486 101/320/487 125/125/488 90/90/489 \r
+f 126/126/490 124/321/491 53/53/492 92/92/493 \r
+f 92/318/494 91/317/495 16/16/496 \r
+f 16/16/497 91/317/498 50/313/499 19/19/500 \r
+f 76/468/501 73/466/502 74/74/503 68/68/504 \r
+f 73/73/505 76/76/506 77/77/507 79/79/508 \r
+f 129/129/509 137/137/510 134/134/511 17/17/512 \r
+f 125/125/513 93/319/514 90/90/515 \r
+f 135/135/516 265/265/517 125/125/518 124/124/519 \r
+f 48/48/520 43/43/521 40/40/522 49/49/523 \r
+f 42/42/524 43/43/525 46/46/526 \r
+f 48/359/527 44/44/528 47/358/529 \r
+f 130/130/530 204/204/531 70/70/532 \r
+f 69/69/533 70/70/534 204/204/535 205/205/536 \r
+f 124/321/537 126/126/538 266/266/539 135/323/540 \r
+f 16/16/541 134/134/542 126/322/543 92/318/544 \r
+f 119/119/545 113/113/546 114/114/547 136/136/548 \r
+f 122/122/549 112/415/550 116/416/551 \r
+f 114/363/552 122/122/553 116/416/554 \r
+f 78/470/555 69/69/556 205/205/557 212/476/558 \r
+f 132/132/559 78/78/560 212/212/561 \r
+f 126/322/562 134/134/563 137/137/564 266/336/565 \r
+f 138/138/566 141/141/567 140/140/568 139/139/569 \r
+f 142/142/570 141/141/571 138/138/572 143/143/573 \r
+f 144/144/574 146/146/575 145/145/576 \r
+f 144/144/577 145/145/578 148/148/579 147/147/580 \r
+f 151/151/581 150/150/582 149/149/583 152/152/584 \r
+f 153/153/585 149/149/586 150/150/587 154/154/588 \r
+f 156/156/589 2/341/590 23/343/591 155/380/592 \r
+f 155/347/593 159/159/594 158/158/595 157/157/596 \r
+f 160/160/597 163/163/598 162/162/599 161/161/600 \r
+f 127/127/601 153/153/602 154/154/603 1/1/604 \r
+f 23/343/605 3/342/606 164/381/607 155/380/608 \r
+f 166/166/609 154/154/610 150/150/611 159/349/612 \r
+f 159/349/613 150/150/614 165/165/615 \r
+f 128/128/616 1/1/617 154/154/618 166/166/619 \r
+f 167/167/620 169/169/621 168/168/622 161/161/623 \r
+f 168/364/624 172/172/625 171/171/626 170/170/627 \r
+f 173/173/628 176/176/629 175/175/630 174/174/631 \r
+f 177/177/632 175/175/633 176/176/634 178/178/635 \r
+f 181/181/636 180/180/637 174/174/638 179/179/639 \r
+f 182/369/640 180/367/641 177/177/642 178/178/643 \r
+f 183/183/644 185/185/645 184/184/646 \r
+f 186/186/647 184/184/648 185/185/649 187/187/650 \r
+f 188/188/651 190/190/652 189/189/653 \r
+f 193/193/654 192/192/655 189/189/656 191/191/657 \r
+f 191/327/658 195/195/659 194/194/660 \r
+f 190/190/661 188/188/662 194/194/663 195/195/664 \r
+f 197/197/665 196/329/666 191/191/667 189/189/668 \r
+f 196/196/669 198/198/670 195/195/671 191/327/672 \r
+f 195/195/673 198/198/674 199/199/675 190/190/676 \r
+f 199/199/677 197/197/678 189/189/679 190/190/680 \r
+f 165/165/681 150/150/682 151/151/683 156/156/684 \r
+f 170/170/685 171/171/686 165/350/687 156/348/688 \r
+f 151/151/689 129/344/690 2/341/691 156/156/692 \r
+f 166/166/693 201/201/694 200/200/695 128/128/696 \r
+f 205/205/697 204/204/698 203/203/699 202/202/700 \r
+f 130/130/701 207/207/702 206/206/703 203/203/704 \r
+f 208/473/705 210/210/706 209/474/707 \r
+f 211/211/708 213/213/709 212/212/710 \r
+f 205/205/711 202/202/712 211/475/713 212/476/714 \r
+f 213/477/715 215/478/716 214/214/717 131/131/718 \r
+f 214/214/719 215/478/720 209/474/721 216/216/722 \r
+f 217/217/723 219/219/724 218/218/725 \r
+f 219/219/726 217/217/727 220/220/728 \r
+f 219/219/729 221/221/730 210/210/731 218/218/732 \r
+f 202/202/733 203/203/734 206/206/735 210/210/736 \r
+f 206/206/737 207/207/738 223/223/739 222/222/740 \r
+f 219/219/741 220/220/742 224/385/743 \r
+f 220/379/744 225/225/745 200/200/746 201/201/747 \r
+f 201/201/748 164/164/749 224/224/750 220/379/751 \r
+f 197/197/752 139/429/753 196/329/754 \r
+f 196/196/755 148/433/756 198/198/757 \r
+f 143/431/758 199/199/759 198/198/760 145/432/761 \r
+f 138/428/762 197/197/763 199/199/764 143/431/765 \r
+f 194/194/766 226/226/767 193/328/768 191/327/769 \r
+f 184/184/770 186/186/771 228/228/772 227/227/773 \r
+f 183/183/774 184/184/775 227/227/776 \r
+f 153/153/777 229/229/778 183/326/779 \r
+f 210/210/780 221/221/781 209/474/782 \r
+f 171/171/783 163/163/784 158/158/785 165/350/786 \r
+f 158/158/787 163/163/788 160/160/789 157/157/790 \r
+f 157/157/791 156/373/792 155/347/793 \r
+f 171/171/794 172/172/795 162/162/796 163/163/797 \r
+f 201/201/798 166/166/799 159/349/800 155/155/801 \r
+f 164/164/802 201/201/803 155/155/804 \r
+f 209/474/805 221/221/806 216/455/807 \r
+f 221/221/808 219/219/809 216/455/810 \r
+f 209/209/811 215/215/812 208/208/813 \r
+f 146/438/814 144/437/815 231/231/816 230/230/817 \r
+f 147/435/818 232/232/819 231/231/820 144/437/821 \r
+f 232/404/822 147/427/823 140/425/824 233/233/825 \r
+f 140/140/826 147/324/827 148/325/828 139/139/829 \r
+f 231/231/830 232/232/831 233/405/832 230/230/833 \r
+f 142/436/834 235/235/835 234/234/836 141/434/837 \r
+f 233/405/838 234/234/839 235/235/840 230/230/841 \r
+f 235/235/842 142/436/843 146/438/844 230/230/845 \r
+f 146/146/846 142/142/847 143/143/848 145/145/849 \r
+f 197/197/850 138/428/851 139/429/852 \r
+f 139/430/853 148/433/854 196/196/855 \r
+f 189/189/856 192/192/857 236/236/858 188/188/859 \r
+f 237/237/860 187/187/861 192/192/862 193/193/863 \r
+f 194/194/864 188/188/865 236/236/866 226/226/867 \r
+f 203/203/868 204/204/869 130/130/870 \r
+f 177/177/871 239/239/872 238/238/873 175/175/874 \r
+f 181/181/875 179/179/876 241/241/877 240/240/878 \r
+f 175/175/879 238/238/880 241/241/881 179/179/882 \r
+f 177/177/883 181/368/884 240/370/885 239/239/886 \r
+f 238/238/887 239/239/888 243/243/889 242/242/890 \r
+f 240/240/891 241/241/892 245/245/893 244/244/894 \r
+f 241/241/895 238/238/896 242/242/897 245/245/898 \r
+f 239/239/899 240/370/900 244/371/901 243/243/902 \r
+f 229/229/903 153/153/904 127/127/905 246/246/906 \r
+f 247/247/907 250/250/908 249/249/909 248/248/910 \r
+f 252/252/911 251/251/912 244/420/913 245/421/914 \r
+f 242/417/915 253/253/916 252/252/917 245/421/918 \r
+f 243/418/919 244/422/920 251/372/921 \r
+f 254/254/922 255/255/923 248/248/924 249/249/925 \r
+f 254/254/926 256/256/927 257/257/928 255/255/929 \r
+f 253/253/930 248/248/931 255/255/932 \r
+f 242/417/933 243/418/934 259/259/935 258/258/936 \r
+f 243/418/937 251/372/938 260/260/939 259/259/940 \r
+f 253/253/941 242/417/942 258/258/943 \r
+f 246/246/944 4/4/945 261/261/946 229/229/947 \r
+f 210/210/948 206/206/949 218/218/950 \r
+f 206/206/951 222/222/952 217/217/953 218/218/954 \r
+f 217/217/955 222/222/956 225/377/957 220/457/958 \r
+f 212/212/959 213/213/960 132/132/961 \r
+f 182/182/962 169/169/963 167/167/964 173/173/965 \r
+f 162/162/966 176/176/967 173/173/968 167/167/969 \r
+f 178/178/970 172/172/971 169/365/972 182/369/973 \r
+f 176/176/974 162/162/975 172/172/976 178/178/977 \r
+f 168/168/978 170/366/979 160/160/980 161/161/981 \r
+f 162/162/982 167/167/983 161/161/984 \r
+f 168/364/985 169/365/986 172/172/987 \r
+f 148/433/988 145/432/989 198/198/990 \r
+f 258/258/991 259/259/992 250/250/993 247/247/994 \r
+f 259/259/995 260/260/996 249/413/997 250/250/998 \r
+f 258/258/999 247/247/1000 248/248/1001 \r
+f 158/158/1002 159/159/1003 165/350/1004 \r
+f 157/157/1005 160/160/1006 170/366/1007 156/373/1008 \r
+f 257/257/1009 252/252/1010 253/253/1011 255/255/1012 \r
+f 251/372/1013 256/423/1014 254/414/1015 \r
+f 248/248/1016 253/253/1017 258/258/1018 \r
+f 140/425/1019 141/426/1020 234/424/1021 233/233/1022 \r
+f 132/472/1023 213/477/1024 131/131/1025 \r
+f 262/262/1026 237/333/1027 263/263/1028 \r
+f 200/200/1029 225/225/1030 133/133/1031 \r
+f 225/377/1032 222/222/1033 223/223/1034 133/376/1035 \r
+f 183/183/1036 236/236/1037 185/185/1038 \r
+f 236/236/1039 192/192/1040 187/187/1041 185/185/1042 \r
+f 229/332/1043 226/226/1044 236/236/1045 183/183/1046 \r
+f 262/334/1047 186/186/1048 187/187/1049 237/237/1050 \r
+f 193/328/1051 226/226/1052 263/263/1053 237/333/1054 \r
+f 264/264/1055 228/228/1056 186/186/1057 262/334/1058 \r
+f 228/331/1059 149/149/1060 227/330/1061 \r
+f 149/149/1062 153/153/1063 183/326/1064 227/330/1065 \r
+f 211/475/1066 202/202/1067 210/210/1068 208/473/1069 \r
+f 208/208/1070 215/215/1071 213/213/1072 211/211/1073 \r
+f 129/344/1074 151/151/1075 152/152/1076 137/345/1077 \r
+f 263/263/1078 226/226/1079 229/332/1080 \r
+f 135/339/1081 262/262/1082 263/263/1083 265/340/1084 \r
+f 180/180/1085 182/182/1086 173/173/1087 174/174/1088 \r
+f 175/175/1089 179/179/1090 174/174/1091 \r
+f 180/367/1092 181/368/1093 177/177/1094 \r
+f 262/334/1095 135/338/1096 266/337/1097 264/264/1098 \r
+f 149/149/1099 228/331/1100 264/335/1101 152/152/1102 \r
+f 257/257/1103 256/256/1104 251/251/1105 252/252/1106 \r
+f 260/260/1107 254/414/1108 249/413/1109 \r
+f 251/372/1110 254/414/1111 260/260/1112 \r
+f 264/335/1113 266/346/1114 137/345/1115 152/152/1116 \r
+f 267/267/1117 268/268/1118 269/269/1119 270/270/1120 \r
+f 269/269/1121 268/268/1122 271/271/1123 272/272/1124 \r
+f 272/272/1125 271/271/1126 278/278/1127 273/273/1128 \r
+f 271/271/1129 268/268/1130 277/277/1131 \r
+f 274/274/1132 275/275/1133 271/271/1134 277/277/1135 \r
+f 275/275/1136 276/276/1137 278/278/1138 271/271/1139 \r
+f 273/273/1140 278/278/1141 281/281/1142 279/279/1143 \r
+f 278/278/1144 276/276/1145 280/280/1146 281/281/1147 \r
+f 279/279/1148 281/281/1149 303/303/1150 284/284/1151 \r
+f 280/280/1152 304/304/1153 303/303/1154 281/281/1155 \r
+f 270/270/1156 269/269/1157 282/282/1158 \r
+f 269/269/1159 272/272/1160 283/283/1161 282/282/1162 \r
+f 272/272/1163 273/273/1164 283/283/1165 \r
+f 273/273/1166 279/279/1167 307/307/1168 283/283/1169 \r
+f 279/279/1170 284/284/1171 307/307/1172 \r
+f 282/282/1173 283/283/1174 308/308/1175 \r
+f 283/283/1176 307/307/1177 308/308/1178 \r
+f 270/270/1179 282/282/1180 305/305/1181 291/291/1182 \r
+f 267/267/1183 270/270/1184 285/285/1185 \r
+f 270/270/1186 291/291/1187 285/285/1188 \r
+f 274/274/1189 277/277/1190 287/287/1191 286/286/1192 \r
+f 288/288/1193 291/463/1194 290/290/1195 289/289/1196 \r
+f 290/290/1197 293/293/1198 292/292/1199 289/289/1200 \r
+f 293/293/1201 295/295/1202 294/294/1203 292/292/1204 \r
+f 292/292/1205 296/296/1206 289/289/1207 \r
+f 297/297/1208 296/296/1209 292/292/1210 298/298/1211 \r
+f 298/298/1212 292/292/1213 294/294/1214 299/299/1215 \r
+f 295/295/1216 301/301/1217 300/300/1218 294/294/1219 \r
+f 294/294/1220 300/300/1221 302/302/1222 299/299/1223 \r
+f 301/301/1224 284/458/1225 303/459/1226 300/300/1227 \r
+f 302/302/1228 300/300/1229 303/459/1230 304/460/1231 \r
+f 291/463/1232 305/464/1233 290/290/1234 \r
+f 290/290/1235 305/464/1236 306/306/1237 293/293/1238 \r
+f 293/293/1239 306/306/1240 295/295/1241 \r
+f 295/295/1242 306/306/1243 307/461/1244 301/301/1245 \r
+f 301/301/1246 307/461/1247 284/458/1248 \r
+f 305/464/1249 308/465/1250 306/306/1251 \r
+f 306/306/1252 308/465/1253 307/461/1254 \r
+f 305/305/1255 282/282/1256 308/308/1257 \r
+f 288/288/1258 285/462/1259 291/463/1260 \r
+f 297/297/1261 310/310/1262 309/309/1263 296/296/1264 \r
+f 319/387/1265 320/388/1266 318/389/1267 315/386/1268 \r
+f 314/390/1269 311/391/1270 316/392/1271 315/386/1272 \r
+f 312/393/1273 317/394/1274 316/392/1275 311/391/1276 \r
+f 313/395/1277 314/390/1278 315/386/1279 318/389/1280 \r
+f 316/392/1281 317/394/1282 320/388/1283 319/387/1284 \r
+f 316/392/1285 319/387/1286 315/386/1287 \r
+f 314/390/1288 313/395/1289 312/393/1290 311/391/1291 \r
+f 327/397/1292 328/398/1293 326/399/1294 323/396/1295 \r
+f 322/400/1296 321/401/1297 324/402/1298 323/396/1299 \r
+f 321/401/1300 325/403/1301 324/402/1302 \r
+f 322/400/1303 323/396/1304 326/399/1305 \r
+f 324/402/1306 325/403/1307 328/398/1308 327/397/1309 \r
+f 324/402/1310 327/397/1311 323/396/1312 \r
+# 244 polygons - 112 triangles\r
+\r