# HG changeset patch
# User iuc
# Date 1471978534 14400
# Node ID d6bbaddfa5af245f51d3425d9afb37639d0bff60
Uploaded
diff -r 000000000000 -r d6bbaddfa5af icqsol_add_texture.py
--- /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)
diff -r 000000000000 -r d6bbaddfa5af icqsol_add_texture.xml
--- /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 @@
+
+
+ to shape
+
+ icqsol_macros.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+**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.
+
+
+
+
diff -r 000000000000 -r d6bbaddfa5af icqsol_macros.xml
--- /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 @@
+
+
+ 1.0
+
+
+ icqsol
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ --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
+
+
+
+
+
+
+
+ --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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ --radius $create_process_cond.shape_cond.radius
+
+
+
+
+
+
+
+ --n_theta $create_process_cond.shape_cond.n_theta
+
+
+
+
+
+
+
+ --n_phi $create_process_cond.shape_cond.n_phi
+
+
+
+
+
+
+
+
+
+ @unpublished{None,
+ author = {None},
+ title = {None},
+ year = {None},
+ eprint = {None},
+ url = {https://github.com/gregvonkuster/galaxy-csg}
+ }
+
+ @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")
+
+
+
+
diff -r 000000000000 -r d6bbaddfa5af icqsol_utils.py
--- /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()
diff -r 000000000000 -r d6bbaddfa5af test-data/sandstone.jpg
Binary file test-data/sandstone.jpg has changed
diff -r 000000000000 -r d6bbaddfa5af test-data/shaft.vtkascii
--- /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
+
diff -r 000000000000 -r d6bbaddfa5af test-data/shaft_with_texture.vtkascii
--- /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