changeset 0:d6bbaddfa5af draft default tip

Uploaded
author iuc
date Tue, 23 Aug 2016 14:55:34 -0400
parents
children
files icqsol_add_texture.py icqsol_add_texture.xml icqsol_macros.xml icqsol_utils.py test-data/sandstone.jpg test-data/shaft.vtkascii test-data/shaft_with_texture.vtkascii
diffstat 7 files changed, 1132 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/icqsol_add_texture.py	Tue Aug 23 14:55:34 2016 -0400
@@ -0,0 +1,44 @@
+#!/usr/bin/env python
+import argparse
+import shutil
+
+import icqsol_utils
+
+# Parse Command Line.
+parser = argparse.ArgumentParser()
+parser.add_argument('--input', dest='input', help='Shape dataset selected from history')
+parser.add_argument('--input_file_format_and_type', dest='input_file_format_and_type', help='Input file format and type')
+parser.add_argument('--input_dataset_type', dest='input_dataset_type', help='Input dataset_type')
+parser.add_argument('--input_texture', dest='input_texture', help='Image dataset selected from history')
+parser.add_argument('--input_texture_file_format', dest='input_texture_file_format', help='Input texture file format')
+parser.add_argument('--max_edge_length', dest='max_edge_length', type=float, default=float('inf'), help='Maximum edge length')
+parser.add_argument('--output', dest='output', help='Output dataset')
+parser.add_argument('--output_vtk_type', dest='output_vtk_type', help='Output VTK type')
+
+args = parser.parse_args()
+
+input_format, input_file_type = icqsol_utils.get_format_and_type(args.input_file_format_and_type)
+tmp_dir = icqsol_utils.get_temp_dir()
+
+# Instantiate a ShapeManager for loading the input.
+shape_mgr = icqsol_utils.get_shape_manager(input_format, args.input_dataset_type)
+
+# Get the vtk polydata from the input dataset.
+vtk_poly_data = shape_mgr.loadAsVtkPolyData(args.input)
+
+# Apply the texture to the shape's surface.
+vtk_poly_data = shape_mgr.addTextureToVtkPolyData(vtk_poly_data,
+                                                  texture_file=args.input_texture,
+                                                  max_edge_length=args.max_edge_length,
+                                                  texture_file_format=args.input_texture_file_format)
+
+# Define the output file format and type (the output_format can only be 'vtk').
+output_format, output_file_type = icqsol_utils.get_format_and_type(args.output_vtk_type)
+tmp_output_path = icqsol_utils.get_temporary_file_path(tmp_dir, output_format)
+
+# Make sure the ShapeManager's writer is vtk.
+shape_mgr.setWriter(file_format=icqsol_utils.VTK, vtk_dataset_type=icqsol_utils.POLYDATA)
+
+# Save the output.
+shape_mgr.saveVtkPolyData(vtk_poly_data=vtk_poly_data, file_name=tmp_output_path, file_type=output_file_type)
+shutil.move(tmp_output_path, args.output)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/icqsol_add_texture.xml	Tue Aug 23 14:55:34 2016 -0400
@@ -0,0 +1,74 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<tool id="icqsol_add_texture" name="Add texture" version="@WRAPPER_VERSION@.0">
+    <description>to shape</description>
+    <macros>
+        <import>icqsol_macros.xml</import>
+    </macros>
+    <expand macro="requirements" />
+    <command>
+        <![CDATA[
+            python $__tool_directory__/icqsol_add_texture.py
+            --input "$input"
+            --input_file_format_and_type $input.ext
+            --input_dataset_type $input.metadata.dataset_type
+            --input_texture "$input_texture"
+            --input_texture_file_format $input_texture.ext
+            #if $refine_shape_cond.refine_shape == "yes":
+                --max_edge_length $refine_shape_cond.max_edge_length
+            #end if
+            --output "$output"
+            --output_vtk_type $output_vtk_type
+        ]]>
+    </command>
+    <inputs>
+        <param name="input" type="data" format="vtkascii,vtkbinary" label="Shape" help="Format can be vtkascii or vtkbinary." />
+        <param name="input_texture" type="data" format="jpg,png" label="Texture image" help="Format can be jpg or png." />
+        <conditional name="refine_shape_cond">
+            <param name="refine_shape" type="select" label="Refine shape?" help="Points will be added to the shape's edges restricting their length to the maximum.">
+                <option value="no" selected="True">No</option>
+                <option value="yes">Yes</option>
+            </param>
+            <when value="no" />
+            <when value="yes">
+                <param name="max_edge_length" type="float" value="0.1" label="Maximum edge length" help="Refine shape by restricting edges to this length.">
+                    <validator type="in_range" min="0" exclude_min="true" />
+                </param>
+            </when>
+        </conditional>
+        <expand macro="output_vtk_type_params" />
+    </inputs>
+    <outputs>
+        <data name="output" format="vtkascii">
+            <actions>
+                <action type="format">
+                    <option type="from_param" name="output_vtk_type" />
+                </action>
+            </actions>
+        </data>
+    </outputs>
+    <tests>
+        <test>
+            <param name="input" value="shaft.vtkascii" ftype="vtkascii" />
+            <param name="input_file_format_and_type" value="vtkascii" />
+            <param name="input_dataset_type" value="POLYDATA" />
+            <param name="input_texture" value="sandstone.jpg" />
+            <param name="refine_shape" value="yes" />
+            <param name="max_edge_length" value="0.1" />
+            <output name="output" file="shaft_with_texture.vtkascii" ftype="vtkascii" />
+            <param name="output_vtk_type" value="vtkascii" />
+        </test>
+    </tests>
+    <help>
+**What it does**
+
+Adds a texture by applying an image to the surface of a shape.  The shape is projected onto a bounding box
+and the color is selected by flattening the box to fit the image.  Refinement can be applied for a smoother
+result.
+
+* **Shape** - Shape for applying a surface texture.
+* **Maximum edge length** - The shape's edges are smoothed by adding points to its edges that are longer than the defined maximum length.
+* **Texture image** - Image to be applied to the shape's surface to create the texture.
+
+    </help>
+    <expand macro="citations" />
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/icqsol_macros.xml	Tue Aug 23 14:55:34 2016 -0400
@@ -0,0 +1,116 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<macros>
+    <token name="@WRAPPER_VERSION@">1.0</token>
+    <xml name="requirements">
+        <requirements>
+            <requirement type="package" version="0.3.26">icqsol</requirement>
+        </requirements>
+    </xml>
+    <xml name="stdio">
+        <stdio>
+            <exit_code range="1:"/>
+            <exit_code range=":-1"/>
+            <regex match="Error:"/>
+            <regex match="Exception:"/>
+        </stdio>
+    </xml>
+    <!-- TODO: place this in colormaps_conf.xml -->
+    <xml name="color_map_param">
+        <param name="color_map" type="select" label="Color map">
+            <option value="hot" selected="True">Hot</option>
+            <option value="cold">Cold</option>
+            <option value="blackbody">Blackbody</option>
+            <option value="gnu">Gnu</option>
+        </param>
+    </xml>
+    <xml name="output_vtk_type_params">
+        <param name="output_vtk_type" type="select" label="Output file type">
+            <option value="vtkascii" selected="True">Vtk-ascii</option>
+            <option value="vtkbinary">Vtk-binary</option>
+        </param>
+    </xml>
+    <token name="@origin_cmd_args@">
+        --origin_x $create_process_cond.shape_cond.origin_x
+        --origin_y $create_process_cond.shape_cond.origin_y
+        --origin_z $create_process_cond.shape_cond.origin_z
+    </token>
+    <xml name="origin_params">
+        <param name="origin_x" type="float" value="0.0" label="X coordinate of origin" help="Floating point number"/>
+        <param name="origin_y" type="float" value="0.0" label="Y coordinate of origin" help="Floating point number"/>
+        <param name="origin_z" type="float" value="0.0" label="Z coordinate of origin" help="Floating point number"/>
+    </xml>
+    <token name="@lengths_cmd_args@">
+        --length_x $create_process_cond.shape_cond.length_x
+        --length_y $create_process_cond.shape_cond.length_y
+        --length_z $create_process_cond.shape_cond.length_z
+    </token>
+    <xml name="lengths_params">
+        <!-- At least one of these lengths must be greater than zero, but we have no validator for this. -->
+        <param name="length_x" type="float" value="1.0" label="Length in the X direction" help="Floating point number">
+            <validator type="in_range" min="0" exclude_min="false" />
+        </param>
+        <param name="length_y" type="float" value="0.0" label="Length in the Y direction" help="Floating point number">
+            <validator type="in_range" min="0" exclude_min="false" />
+        </param>
+        <param name="length_z" type="float" value="0.0" label="Length in the Z direction" help="Floating point number">
+            <validator type="in_range" min="0" exclude_min="false" />
+        </param>
+    </xml>
+    <xml name="lengths_exclude_min_params">
+        <param name="length_x" type="float" value="1.0" label="Length in the X direction" help="Floating point number">
+            <validator type="in_range" min="0" exclude_min="true" />
+        </param>
+        <param name="length_y" type="float" value="1.0" label="Length in the Y direction" help="Floating point number">
+            <validator type="in_range" min="0" exclude_min="true" />
+        </param>
+        <param name="length_z" type="float" value="1.0" label="Length in the Z direction" help="Floating point number">
+            <validator type="in_range" min="0" exclude_min="true" />
+        </param>
+    </xml>
+    <token name="@radius_cmd_args@">
+        --radius $create_process_cond.shape_cond.radius
+    </token>
+    <xml name="radius_params">
+        <param name="radius" type="float" value="1.0" label="Radius" help="Floating point number">
+            <validator type="in_range" min="0" exclude_min="True" />
+        </param>
+    </xml>
+    <token name="@n_theta_cmd_args@">
+        --n_theta $create_process_cond.shape_cond.n_theta
+    </token>
+    <xml name="n_theta_params">
+        <param name="n_theta" type="integer" value="16" label="Number of slices" help="Controls the tessellation along the longitude direction">
+            <validator type="in_range" min="0" exclude_min="False" />
+        </param>
+    </xml>
+    <token name="@n_phi_cmd_args@">
+        --n_phi $create_process_cond.shape_cond.n_phi
+    </token>
+    <xml name="n_phi_params">
+        <param name="n_phi" type="integer" value="8" label="Number of stacks" help="Controls the tessellation along the latitude direction">
+            <validator type="in_range" min="0" exclude_min="False" />
+        </param>
+    </xml>
+    <xml name="citations">
+        <citations>
+            <citation type="bibtex">
+                @unpublished{None,
+                author = {None},
+                title = {None},
+                year = {None},
+                eprint = {None},
+                url = {https://github.com/gregvonkuster/galaxy-csg}
+            }</citation>
+            <citation type="bibtex">
+                @misc(Schroeder-Martin-Lorensen2006,
+                author = "Will Schroeder and 
+                          Ken Martin and
+                          Bill Lorensen",
+                year = "2006",
+                title = "The Visualization Toolkit (4th ed.)",
+                publisher =  "Kitware",
+                url = "https://en.wikipedia.org/wiki/Special:BookSources/978-1-930934-19-1")
+            </citation>
+        </citations>
+    </xml>
+</macros>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/icqsol_utils.py	Tue Aug 23 14:55:34 2016 -0400
@@ -0,0 +1,86 @@
+import os
+import sys
+import tempfile
+
+from icqsol.shapes.icqShapeManager import ShapeManager
+from icqsol.bem.icqLaplaceSolver import LaplaceSolver
+
+PLY = 'ply'
+POLYDATA = 'POLYDATA'
+VTK = 'vtk'
+
+
+def asbool(val):
+    return str(val).lower() in ['yes', 'true']
+
+
+def get_format_and_type(galaxy_ext):
+    # Define the output file format and type.
+    format = None
+    datatype = None
+    if galaxy_ext in ['vtkascii', 'vtkbinary']:
+        format = VTK
+    elif galaxy_ext in ['plyascii', 'plybinary']:
+        format = PLY
+    if galaxy_ext in ['vtkascii', 'plyascii']:
+        datatype = 'ascii'
+    elif galaxy_ext in ['vtkbinary', 'plybinary']:
+        datatype = 'binary'
+    return format, datatype
+
+
+def get_input_file_path(tmp_dir, input_file, format):
+    """
+    iCqSol uses file extensions (e.g., .ply, .vtk) when reading and
+    writing files, so the Galaxy dataset naming convention of
+    setting all file extensions as .dat must be handled.
+    """
+    file_path = get_temporary_file_path(tmp_dir, format)
+    # Remove the file so we can create a symlink.
+    os.remove(file_path)
+    os.symlink(input_file, file_path)
+    return file_path
+
+
+def get_laplace_solver(shape_data, max_edge_length=float('inf')):
+    return LaplaceSolver(shape_data, max_edge_length=max_edge_length)
+
+
+def get_shape_manager(format=None, dataset_type=None):
+    # Instantiate a ShapeManager.
+    return ShapeManager(file_format=format, vtk_dataset_type=dataset_type)
+
+
+def get_temp_dir(prefix='tmp-vtk-', dir=None):
+    """
+    Return a temporary directory.
+    """
+    return tempfile.mkdtemp(prefix=prefix, dir=dir)
+
+
+def get_tempfilename(dir=None, suffix=None):
+    """
+    Return a temporary file name.
+    """
+    if suffix is None:
+        s = None
+    elif suffix.startswith('.'):
+        s = suffix
+    else:
+        s = '.%s' % suffix
+    fd, name = tempfile.mkstemp(suffix=s, dir=dir)
+    os.close(fd)
+    return name
+
+
+def get_temporary_file_path(tmp_dir, file_extension):
+    """
+    Return the path to a temporary file with a valid VTK format
+    file extension.
+    """
+    return get_tempfilename(tmp_dir, file_extension)
+
+
+def stop_err(msg):
+    sys.stderr.write("%s\n" % msg)
+    sys.exit()
Binary file test-data/sandstone.jpg has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/shaft.vtkascii	Tue Aug 23 14:55:34 2016 -0400
@@ -0,0 +1,103 @@
+# vtk DataFile Version 4.0
+vtk output
+ASCII
+DATASET POLYDATA
+POINTS 66 float
+0 0 0 0 0 -0.1 0 -0.0382683 -0.092388 
+1 0 -0.1 1 -0.0382683 -0.092388 1 0 0 
+0 -0.0707107 -0.0707107 1 -0.0707107 -0.0707107 0 -0.092388 -0.0382683 
+1 -0.092388 -0.0382683 0 -0.1 0 1 -0.1 0 
+0 -0.092388 0.0382683 1 -0.092388 0.0382683 0 -0.0707107 0.0707107 
+1 -0.0707107 0.0707107 0 -0.0382683 0.092388 1 -0.0382683 0.092388 
+0 0 0.1 1 0 0.1 0 0.0382683 0.092388 
+1 0.0382683 0.092388 0 0.0707107 0.0707107 1 0.0707107 0.0707107 
+0 0.092388 0.0382683 1 0.092388 0.0382683 0 0.1 0 
+1 0.1 0 0 0.092388 -0.0382683 1 0.092388 -0.0382683 
+0 0.0707107 -0.0707107 1 0.0707107 -0.0707107 0 0.0382683 -0.092388 
+1 0.0382683 -0.092388 0 0 -0.1 0 -0.0382683 -0.092388 
+1 0 -0.1 1 -0.0382683 -0.092388 0 -0.0707107 -0.0707107 
+1 -0.0707107 -0.0707107 0 -0.092388 -0.0382683 1 -0.092388 -0.0382683 
+0 -0.1 0 1 -0.1 0 0 -0.092388 0.0382683 
+1 -0.092388 0.0382683 0 -0.0707107 0.0707107 1 -0.0707107 0.0707107 
+0 -0.0382683 0.092388 1 -0.0382683 0.092388 0 0 0.1 
+1 0 0.1 0 0.0382683 0.092388 1 0.0382683 0.092388 
+0 0.0707107 0.0707107 1 0.0707107 0.0707107 0 0.092388 0.0382683 
+1 0.092388 0.0382683 0 0.1 0 1 0.1 0 
+0 0.092388 -0.0382683 1 0.092388 -0.0382683 0 0.0707107 -0.0707107 
+1 0.0707107 -0.0707107 0 0.0382683 -0.092388 1 0.0382683 -0.092388 
+
+POLYGONS 48 208
+3 0 1 2 
+4 35 34 3 4 
+3 5 37 36 
+3 0 2 6 
+4 38 35 4 7 
+3 5 39 37 
+3 0 6 8 
+4 40 38 7 9 
+3 5 41 39 
+3 0 8 10 
+4 42 40 9 11 
+3 5 43 41 
+3 0 10 12 
+4 44 42 11 13 
+3 5 45 43 
+3 0 12 14 
+4 46 44 13 15 
+3 5 47 45 
+3 0 14 16 
+4 48 46 15 17 
+3 5 49 47 
+3 0 16 18 
+4 50 48 17 19 
+3 5 51 49 
+3 0 18 20 
+4 52 50 19 21 
+3 5 53 51 
+3 0 20 22 
+4 54 52 21 23 
+3 5 55 53 
+3 0 22 24 
+4 56 54 23 25 
+3 5 57 55 
+3 0 24 26 
+4 58 56 25 27 
+3 5 59 57 
+3 0 26 28 
+4 60 58 27 29 
+3 5 61 59 
+3 0 28 30 
+4 62 60 29 31 
+3 5 63 61 
+3 0 30 32 
+4 64 62 31 33 
+3 5 65 63 
+3 0 32 1 
+4 34 64 33 3 
+3 5 36 65 
+
+POINT_DATA 66
+NORMALS Normals float
+-1 0 0 -1 0 0 -1 0 0 
+0 0 -1 0 -0.382683 -0.92388 1 0 0 
+-1 0 0 0 -0.707107 -0.707107 -1 0 0 
+0 -0.92388 -0.382683 -1 0 0 0 -1 0 
+-1 0 0 0 -0.92388 0.382683 -1 0 0 
+0 -0.707107 0.707107 -1 0 0 0 -0.382683 0.92388 
+-1 0 0 0 0 1 -1 0 0 
+0 0.382683 0.92388 -1 0 0 0 0.707107 0.707107 
+-1 0 0 0 0.92388 0.382683 -1 0 0 
+0 1 0 -1 0 0 0 0.92388 -0.382683 
+-1 0 0 0 0.707107 -0.707107 -1 0 0 
+0 0.382683 -0.92388 0 0 -1 0 -0.382683 -0.92388 
+1 0 0 1 0 0 0 -0.707107 -0.707107 
+1 0 0 0 -0.92388 -0.382683 1 0 0 
+0 -1 0 1 0 0 0 -0.92388 0.382683 
+1 0 0 0 -0.707107 0.707107 1 0 0 
+0 -0.382683 0.92388 1 0 0 0 0 1 
+1 0 0 0 0.382683 0.92388 1 0 0 
+0 0.707107 0.707107 1 0 0 0 0.92388 0.382683 
+1 0 0 0 1 0 1 0 0 
+0 0.92388 -0.382683 1 0 0 0 0.707107 -0.707107 
+1 0 0 0 0.382683 -0.92388 1 0 0 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/shaft_with_texture.vtkascii	Tue Aug 23 14:55:34 2016 -0400
@@ -0,0 +1,709 @@
+# vtk DataFile Version 4.0
+vtk output
+ASCII
+DATASET POLYDATA
+POINTS 242 float
+0 0 0 0 0 -0.1 0 -0.0382683 -0.092388 
+1 0 -0.1 1 -0.0382683 -0.092388 1 0 0 
+0 -0.0707107 -0.0707107 1 -0.0707107 -0.0707107 0 -0.092388 -0.0382683 
+1 -0.092388 -0.0382683 0 -0.1 0 1 -0.1 0 
+0 -0.092388 0.0382683 1 -0.092388 0.0382683 0 -0.0707107 0.0707107 
+1 -0.0707107 0.0707107 0 -0.0382683 0.092388 1 -0.0382683 0.092388 
+0 0 0.1 1 0 0.1 0 0.0382683 0.092388 
+1 0.0382683 0.092388 0 0.0707107 0.0707107 1 0.0707107 0.0707107 
+0 0.092388 0.0382683 1 0.092388 0.0382683 0 0.1 0 
+1 0.1 0 0 0.092388 -0.0382683 1 0.092388 -0.0382683 
+0 0.0707107 -0.0707107 1 0.0707107 -0.0707107 0 0.0382683 -0.092388 
+1 0.0382683 -0.092388 0 0 -0.1 0 -0.0382683 -0.092388 
+1 0 -0.1 1 -0.0382683 -0.092388 0 -0.0707107 -0.0707107 
+1 -0.0707107 -0.0707107 0 -0.092388 -0.0382683 1 -0.092388 -0.0382683 
+0 -0.1 0 1 -0.1 0 0 -0.092388 0.0382683 
+1 -0.092388 0.0382683 0 -0.0707107 0.0707107 1 -0.0707107 0.0707107 
+0 -0.0382683 0.092388 1 -0.0382683 0.092388 0 0 0.1 
+1 0 0.1 0 0.0382683 0.092388 1 0.0382683 0.092388 
+0 0.0707107 0.0707107 1 0.0707107 0.0707107 0 0.092388 0.0382683 
+1 0.092388 0.0382683 0 0.1 0 1 0.1 0 
+0 0.092388 -0.0382683 1 0.092388 -0.0382683 0 0.0707107 -0.0707107 
+1 0.0707107 -0.0707107 0 0.0382683 -0.092388 1 0.0382683 -0.092388 
+0 0 -0.05 0 -0.0191342 -0.046194 0.1 0 -0.1 
+0.2 0 -0.1 0.3 0 -0.1 0.4 0 -0.1 
+0.5 0 -0.1 0.6 0 -0.1 0.7 0 -0.1 
+0.8 0 -0.1 0.9 0 -0.1 0.9 -0.0382683 -0.092388 
+0.8 -0.0382683 -0.092388 0.7 -0.0382683 -0.092388 0.6 -0.0382683 -0.092388 
+0.5 -0.0382683 -0.092388 0.4 -0.0382683 -0.092388 0.3 -0.0382683 -0.092388 
+0.2 -0.0382683 -0.092388 0.1 -0.0382683 -0.092388 1 -0.0191342 -0.046194 
+1 0 -0.05 0 -0.0353553 -0.0353553 0.9 -0.0707107 -0.0707107 
+0.8 -0.0707107 -0.0707107 0.7 -0.0707107 -0.0707107 0.6 -0.0707107 -0.0707107 
+0.5 -0.0707107 -0.0707107 0.4 -0.0707107 -0.0707107 0.3 -0.0707107 -0.0707107 
+0.2 -0.0707107 -0.0707107 0.1 -0.0707107 -0.0707107 1 -0.0353553 -0.0353553 
+0 -0.046194 -0.0191342 0.9 -0.092388 -0.0382683 0.8 -0.092388 -0.0382683 
+0.7 -0.092388 -0.0382683 0.6 -0.092388 -0.0382683 0.5 -0.092388 -0.0382683 
+0.4 -0.092388 -0.0382683 0.3 -0.092388 -0.0382683 0.2 -0.092388 -0.0382683 
+0.1 -0.092388 -0.0382683 1 -0.046194 -0.0191342 0 -0.05 0 
+0.9 -0.1 0 0.8 -0.1 0 0.7 -0.1 0 
+0.6 -0.1 0 0.5 -0.1 0 0.4 -0.1 0 
+0.3 -0.1 0 0.2 -0.1 0 0.1 -0.1 0 
+1 -0.05 0 0 -0.046194 0.0191342 0.9 -0.092388 0.0382683 
+0.8 -0.092388 0.0382683 0.7 -0.092388 0.0382683 0.6 -0.092388 0.0382683 
+0.5 -0.092388 0.0382683 0.4 -0.092388 0.0382683 0.3 -0.092388 0.0382683 
+0.2 -0.092388 0.0382683 0.1 -0.092388 0.0382683 1 -0.046194 0.0191342 
+0 -0.0353553 0.0353553 0.9 -0.0707107 0.0707107 0.8 -0.0707107 0.0707107 
+0.7 -0.0707107 0.0707107 0.6 -0.0707107 0.0707107 0.5 -0.0707107 0.0707107 
+0.4 -0.0707107 0.0707107 0.3 -0.0707107 0.0707107 0.2 -0.0707107 0.0707107 
+0.1 -0.0707107 0.0707107 1 -0.0353553 0.0353553 0 -0.0191342 0.046194 
+0.9 -0.0382683 0.092388 0.8 -0.0382683 0.092388 0.7 -0.0382683 0.092388 
+0.6 -0.0382683 0.092388 0.5 -0.0382683 0.092388 0.4 -0.0382683 0.092388 
+0.3 -0.0382683 0.092388 0.2 -0.0382683 0.092388 0.1 -0.0382683 0.092388 
+1 -0.0191342 0.046194 0 0 0.05 0.9 0 0.1 
+0.8 0 0.1 0.7 0 0.1 0.6 0 0.1 
+0.5 0 0.1 0.4 0 0.1 0.3 0 0.1 
+0.2 0 0.1 0.1 0 0.1 1 0 0.05 
+0 0.0191342 0.046194 0.9 0.0382683 0.092388 0.8 0.0382683 0.092388 
+0.7 0.0382683 0.092388 0.6 0.0382683 0.092388 0.5 0.0382683 0.092388 
+0.4 0.0382683 0.092388 0.3 0.0382683 0.092388 0.2 0.0382683 0.092388 
+0.1 0.0382683 0.092388 1 0.0191342 0.046194 0 0.0353553 0.0353553 
+0.9 0.0707107 0.0707107 0.8 0.0707107 0.0707107 0.7 0.0707107 0.0707107 
+0.6 0.0707107 0.0707107 0.5 0.0707107 0.0707107 0.4 0.0707107 0.0707107 
+0.3 0.0707107 0.0707107 0.2 0.0707107 0.0707107 0.1 0.0707107 0.0707107 
+1 0.0353553 0.0353553 0 0.046194 0.0191342 0.9 0.092388 0.0382683 
+0.8 0.092388 0.0382683 0.7 0.092388 0.0382683 0.6 0.092388 0.0382683 
+0.5 0.092388 0.0382683 0.4 0.092388 0.0382683 0.3 0.092388 0.0382683 
+0.2 0.092388 0.0382683 0.1 0.092388 0.0382683 1 0.046194 0.0191342 
+0 0.05 0 0.9 0.1 0 0.8 0.1 0 
+0.7 0.1 0 0.6 0.1 0 0.5 0.1 0 
+0.4 0.1 0 0.3 0.1 0 0.2 0.1 0 
+0.1 0.1 0 1 0.05 0 0 0.046194 -0.0191342 
+0.9 0.092388 -0.0382683 0.8 0.092388 -0.0382683 0.7 0.092388 -0.0382683 
+0.6 0.092388 -0.0382683 0.5 0.092388 -0.0382683 0.4 0.092388 -0.0382683 
+0.3 0.092388 -0.0382683 0.2 0.092388 -0.0382683 0.1 0.092388 -0.0382683 
+1 0.046194 -0.0191342 0 0.0353553 -0.0353553 0.9 0.0707107 -0.0707107 
+0.8 0.0707107 -0.0707107 0.7 0.0707107 -0.0707107 0.6 0.0707107 -0.0707107 
+0.5 0.0707107 -0.0707107 0.4 0.0707107 -0.0707107 0.3 0.0707107 -0.0707107 
+0.2 0.0707107 -0.0707107 0.1 0.0707107 -0.0707107 1 0.0353553 -0.0353553 
+0 0.0191342 -0.046194 0.9 0.0382683 -0.092388 0.8 0.0382683 -0.092388 
+0.7 0.0382683 -0.092388 0.6 0.0382683 -0.092388 0.5 0.0382683 -0.092388 
+0.4 0.0382683 -0.092388 0.3 0.0382683 -0.092388 0.2 0.0382683 -0.092388 
+0.1 0.0382683 -0.092388 1 0.0191342 -0.046194 
+POLYGONS 416 1664
+3 67 0 66 
+3 1 2 67 
+3 1 67 66 
+3 85 35 34 
+3 83 84 69 
+3 82 83 70 
+3 85 68 84 
+3 80 81 72 
+3 79 80 73 
+3 77 78 75 
+3 4 77 76 
+3 79 74 78 
+3 82 71 81 
+3 34 68 85 
+3 69 70 83 
+3 70 71 82 
+3 68 69 84 
+3 72 73 80 
+3 73 74 79 
+3 75 76 77 
+3 76 3 4 
+3 74 75 78 
+3 71 72 81 
+3 87 5 86 
+3 86 37 36 
+3 86 36 87 
+3 88 0 67 
+3 2 6 88 
+3 2 88 67 
+3 97 38 35 
+3 95 96 84 
+3 94 95 83 
+3 97 85 96 
+3 92 93 81 
+3 91 92 80 
+3 89 90 78 
+3 7 89 77 
+3 91 79 90 
+3 94 82 93 
+3 35 85 97 
+3 84 83 95 
+3 83 82 94 
+3 85 84 96 
+3 81 80 92 
+3 80 79 91 
+3 78 77 89 
+3 77 4 7 
+3 79 78 90 
+3 82 81 93 
+3 86 5 98 
+3 98 39 37 
+3 98 37 86 
+3 99 0 88 
+3 88 6 8 
+3 88 8 99 
+3 108 40 38 
+3 106 107 96 
+3 105 106 95 
+3 108 97 107 
+3 103 104 93 
+3 102 103 92 
+3 100 101 90 
+3 9 100 89 
+3 102 91 101 
+3 105 94 104 
+3 38 97 108 
+3 96 95 106 
+3 95 94 105 
+3 97 96 107 
+3 93 92 103 
+3 92 91 102 
+3 90 89 100 
+3 89 7 9 
+3 91 90 101 
+3 94 93 104 
+3 98 5 109 
+3 41 39 98 
+3 41 98 109 
+3 110 0 99 
+3 99 8 10 
+3 99 10 110 
+3 119 42 40 
+3 117 118 107 
+3 116 117 106 
+3 119 108 118 
+3 114 115 104 
+3 113 114 103 
+3 111 112 101 
+3 11 111 100 
+3 113 102 112 
+3 116 105 115 
+3 40 108 119 
+3 107 106 117 
+3 106 105 116 
+3 108 107 118 
+3 104 103 114 
+3 103 102 113 
+3 101 100 111 
+3 100 9 11 
+3 102 101 112 
+3 105 104 115 
+3 109 5 120 
+3 43 41 109 
+3 43 109 120 
+3 121 0 110 
+3 10 12 121 
+3 10 121 110 
+3 130 44 42 
+3 128 129 118 
+3 127 128 117 
+3 130 119 129 
+3 125 126 115 
+3 124 125 114 
+3 122 123 112 
+3 13 122 111 
+3 124 113 123 
+3 127 116 126 
+3 42 119 130 
+3 118 117 128 
+3 117 116 127 
+3 119 118 129 
+3 115 114 125 
+3 114 113 124 
+3 112 111 122 
+3 111 11 13 
+3 113 112 123 
+3 116 115 126 
+3 120 5 131 
+3 131 45 43 
+3 131 43 120 
+3 132 0 121 
+3 12 14 132 
+3 12 132 121 
+3 141 46 44 
+3 139 140 129 
+3 138 139 128 
+3 141 130 140 
+3 136 137 126 
+3 135 136 125 
+3 133 134 123 
+3 15 133 122 
+3 135 124 134 
+3 138 127 137 
+3 44 130 141 
+3 129 128 139 
+3 128 127 138 
+3 130 129 140 
+3 126 125 136 
+3 125 124 135 
+3 123 122 133 
+3 122 13 15 
+3 124 123 134 
+3 127 126 137 
+3 131 5 142 
+3 142 47 45 
+3 142 45 131 
+3 143 0 132 
+3 132 14 16 
+3 132 16 143 
+3 152 48 46 
+3 150 151 140 
+3 149 150 139 
+3 152 141 151 
+3 147 148 137 
+3 146 147 136 
+3 144 145 134 
+3 17 144 133 
+3 146 135 145 
+3 149 138 148 
+3 46 141 152 
+3 140 139 150 
+3 139 138 149 
+3 141 140 151 
+3 137 136 147 
+3 136 135 146 
+3 134 133 144 
+3 133 15 17 
+3 135 134 145 
+3 138 137 148 
+3 142 5 153 
+3 49 47 142 
+3 49 142 153 
+3 154 0 143 
+3 143 16 18 
+3 143 18 154 
+3 163 50 48 
+3 161 162 151 
+3 160 161 150 
+3 163 152 162 
+3 158 159 148 
+3 157 158 147 
+3 155 156 145 
+3 19 155 144 
+3 157 146 156 
+3 160 149 159 
+3 48 152 163 
+3 151 150 161 
+3 150 149 160 
+3 152 151 162 
+3 148 147 158 
+3 147 146 157 
+3 145 144 155 
+3 144 17 19 
+3 146 145 156 
+3 149 148 159 
+3 153 5 164 
+3 51 49 153 
+3 51 153 164 
+3 165 0 154 
+3 18 20 165 
+3 18 165 154 
+3 174 52 50 
+3 172 173 162 
+3 171 172 161 
+3 174 163 173 
+3 169 170 159 
+3 168 169 158 
+3 166 167 156 
+3 21 166 155 
+3 168 157 167 
+3 171 160 170 
+3 50 163 174 
+3 162 161 172 
+3 161 160 171 
+3 163 162 173 
+3 159 158 169 
+3 158 157 168 
+3 156 155 166 
+3 155 19 21 
+3 157 156 167 
+3 160 159 170 
+3 164 5 175 
+3 175 53 51 
+3 175 51 164 
+3 176 0 165 
+3 20 22 176 
+3 20 176 165 
+3 185 54 52 
+3 183 184 173 
+3 182 183 172 
+3 185 174 184 
+3 180 181 170 
+3 179 180 169 
+3 177 178 167 
+3 23 177 166 
+3 179 168 178 
+3 182 171 181 
+3 52 174 185 
+3 173 172 183 
+3 172 171 182 
+3 174 173 184 
+3 170 169 180 
+3 169 168 179 
+3 167 166 177 
+3 166 21 23 
+3 168 167 178 
+3 171 170 181 
+3 175 5 186 
+3 186 55 53 
+3 186 53 175 
+3 187 0 176 
+3 176 22 24 
+3 176 24 187 
+3 196 56 54 
+3 194 195 184 
+3 193 194 183 
+3 196 185 195 
+3 191 192 181 
+3 190 191 180 
+3 188 189 178 
+3 25 188 177 
+3 190 179 189 
+3 193 182 192 
+3 54 185 196 
+3 184 183 194 
+3 183 182 193 
+3 185 184 195 
+3 181 180 191 
+3 180 179 190 
+3 178 177 188 
+3 177 23 25 
+3 179 178 189 
+3 182 181 192 
+3 186 5 197 
+3 57 55 186 
+3 57 186 197 
+3 198 0 187 
+3 187 24 26 
+3 187 26 198 
+3 207 58 56 
+3 205 206 195 
+3 204 205 194 
+3 207 196 206 
+3 202 203 192 
+3 201 202 191 
+3 199 200 189 
+3 27 199 188 
+3 201 190 200 
+3 204 193 203 
+3 56 196 207 
+3 195 194 205 
+3 194 193 204 
+3 196 195 206 
+3 192 191 202 
+3 191 190 201 
+3 189 188 199 
+3 188 25 27 
+3 190 189 200 
+3 193 192 203 
+3 197 5 208 
+3 59 57 197 
+3 59 197 208 
+3 209 0 198 
+3 26 28 209 
+3 26 209 198 
+3 218 60 58 
+3 216 217 206 
+3 215 216 205 
+3 218 207 217 
+3 213 214 203 
+3 212 213 202 
+3 210 211 200 
+3 29 210 199 
+3 212 201 211 
+3 215 204 214 
+3 58 207 218 
+3 206 205 216 
+3 205 204 215 
+3 207 206 217 
+3 203 202 213 
+3 202 201 212 
+3 200 199 210 
+3 199 27 29 
+3 201 200 211 
+3 204 203 214 
+3 208 5 219 
+3 219 61 59 
+3 219 59 208 
+3 220 0 209 
+3 28 30 220 
+3 28 220 209 
+3 229 62 60 
+3 227 228 217 
+3 226 227 216 
+3 229 218 228 
+3 224 225 214 
+3 223 224 213 
+3 221 222 211 
+3 31 221 210 
+3 223 212 222 
+3 226 215 225 
+3 60 218 229 
+3 217 216 227 
+3 216 215 226 
+3 218 217 228 
+3 214 213 224 
+3 213 212 223 
+3 211 210 221 
+3 210 29 31 
+3 212 211 222 
+3 215 214 225 
+3 219 5 230 
+3 230 63 61 
+3 230 61 219 
+3 231 0 220 
+3 220 30 32 
+3 220 32 231 
+3 240 64 62 
+3 238 239 228 
+3 237 238 227 
+3 240 229 239 
+3 235 236 225 
+3 234 235 224 
+3 232 233 222 
+3 33 232 221 
+3 234 223 233 
+3 237 226 236 
+3 62 229 240 
+3 228 227 238 
+3 227 226 237 
+3 229 228 239 
+3 225 224 235 
+3 224 223 234 
+3 222 221 232 
+3 221 31 33 
+3 223 222 233 
+3 226 225 236 
+3 230 5 241 
+3 65 63 230 
+3 65 230 241 
+3 66 0 231 
+3 231 32 1 
+3 231 1 66 
+3 68 34 64 
+3 70 69 239 
+3 71 70 238 
+3 68 240 69 
+3 73 72 236 
+3 74 73 235 
+3 76 75 233 
+3 3 76 232 
+3 74 234 75 
+3 71 237 72 
+3 64 240 68 
+3 239 238 70 
+3 238 237 71 
+3 240 239 69 
+3 236 235 73 
+3 235 234 74 
+3 233 232 76 
+3 232 33 3 
+3 234 233 75 
+3 237 236 72 
+3 241 5 87 
+3 36 65 241 
+3 36 241 87 
+
+POINT_DATA 242
+COLOR_SCALARS Colors 3
+0.67451 0.627451 0.572549 0.584314 0.529412 0.478431 0.556863 0.486275 0.431373 
+0.509804 0.498039 0.462745 0.454902 0.435294 0.419608 
+0.705882 0.678431 0.639216 0.572549 0.498039 0.439216 
+0.352941 0.329412 0.329412 0.607843 0.545098 0.486275 
+0.658824 0.607843 0.545098 0.682353 0.631373 0.6 
+0.760784 0.713725 0.65098 0.576471 0.513725 0.454902 
+0.482353 0.431373 0.368627 0.643137 0.580392 0.521569 
+0.588235 0.513725 0.486275 0.580392 0.517647 0.458824 
+0.490196 0.458824 0.45098 0.752941 0.72549 0.701961 
+0.552941 0.505882 0.458824 0.717647 0.658824 0.584314 
+0.572549 0.533333 0.498039 0.482353 0.407843 0.34902 
+0.564706 0.517647 0.462745 0.592157 0.529412 0.470588 
+0.568627 0.517647 0.454902 0.372549 0.309804 0.258824 
+0.784314 0.745098 0.698039 0.741176 0.670588 0.623529 
+0.721569 0.658824 0.6 0.623529 0.576471 0.521569 
+0.588235 0.537255 0.513725 0.705882 0.639216 0.6 
+0.494118 0.458824 0.431373 0.584314 0.529412 0.478431 
+0.556863 0.486275 0.431373 0.509804 0.498039 0.462745 
+0.454902 0.435294 0.419608 0.572549 0.498039 0.439216 
+0.352941 0.329412 0.329412 0.607843 0.545098 0.486275 
+0.658824 0.607843 0.545098 0.682353 0.631373 0.6 
+0.760784 0.713725 0.65098 0.576471 0.513725 0.454902 
+0.482353 0.431373 0.368627 0.643137 0.580392 0.521569 
+0.588235 0.513725 0.486275 0.580392 0.517647 0.458824 
+0.490196 0.458824 0.45098 0.752941 0.72549 0.701961 
+0.552941 0.505882 0.458824 0.717647 0.658824 0.584314 
+0.572549 0.533333 0.498039 0.482353 0.407843 0.34902 
+0.564706 0.517647 0.462745 0.592157 0.529412 0.470588 
+0.568627 0.517647 0.454902 0.372549 0.309804 0.258824 
+0.784314 0.745098 0.698039 0.741176 0.670588 0.623529 
+0.721569 0.658824 0.6 0.623529 0.576471 0.521569 
+0.588235 0.537255 0.513725 0.705882 0.639216 0.6 
+0.494118 0.458824 0.431373 0.72549 0.662745 0.603922 
+0.607843 0.537255 0.482353 0.647059 0.607843 0.568627 
+0.596078 0.533333 0.482353 0.694118 0.643137 0.568627 
+0.537255 0.486275 0.454902 0.521569 0.458824 0.407843 
+0.509804 0.498039 0.462745 0.509804 0.498039 0.462745 
+0.509804 0.498039 0.462745 0.509804 0.498039 0.462745 
+0.411765 0.388235 0.388235 0.403922 0.380392 0.380392 
+0.462745 0.443137 0.431373 0.419608 0.4 0.388235 
+0.596078 0.521569 0.466667 0.635294 0.588235 0.533333 
+0.690196 0.615686 0.556863 0.588235 0.517647 0.462745 
+0.52549 0.462745 0.403922 0.490196 0.454902 0.435294 
+0.380392 0.333333 0.34902 0.741176 0.67451 0.611765 
+0.34902 0.329412 0.317647 0.419608 0.4 0.388235 
+0.419608 0.4 0.388235 0.419608 0.4 0.388235 
+0.545098 0.482353 0.431373 0.466667 0.415686 0.384314 
+0.658824 0.588235 0.533333 0.670588 0.603922 0.533333 
+0.411765 0.345098 0.305882 0.733333 0.690196 0.619608 
+0.627451 0.552941 0.494118 0.72549 0.67451 0.611765 
+0.419608 0.4 0.388235 0.419608 0.4 0.388235 
+0.419608 0.4 0.388235 0.721569 0.654902 0.584314 
+0.662745 0.619608 0.603922 0.529412 0.47451 0.431373 
+0.72549 0.658824 0.596078 0.592157 0.533333 0.458824 
+0.635294 0.588235 0.533333 0.678431 0.631373 0.584314 
+0.760784 0.713725 0.65098 0.760784 0.713725 0.65098 
+0.760784 0.713725 0.65098 0.760784 0.713725 0.65098 
+0.572549 0.517647 0.47451 0.784314 0.717647 0.654902 
+0.623529 0.572549 0.537255 0.756863 0.690196 0.627451 
+0.572549 0.521569 0.490196 0.662745 0.631373 0.580392 
+0.760784 0.713725 0.658824 0.537255 0.486275 0.423529 
+0.623529 0.568627 0.517647 0.486275 0.435294 0.4 
+0.643137 0.607843 0.588235 0.654902 0.584314 0.537255 
+0.505882 0.462745 0.486275 0.572549 0.517647 0.482353 
+0.631373 0.576471 0.52549 0.588235 0.52549 0.466667 
+0.517647 0.470588 0.423529 0.764706 0.690196 0.631373 
+0.568627 0.552941 0.541176 0.643137 0.568627 0.541176 
+0.619608 0.607843 0.533333 0.686275 0.65098 0.584314 
+0.521569 0.470588 0.435294 0.811765 0.776471 0.741176 
+0.639216 0.572549 0.509804 0.733333 0.678431 0.627451 
+0.709804 0.647059 0.588235 0.580392 0.533333 0.470588 
+0.596078 0.541176 0.498039 0.290196 0.254902 0.227451 
+0.701961 0.635294 0.564706 0.560784 0.529412 0.478431 
+0.478431 0.411765 0.372549 0.494118 0.443137 0.411765 
+0.658824 0.627451 0.576471 0.619608 0.572549 0.52549 
+0.713725 0.662745 0.6 0.741176 0.690196 0.627451 
+0.584314 0.537255 0.47451 0.623529 0.568627 0.52549 
+0.67451 0.611765 0.560784 0.627451 0.580392 0.52549 
+0.705882 0.678431 0.615686 0.560784 0.498039 0.447059 
+0.619608 0.615686 0.6 0.278431 0.223529 0.211765 
+0.729412 0.678431 0.643137 0.486275 0.431373 0.388235 
+0.807843 0.772549 0.745098 0.482353 0.435294 0.372549 
+0.796078 0.745098 0.682353 0.466667 0.411765 0.360784 
+0.556863 0.509804 0.454902 0.6 0.552941 0.505882 
+0.611765 0.545098 0.513725 0.537255 0.490196 0.443137 
+0.521569 0.482353 0.435294 0.298039 0.247059 0.215686 
+0.482353 0.427451 0.392157 0.776471 0.721569 0.670588 
+0.301961 0.25098 0.188235 0.529412 0.47451 0.423529 
+0.541176 0.478431 0.427451 0.505882 0.45098 0.4 
+0.639216 0.592157 0.537255 0.454902 0.403922 0.372549 
+0.592157 0.545098 0.498039 0.517647 0.47451 0.45098 
+0.580392 0.509804 0.454902 0.733333 0.670588 0.611765 
+0.615686 0.552941 0.494118 0.517647 0.490196 0.427451 
+0.737255 0.682353 0.631373 0.486275 0.411765 0.356863 
+0.454902 0.403922 0.337255 0.505882 0.454902 0.423529 
+0.796078 0.733333 0.67451 0.592157 0.52549 0.447059 
+0.435294 0.388235 0.341176 0.733333 0.670588 0.607843 
+0.701961 0.627451 0.560784 0.6 0.537255 0.478431 
+0.619608 0.580392 0.533333 0.529412 0.466667 0.407843 
+0.635294 0.588235 0.52549 0.658824 0.607843 0.545098 
+0.717647 0.670588 0.615686 0.678431 0.639216 0.592157 
+0.729412 0.678431 0.603922 0.635294 0.584314 0.517647 
+0.380392 0.309804 0.231373 0.372549 0.301961 0.254902 
+0.407843 0.345098 0.294118 0.729412 0.698039 0.654902 
+0.784314 0.717647 0.654902 0.639216 0.576471 0.517647 
+0.533333 0.482353 0.447059 0.47451 0.419608 0.407843 
+0.85098 0.788235 0.698039 0.74902 0.698039 0.635294 
+0.556863 0.509804 0.423529 0.627451 0.564706 0.505882 
+0.482353 0.427451 0.376471 0.541176 0.466667 0.411765 
+0.729412 0.682353 0.627451 0.631373 0.560784 0.505882 
+0.627451 0.568627 0.541176 0.45098 0.415686 0.396078 
+0.666667 0.611765 0.568627 0.513725 0.47451 0.466667 
+0.682353 0.635294 0.580392 0.478431 0.447059 0.403922 
+0.580392 0.54902 0.498039 0.568627 0.517647 0.482353 
+0.333333 0.282353 0.247059 0.572549 0.521569 0.458824 
+0.631373 0.568627 0.509804 0.568627 0.52549 0.501961 
+0.498039 0.454902 0.431373 0.564706 0.513725 0.482353 
+0.501961 0.454902 0.4 0.678431 0.623529 0.580392 
+0.662745 0.607843 0.564706 0.666667 0.6 0.529412 
+0.396078 0.333333 0.282353 0.737255 0.67451 0.615686 
+0.678431 0.623529 0.580392 
+NORMALS Normals float
+-1 0 0 -1 0 0 -1 0 0 
+0 0.0661586 -0.997809 0 -0.320722 -0.947174 1 0 0 
+-1 0 0 0 -0.658776 -0.752339 -1 0 0 
+0 -0.896538 -0.442967 -1 0 0 0 -0.997809 -0.0661586 
+-1 0 0 0 -0.947174 0.320722 -1 0 0 
+0 -0.752339 0.658776 -1 0 0 0 -0.442967 0.896538 
+-1 0 0 0 -0.0661586 0.997809 -1 0 0 
+0 0.320722 0.947174 -1 0 0 0 0.658776 0.752339 
+-1 0 0 0 0.896538 0.442967 -1 0 0 
+0 0.997809 0.0661586 -1 0 0 0 0.947174 -0.320722 
+-1 0 0 0 0.752339 -0.658776 -1 0 0 
+0 0.442967 -0.896538 0 -0.0661586 -0.997809 0 -0.442967 -0.896538 
+1 0 0 1 0 0 0 -0.752339 -0.658776 
+1 0 0 0 -0.947174 -0.320722 1 0 0 
+0 -0.997809 0.0661586 1 0 0 0 -0.896538 0.442967 
+1 0 0 0 -0.658776 0.752339 1 0 0 
+0 -0.320722 0.947174 1 0 0 0 0.0661586 0.997809 
+1 0 0 0 0.442967 0.896538 1 0 0 
+0 0.752339 0.658776 1 0 0 0 0.947174 0.320722 
+1 0 0 0 0.997809 -0.0661586 1 0 0 
+0 0.896538 -0.442967 1 0 0 0 0.658776 -0.752339 
+1 0 0 0 0.320722 -0.947174 1 0 0 
+-1 0 0 -1 0 0 0 -5.06436e-09 -1 
+0 -5.06436e-09 -1 0 -5.06436e-09 -1 0 -5.06436e-09 -1 
+0 -5.06436e-09 -1 0 -5.06436e-09 -1 0 -5.06436e-09 -1 
+0 -5.06436e-09 -1 0 -5.06436e-09 -1 0 -0.382683 -0.92388 
+0 -0.382683 -0.92388 0 -0.382683 -0.92388 0 -0.382683 -0.92388 
+0 -0.382683 -0.92388 0 -0.382683 -0.92388 0 -0.382683 -0.92388 
+0 -0.382683 -0.92388 0 -0.382683 -0.92388 1 0 0 
+1 0 0 -1 0 0 0 -0.707107 -0.707107 
+0 -0.707107 -0.707107 0 -0.707107 -0.707107 0 -0.707107 -0.707107 
+0 -0.707107 -0.707107 0 -0.707107 -0.707107 0 -0.707107 -0.707107 
+0 -0.707107 -0.707107 0 -0.707107 -0.707107 1 0 0 
+-1 0 0 0 -0.92388 -0.382683 0 -0.92388 -0.382683 
+0 -0.92388 -0.382683 0 -0.92388 -0.382683 0 -0.92388 -0.382683 
+0 -0.92388 -0.382683 0 -0.92388 -0.382683 0 -0.92388 -0.382683 
+0 -0.92388 -0.382683 1 0 0 -1 0 0 
+0 -1 -5.06436e-09 0 -1 -5.06436e-09 0 -1 -5.06436e-09 
+0 -1 -5.06436e-09 0 -1 -5.06436e-09 0 -1 -5.06436e-09 
+0 -1 -5.06436e-09 0 -1 -5.06436e-09 0 -1 -5.06436e-09 
+1 0 0 -1 0 0 0 -0.92388 0.382683 
+0 -0.92388 0.382683 0 -0.92388 0.382683 0 -0.92388 0.382683 
+0 -0.92388 0.382683 0 -0.92388 0.382683 0 -0.92388 0.382683 
+0 -0.92388 0.382683 0 -0.92388 0.382683 1 0 0 
+-1 0 0 0 -0.707107 0.707107 0 -0.707107 0.707107 
+0 -0.707107 0.707107 0 -0.707107 0.707107 0 -0.707107 0.707107 
+0 -0.707107 0.707107 0 -0.707107 0.707107 0 -0.707107 0.707107 
+0 -0.707107 0.707107 1 0 0 -1 0 0 
+0 -0.382683 0.92388 0 -0.382683 0.92388 0 -0.382683 0.92388 
+0 -0.382683 0.92388 0 -0.382683 0.92388 0 -0.382683 0.92388 
+0 -0.382683 0.92388 0 -0.382683 0.92388 0 -0.382683 0.92388 
+1 0 0 -1 0 0 0 -5.06436e-09 1 
+0 -5.06436e-09 1 0 -5.06436e-09 1 0 -5.06436e-09 1 
+0 -5.06436e-09 1 0 -5.06436e-09 1 0 -5.06436e-09 1 
+0 -5.06436e-09 1 0 -5.06436e-09 1 1 0 0 
+-1 0 0 0 0.382683 0.92388 0 0.382683 0.92388 
+0 0.382683 0.92388 0 0.382683 0.92388 0 0.382683 0.92388 
+0 0.382683 0.92388 0 0.382683 0.92388 0 0.382683 0.92388 
+0 0.382683 0.92388 1 0 0 -1 0 0 
+0 0.707107 0.707107 0 0.707107 0.707107 0 0.707107 0.707107 
+0 0.707107 0.707107 0 0.707107 0.707107 0 0.707107 0.707107 
+0 0.707107 0.707107 0 0.707107 0.707107 0 0.707107 0.707107 
+1 0 0 -1 0 0 0 0.92388 0.382683 
+0 0.92388 0.382683 0 0.92388 0.382683 0 0.92388 0.382683 
+0 0.92388 0.382683 0 0.92388 0.382683 0 0.92388 0.382683 
+0 0.92388 0.382683 0 0.92388 0.382683 1 0 0 
+-1 0 0 0 1 5.06436e-09 0 1 5.06436e-09 
+0 1 5.06436e-09 0 1 5.06436e-09 0 1 5.06436e-09 
+0 1 5.06436e-09 0 1 5.06436e-09 0 1 5.06436e-09 
+0 1 5.06436e-09 1 0 0 -1 0 0 
+0 0.92388 -0.382683 0 0.92388 -0.382683 0 0.92388 -0.382683 
+0 0.92388 -0.382683 0 0.92388 -0.382683 0 0.92388 -0.382683 
+0 0.92388 -0.382683 0 0.92388 -0.382683 0 0.92388 -0.382683 
+1 0 0 -1 0 0 0 0.707107 -0.707107 
+0 0.707107 -0.707107 0 0.707107 -0.707107 0 0.707107 -0.707107 
+0 0.707107 -0.707107 0 0.707107 -0.707107 0 0.707107 -0.707107 
+0 0.707107 -0.707107 0 0.707107 -0.707107 1 0 0 
+-1 0 0 0 0.382683 -0.92388 0 0.382683 -0.92388 
+0 0.382683 -0.92388 0 0.382683 -0.92388 0 0.382683 -0.92388 
+0 0.382683 -0.92388 0 0.382683 -0.92388 0 0.382683 -0.92388 
+0 0.382683 -0.92388 1 0 0