Merge pull request #1039 from barfowl/loop_regression_shapes

Added more regression shapes for Loop subdivision
This commit is contained in:
David G Yu 2019-01-08 11:18:46 -08:00 committed by GitHub
commit f25b7427f9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 2414 additions and 111 deletions

View File

@ -103,18 +103,29 @@
#include "bilinear_nonquads0.h"
#include "bilinear_nonquads1.h"
#include "loop_chaikin0.h"
#include "loop_chaikin1.h"
#include "loop_cube.h"
#include "loop_cube_asymmetric.h"
#include "loop_cube_creases0.h"
#include "loop_cube_creases1.h"
#include "loop_cube.h"
#include "loop_cubes_infsharp.h"
#include "loop_cubes_semisharp.h"
#include "loop_fvar_bound0.h"
#include "loop_fvar_bound1.h"
#include "loop_fvar_bound2.h"
#include "loop_fvar_bound3.h"
#include "loop_icosahedron.h"
#include "loop_icos_infsharp.h"
#include "loop_icos_semisharp.h"
#include "loop_pole8.h"
#include "loop_pole64.h"
#include "loop_pole360.h"
#include "loop_saddle_edgecorner.h"
#include "loop_saddle_edgeonly.h"
#include "loop_triangle_edgecorner.h"
#include "loop_triangle_edgeonly.h"
#include "loop_chaikin0.h"
#include "loop_chaikin1.h"
#include "loop_pole8.h"
#include "loop_pole64.h"
#include "loop_pole360.h"
#include "loop_xord_boundary.h"
#include "loop_xord_interior.h"
#endif // OPENSUBDIV_REGRESSION_SHAPES_ALL_H

View File

@ -1,5 +1,5 @@
//
// Copyright 2013 Pixar
// Copyright 2018 DreamWorks Animation LLC.
//
// Licensed under the Apache License, Version 2.0 (the "Apache License")
// with the following modification; you may not use this file except in
@ -23,78 +23,66 @@
//
static const std::string loop_cube =
"# This file uses centimeters as units for non-parametric coordinates.\n"
"\n"
"v 0.000000 1.414214 1.000000\n"
"v -1.414214 0.000000 1.000000\n"
"v 1.414214 -0.000000 1.000000\n"
"v -0.000000 -1.414214 1.000000\n"
"v 1.414214 -0.000000 -1.000000\n"
"v -0.000000 -1.414214 -1.000000\n"
"v 0.000000 1.414214 -1.000000\n"
"v -1.414214 0.000000 -1.000000\n"
"vt 0.375000 0.000000\n"
"vt 0.625000 0.000000\n"
"vt 0.375000 0.250000\n"
"vt 0.625000 0.250000\n"
"vt 0.375000 0.500000\n"
"vt 0.625000 0.500000\n"
"vt 0.375000 0.750000\n"
"vt 0.625000 0.750000\n"
"vt 0.375000 1.000000\n"
"vt 0.625000 1.000000\n"
"vt 0.875000 0.000000\n"
"vt 0.875000 0.250000\n"
"vt 0.125000 0.000000\n"
"vt 0.125000 0.250000\n"
"vn 0.000000 0.000000 1.000000\n"
"vn 0.000000 0.000000 1.000000\n"
"vn 0.000000 0.000000 1.000000\n"
"vn 0.000000 0.000000 1.000000\n"
"vn 0.000000 0.000000 1.000000\n"
"vn 0.000000 0.000000 1.000000\n"
"vn 0.707107 -0.707107 0.000000\n"
"vn 0.707107 -0.707107 0.000000\n"
"vn 0.707107 -0.707107 0.000000\n"
"vn 0.707107 -0.707107 0.000000\n"
"vn 0.707107 -0.707107 0.000000\n"
"vn 0.707107 -0.707107 0.000000\n"
"vn -0.000000 0.000000 -1.000000\n"
"vn -0.000000 0.000000 -1.000000\n"
"vn -0.000000 0.000000 -1.000000\n"
"vn -0.000000 0.000000 -1.000000\n"
"vn -0.000000 0.000000 -1.000000\n"
"vn -0.000000 0.000000 -1.000000\n"
"vn -0.707107 0.707107 0.000000\n"
"vn -0.707107 0.707107 0.000000\n"
"vn -0.707107 0.707107 0.000000\n"
"vn -0.707107 0.707107 0.000000\n"
"vn -0.707107 0.707107 0.000000\n"
"vn -0.707107 0.707107 0.000000\n"
"vn -0.707107 -0.707107 0.000000\n"
"vn -0.707107 -0.707107 0.000000\n"
"vn -0.707107 -0.707107 0.000000\n"
"vn -0.707107 -0.707107 0.000000\n"
"vn -0.707107 -0.707107 0.000000\n"
"vn -0.707107 -0.707107 0.000000\n"
"vn 0.707107 0.707107 0.000000\n"
"vn 0.707107 0.707107 0.000000\n"
"vn 0.707107 0.707107 0.000000\n"
"vn 0.707107 0.707107 0.000000\n"
"vn 0.707107 0.707107 0.000000\n"
"vn 0.707107 0.707107 0.000000\n"
"f 1/1/1 2/2/2 3/3/3\n"
"f 3/3/4 2/2/5 4/4/6\n"
"f 3/3/7 4/4/8 5/5/9\n"
"f 5/5/10 4/4/11 6/6/12\n"
"f 5/5/13 6/6/14 7/7/15\n"
"f 7/7/16 6/6/17 8/8/18\n"
"f 7/7/19 8/8/20 1/9/21\n"
"f 1/9/22 8/8/23 2/10/24\n"
"f 2/2/25 8/11/26 4/4/27\n"
"f 4/4/28 8/11/29 6/12/30\n"
"f 7/13/31 1/1/32 5/14/33\n"
"f 5/14/34 1/1/35 3/3/36\n"
"t interpolateboundary 1/0/0 2\n"
"v 1 -1 1\n"
"v 1 1 1\n"
"v -1 -1 1\n"
"v -1 1 1\n"
"v -1 -1 -1\n"
"v -1 1 -1\n"
"v 1 -1 -1\n"
"v 1 1 -1\n"
"v 0 0 1\n"
"v -1 0 0\n"
"v 0 0 -1\n"
"v 1 0 0\n"
"v 0 1 0\n"
"v 0 -1 0\n"
"\n"
"vt 0.375 0.000\n"
"vt 0.625 0.000\n"
"vt 0.375 0.250\n"
"vt 0.625 0.250\n"
"vt 0.375 0.500\n"
"vt 0.625 0.500\n"
"vt 0.375 0.750\n"
"vt 0.625 0.750\n"
"vt 0.375 1.000\n"
"vt 0.625 1.000\n"
"vt 0.875 0.000\n"
"vt 0.875 0.250\n"
"vt 0.125 0.000\n"
"vt 0.125 0.250\n"
"vt 0.500 0.125\n"
"vt 0.500 0.375\n"
"vt 0.500 0.625\n"
"vt 0.500 0.875\n"
"vt 0.750 0.125\n"
"vt 0.250 0.125\n"
"\n"
"f 9/15 1/1 2/2\n"
"f 9/15 2/2 4/4\n"
"f 9/15 4/4 3/3\n"
"f 9/15 3/3 1/1\n"
"f 10/16 3/3 4/4\n"
"f 10/16 4/4 6/6\n"
"f 10/16 6/6 5/5\n"
"f 10/16 5/5 3/3\n"
"f 11/17 5/5 6/6\n"
"f 11/17 6/6 8/8\n"
"f 11/17 8/8 7/7\n"
"f 11/17 7/7 5/5\n"
"f 12/18 7/7 8/8\n"
"f 12/18 8/8 2/10\n"
"f 12/18 2/10 1/9 \n"
"f 12/18 1/9 7/7\n"
"f 13/19 2/2 8/11\n"
"f 13/19 8/11 6/12\n"
"f 13/19 6/12 4/4\n"
"f 13/19 4/4 2/2\n"
"f 14/20 7/13 1/1\n"
"f 14/20 1/1 3/3\n"
"f 14/20 3/3 5/14\n"
"f 14/20 5/14 7/13\n"
"\n"
;

View File

@ -0,0 +1,65 @@
//
// Copyright 2013 Pixar
//
// Licensed under the Apache License, Version 2.0 (the "Apache License")
// with the following modification; you may not use this file except in
// compliance with the Apache License and the following modification to it:
// Section 6. Trademarks. is deleted and replaced with:
//
// 6. Trademarks. This License does not grant permission to use the trade
// names, trademarks, service marks, or product names of the Licensor
// and its affiliates, except as required to comply with Section 4(c) of
// the License and to reproduce the content of the NOTICE file.
//
// You may obtain a copy of the Apache License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the Apache License with the above modification is
// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the Apache License for the specific
// language governing permissions and limitations under the Apache License.
//
static const std::string loop_cube_asymmetric =
"v 0.000000 1.414214 1.000000\n"
"v -1.414214 0.000000 1.000000\n"
"v 1.414214 -0.000000 1.000000\n"
"v -0.000000 -1.414214 1.000000\n"
"v 1.414214 -0.000000 -1.000000\n"
"v -0.000000 -1.414214 -1.000000\n"
"v 0.000000 1.414214 -1.000000\n"
"v -1.414214 0.000000 -1.000000\n"
"\n"
"vt 0.375 0.00\n"
"vt 0.625 0.00\n"
"vt 0.375 0.25\n"
"vt 0.625 0.25\n"
"vt 0.375 0.50\n"
"vt 0.625 0.50\n"
"vt 0.375 0.75\n"
"vt 0.625 0.75\n"
"vt 0.375 1.00\n"
"vt 0.625 1.00\n"
"vt 0.875 0.00\n"
"vt 0.875 0.25\n"
"vt 0.125 0.00\n"
"vt 0.125 0.25\n"
"\n"
"f 1/1 2/2 3/3\n"
"f 3/3 2/2 4/4\n"
"f 3/3 4/4 5/5\n"
"f 5/5 4/4 6/6\n"
"f 5/5 6/6 7/7\n"
"f 7/7 6/6 8/8\n"
"f 7/7 8/8 1/9\n"
"f 1/9 8/8 2/10\n"
"f 2/2 8/11 4/4\n"
"f 4/4 8/11 6/12\n"
"f 7/13 1/1 5/14\n"
"f 5/14 1/1 3/3\n"
"\n"
"t interpolateboundary 1/0/0 2\n"
"\n"
;

View File

@ -0,0 +1,306 @@
//
// Copyright 2018 DreamWorks Animation LLC.
//
// Licensed under the Apache License, Version 2.0 (the "Apache License")
// with the following modification; you may not use this file except in
// compliance with the Apache License and the following modification to it:
// Section 6. Trademarks. is deleted and replaced with:
//
// 6. Trademarks. This License does not grant permission to use the trade
// names, trademarks, service marks, or product names of the Licensor
// and its affiliates, except as required to comply with Section 4(c) of
// the License and to reproduce the content of the NOTICE file.
//
// You may obtain a copy of the Apache License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the Apache License with the above modification is
// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the Apache License for the specific
// language governing permissions and limitations under the Apache License.
//
static const std::string loop_cubes_infsharp =
"#\n"
"# Four shapes ordered left->right and top->bottom in the XZ and UV planes\n"
"#\n"
"# Shape 1: top-left\n"
"#\n"
"v -0.250 -0.500 1.250\n"
"v -0.250 0.500 1.250\n"
"v -1.250 -0.500 1.250\n"
"v -1.250 0.500 1.250\n"
"v -1.250 -0.500 0.250\n"
"v -1.250 0.500 0.250\n"
"v -0.250 -0.500 0.250\n"
"v -0.250 0.500 0.250\n"
"v -0.750 0.000 1.250\n"
"v -1.250 0.000 0.750\n"
"v -0.750 0.000 0.250\n"
"v -0.250 0.000 0.750\n"
"v -0.750 0.500 0.750\n"
"v -0.750 -0.500 0.750\n"
"\n"
"vt 0.250 0.600\n"
"vt 0.200 0.550\n"
"vt 0.300 0.550\n"
"vt 0.300 0.650\n"
"vt 0.200 0.650\n"
"vt 0.250 0.700\n"
"vt 0.300 0.750\n"
"vt 0.200 0.750\n"
"vt 0.250 0.800\n"
"vt 0.300 0.850\n"
"vt 0.200 0.850\n"
"vt 0.250 0.900\n"
"vt 0.300 0.950\n"
"vt 0.200 0.950\n"
"vt 0.350 0.600\n"
"vt 0.400 0.550\n"
"vt 0.400 0.650\n"
"vt 0.150 0.600\n"
"vt 0.100 0.550\n"
"vt 0.100 0.650\n"
"\n"
"f 9/1 1/2 2/3 \n"
"f 9/1 2/3 4/4 \n"
"f 9/1 4/4 3/5 \n"
"f 9/1 3/5 1/2 \n"
"f 10/6 3/5 4/4 \n"
"f 10/6 4/4 6/7 \n"
"f 10/6 6/7 5/8 \n"
"f 10/6 5/8 3/5 \n"
"f 11/9 5/8 6/7 \n"
"f 11/9 6/7 8/10 \n"
"f 11/9 8/10 7/11 \n"
"f 11/9 7/11 5/8 \n"
"f 12/12 7/11 8/10 \n"
"f 12/12 8/10 2/13 \n"
"f 12/12 2/13 1/14 \n"
"f 12/12 1/14 7/11 \n"
"f 13/15 2/3 8/16 \n"
"f 13/15 8/16 6/17 \n"
"f 13/15 6/17 4/4 \n"
"f 13/15 4/4 2/3 \n"
"f 14/18 7/19 1/2 \n"
"f 14/18 1/2 3/5 \n"
"f 14/18 3/5 5/20 \n"
"f 14/18 5/20 7/19 \n"
"\n"
"t corner 1/1/0 0 10.0\n"
"\n"
"#\n"
"# Shape 2: top-right\n"
"#\n"
"v 1.250 -0.500 1.250\n"
"v 1.250 0.500 1.250\n"
"v 0.250 -0.500 1.250\n"
"v 0.250 0.500 1.250\n"
"v 0.250 -0.500 0.250\n"
"v 0.250 0.500 0.250\n"
"v 1.250 -0.500 0.250\n"
"v 1.250 0.500 0.250\n"
"v 0.750 0.000 1.250\n"
"v 0.250 0.000 0.750\n"
"v 0.750 0.000 0.250\n"
"v 1.250 0.000 0.750\n"
"v 0.750 0.500 0.750\n"
"v 0.750 -0.500 0.750\n"
"\n"
"vt 0.750 0.600\n"
"vt 0.700 0.550\n"
"vt 0.800 0.550\n"
"vt 0.800 0.650\n"
"vt 0.700 0.650\n"
"vt 0.750 0.700\n"
"vt 0.800 0.750\n"
"vt 0.700 0.750\n"
"vt 0.750 0.800\n"
"vt 0.800 0.850\n"
"vt 0.700 0.850\n"
"vt 0.750 0.900\n"
"vt 0.800 0.950\n"
"vt 0.700 0.950\n"
"vt 0.850 0.600\n"
"vt 0.900 0.550\n"
"vt 0.900 0.650\n"
"vt 0.650 0.600\n"
"vt 0.600 0.550\n"
"vt 0.600 0.650\n"
"\n"
"f 23/21 15/22 16/23 \n"
"f 23/21 16/23 18/24 \n"
"f 23/21 18/24 17/25 \n"
"f 23/21 17/25 15/22 \n"
"f 24/26 17/25 18/24 \n"
"f 24/26 18/24 20/27 \n"
"f 24/26 20/27 19/28 \n"
"f 24/26 19/28 17/25 \n"
"f 25/29 19/28 20/27 \n"
"f 25/29 20/27 22/30 \n"
"f 25/29 22/30 21/31 \n"
"f 25/29 21/31 19/28 \n"
"f 26/32 21/31 22/30 \n"
"f 26/32 22/30 16/33 \n"
"f 26/32 16/33 15/34 \n"
"f 26/32 15/34 21/31 \n"
"f 27/35 16/23 22/36 \n"
"f 27/35 22/36 20/37 \n"
"f 27/35 20/37 18/24 \n"
"f 27/35 18/24 16/23 \n"
"f 28/38 21/39 15/22 \n"
"f 28/38 15/22 17/25 \n"
"f 28/38 17/25 19/40 \n"
"f 28/38 19/40 21/39 \n"
"\n"
"t crease 2/1/0 14 15 10.0\n"
"\n"
"#\n"
"# Shape 3: bottom-left\n"
"#\n"
"v -0.250 -0.500 -0.250\n"
"v -0.250 0.500 -0.250\n"
"v -1.250 -0.500 -0.250\n"
"v -1.250 0.500 -0.250\n"
"v -1.250 -0.500 -1.250\n"
"v -1.250 0.500 -1.250\n"
"v -0.250 -0.500 -1.250\n"
"v -0.250 0.500 -1.250\n"
"v -0.750 0.000 -0.250\n"
"v -1.250 0.000 -0.750\n"
"v -0.750 0.000 -1.250\n"
"v -0.250 0.000 -0.750\n"
"v -0.750 0.500 -0.750\n"
"v -0.750 -0.500 -0.750\n"
"\n"
"vt 0.250 0.100\n"
"vt 0.200 0.050\n"
"vt 0.300 0.050\n"
"vt 0.300 0.150\n"
"vt 0.200 0.150\n"
"vt 0.250 0.200\n"
"vt 0.300 0.250\n"
"vt 0.200 0.250\n"
"vt 0.250 0.300\n"
"vt 0.300 0.350\n"
"vt 0.200 0.350\n"
"vt 0.250 0.400\n"
"vt 0.300 0.450\n"
"vt 0.200 0.450\n"
"vt 0.350 0.100\n"
"vt 0.400 0.050\n"
"vt 0.400 0.150\n"
"vt 0.150 0.100\n"
"vt 0.100 0.050\n"
"vt 0.100 0.150\n"
"\n"
"f 37/41 29/42 30/43 \n"
"f 37/41 30/43 32/44 \n"
"f 37/41 32/44 31/45 \n"
"f 37/41 31/45 29/42 \n"
"f 38/46 31/45 32/44 \n"
"f 38/46 32/44 34/47 \n"
"f 38/46 34/47 33/48 \n"
"f 38/46 33/48 31/45 \n"
"f 39/49 33/48 34/47 \n"
"f 39/49 34/47 36/50 \n"
"f 39/49 36/50 35/51 \n"
"f 39/49 35/51 33/48 \n"
"f 40/52 35/51 36/50 \n"
"f 40/52 36/50 30/53 \n"
"f 40/52 30/53 29/54 \n"
"f 40/52 29/54 35/51 \n"
"f 41/55 30/43 36/56 \n"
"f 41/55 36/56 34/57 \n"
"f 41/55 34/57 32/44 \n"
"f 41/55 32/44 30/43 \n"
"f 42/58 35/59 29/42 \n"
"f 42/58 29/42 31/45 \n"
"f 42/58 31/45 33/60 \n"
"f 42/58 33/60 35/59 \n"
"\n"
"t crease 2/1/0 30 28 10.0\n"
"t crease 2/1/0 28 34 10.0\n"
"t crease 2/1/0 34 32 10.0\n"
"t crease 2/1/0 32 30 10.0\n"
"\n"
"#\n"
"# Shape 4: bottom-right\n"
"#\n"
"v 1.250 -0.500 -0.250\n"
"v 1.250 0.500 -0.250\n"
"v 0.250 -0.500 -0.250\n"
"v 0.250 0.500 -0.250\n"
"v 0.250 -0.500 -1.250\n"
"v 0.250 0.500 -1.250\n"
"v 1.250 -0.500 -1.250\n"
"v 1.250 0.500 -1.250\n"
"v 0.750 0.000 -0.250\n"
"v 0.250 0.000 -0.750\n"
"v 0.750 0.000 -1.250\n"
"v 1.250 0.000 -0.750\n"
"v 0.750 0.500 -0.750\n"
"v 0.750 -0.500 -0.750\n"
"\n"
"vt 0.750 0.100\n"
"vt 0.700 0.050\n"
"vt 0.800 0.050\n"
"vt 0.800 0.150\n"
"vt 0.700 0.150\n"
"vt 0.750 0.200\n"
"vt 0.800 0.250\n"
"vt 0.700 0.250\n"
"vt 0.750 0.300\n"
"vt 0.800 0.350\n"
"vt 0.700 0.350\n"
"vt 0.750 0.400\n"
"vt 0.800 0.450\n"
"vt 0.700 0.450\n"
"vt 0.850 0.100\n"
"vt 0.900 0.050\n"
"vt 0.900 0.150\n"
"vt 0.650 0.100\n"
"vt 0.600 0.050\n"
"vt 0.600 0.150\n"
"\n"
"f 51/61 43/62 44/63 \n"
"f 51/61 44/63 46/64 \n"
"f 51/61 46/64 45/65 \n"
"f 51/61 45/65 43/62 \n"
"f 52/66 45/65 46/64 \n"
"f 52/66 46/64 48/67 \n"
"f 52/66 48/67 47/68 \n"
"f 52/66 47/68 45/65 \n"
"f 53/69 47/68 48/67 \n"
"f 53/69 48/67 50/70 \n"
"f 53/69 50/70 49/71 \n"
"f 53/69 49/71 47/68 \n"
"f 54/72 49/71 50/70 \n"
"f 54/72 50/70 44/73 \n"
"f 54/72 44/73 43/74 \n"
"f 54/72 43/74 49/71 \n"
"f 55/75 44/63 50/76 \n"
"f 55/75 50/76 48/77 \n"
"f 55/75 48/77 46/64 \n"
"f 55/75 46/64 44/63 \n"
"f 56/78 49/79 43/62 \n"
"f 56/78 43/62 45/65 \n"
"f 56/78 45/65 47/80 \n"
"f 56/78 47/80 49/79 \n"
"\n"
"t crease 2/1/0 42 43 0.0\n"
"t crease 2/1/0 43 45 10.0\n"
"t crease 2/1/0 45 44 10.0\n"
"t crease 2/1/0 44 42 10.0\n"
"t crease 2/1/0 46 47 10.0\n"
"t crease 2/1/0 47 49 10.0\n"
"t crease 2/1/0 49 48 10.0\n"
"t crease 2/1/0 48 46 10.0\n"
"t crease 2/1/0 42 48 10.0\n"
"t crease 2/1/0 43 49 10.0\n"
"t crease 2/1/0 44 46 10.0\n"
"t crease 2/1/0 45 47 10.0\n"
"\n"
;

View File

@ -0,0 +1,304 @@
//
// Copyright 2018 DreamWorks Animation LLC.
//
// Licensed under the Apache License, Version 2.0 (the "Apache License")
// with the following modification; you may not use this file except in
// compliance with the Apache License and the following modification to it:
// Section 6. Trademarks. is deleted and replaced with:
//
// 6. Trademarks. This License does not grant permission to use the trade
// names, trademarks, service marks, or product names of the Licensor
// and its affiliates, except as required to comply with Section 4(c) of
// the License and to reproduce the content of the NOTICE file.
//
// You may obtain a copy of the Apache License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the Apache License with the above modification is
// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the Apache License for the specific
// language governing permissions and limitations under the Apache License.
//
static const std::string loop_cubes_semisharp =
"#\n"
"# Four shapes ordered left->right and top->bottom in the XZ and UV planes\n"
"#\n"
"# Shape 1: top-left\n"
"#\n"
"v -0.250 -0.500 1.250\n"
"v -0.250 0.500 1.250\n"
"v -1.250 -0.500 1.250\n"
"v -1.250 0.500 1.250\n"
"v -1.250 -0.500 0.250\n"
"v -1.250 0.500 0.250\n"
"v -0.250 -0.500 0.250\n"
"v -0.250 0.500 0.250\n"
"v -0.750 0.000 1.250\n"
"v -1.250 0.000 0.750\n"
"v -0.750 0.000 0.250\n"
"v -0.250 0.000 0.750\n"
"v -0.750 0.500 0.750\n"
"v -0.750 -0.500 0.750\n"
"\n"
"vt 0.250 0.600\n"
"vt 0.200 0.550\n"
"vt 0.300 0.550\n"
"vt 0.300 0.650\n"
"vt 0.200 0.650\n"
"vt 0.250 0.700\n"
"vt 0.300 0.750\n"
"vt 0.200 0.750\n"
"vt 0.250 0.800\n"
"vt 0.300 0.850\n"
"vt 0.200 0.850\n"
"vt 0.250 0.900\n"
"vt 0.300 0.950\n"
"vt 0.200 0.950\n"
"vt 0.350 0.600\n"
"vt 0.400 0.550\n"
"vt 0.400 0.650\n"
"vt 0.150 0.600\n"
"vt 0.100 0.550\n"
"vt 0.100 0.650\n"
"\n"
"f 9/1 1/2 2/3 \n"
"f 9/1 2/3 4/4 \n"
"f 9/1 4/4 3/5 \n"
"f 9/1 3/5 1/2 \n"
"f 10/6 3/5 4/4 \n"
"f 10/6 4/4 6/7 \n"
"f 10/6 6/7 5/8 \n"
"f 10/6 5/8 3/5 \n"
"f 11/9 5/8 6/7 \n"
"f 11/9 6/7 8/10 \n"
"f 11/9 8/10 7/11 \n"
"f 11/9 7/11 5/8 \n"
"f 12/12 7/11 8/10 \n"
"f 12/12 8/10 2/13 \n"
"f 12/12 2/13 1/14 \n"
"f 12/12 1/14 7/11 \n"
"f 13/15 2/3 8/16 \n"
"f 13/15 8/16 6/17 \n"
"f 13/15 6/17 4/4 \n"
"f 13/15 4/4 2/3 \n"
"f 14/18 7/19 1/2 \n"
"f 14/18 1/2 3/5 \n"
"f 14/18 3/5 5/20 \n"
"f 14/18 5/20 7/19 \n"
"\n"
"t corner 1/1/0 0 2.5\n"
"\n"
"#\n"
"# Shape 2: top-right\n"
"#\n"
"v 1.250 -0.500 1.250\n"
"v 1.250 0.500 1.250\n"
"v 0.250 -0.500 1.250\n"
"v 0.250 0.500 1.250\n"
"v 0.250 -0.500 0.250\n"
"v 0.250 0.500 0.250\n"
"v 1.250 -0.500 0.250\n"
"v 1.250 0.500 0.250\n"
"v 0.750 0.000 1.250\n"
"v 0.250 0.000 0.750\n"
"v 0.750 0.000 0.250\n"
"v 1.250 0.000 0.750\n"
"v 0.750 0.500 0.750\n"
"v 0.750 -0.500 0.750\n"
"\n"
"vt 0.750 0.600\n"
"vt 0.700 0.550\n"
"vt 0.800 0.550\n"
"vt 0.800 0.650\n"
"vt 0.700 0.650\n"
"vt 0.750 0.700\n"
"vt 0.800 0.750\n"
"vt 0.700 0.750\n"
"vt 0.750 0.800\n"
"vt 0.800 0.850\n"
"vt 0.700 0.850\n"
"vt 0.750 0.900\n"
"vt 0.800 0.950\n"
"vt 0.700 0.950\n"
"vt 0.850 0.600\n"
"vt 0.900 0.550\n"
"vt 0.900 0.650\n"
"vt 0.650 0.600\n"
"vt 0.600 0.550\n"
"vt 0.600 0.650\n"
"\n"
"f 23/21 15/22 16/23 \n"
"f 23/21 16/23 18/24 \n"
"f 23/21 18/24 17/25 \n"
"f 23/21 17/25 15/22 \n"
"f 24/26 17/25 18/24 \n"
"f 24/26 18/24 20/27 \n"
"f 24/26 20/27 19/28 \n"
"f 24/26 19/28 17/25 \n"
"f 25/29 19/28 20/27 \n"
"f 25/29 20/27 22/30 \n"
"f 25/29 22/30 21/31 \n"
"f 25/29 21/31 19/28 \n"
"f 26/32 21/31 22/30 \n"
"f 26/32 22/30 16/33 \n"
"f 26/32 16/33 15/34 \n"
"f 26/32 15/34 21/31 \n"
"f 27/35 16/23 22/36 \n"
"f 27/35 22/36 20/37 \n"
"f 27/35 20/37 18/24 \n"
"f 27/35 18/24 16/23 \n"
"f 28/38 21/39 15/22 \n"
"f 28/38 15/22 17/25 \n"
"f 28/38 17/25 19/40 \n"
"f 28/38 19/40 21/39 \n"
"\n"
"t corner 1/1/0 14 4.5\n"
"\n"
"#\n"
"# Shape 3: bottom-left\n"
"#\n"
"v -0.250 -0.500 -0.250\n"
"v -0.250 0.500 -0.250\n"
"v -1.250 -0.500 -0.250\n"
"v -1.250 0.500 -0.250\n"
"v -1.250 -0.500 -1.250\n"
"v -1.250 0.500 -1.250\n"
"v -0.250 -0.500 -1.250\n"
"v -0.250 0.500 -1.250\n"
"v -0.750 0.000 -0.250\n"
"v -1.250 0.000 -0.750\n"
"v -0.750 0.000 -1.250\n"
"v -0.250 0.000 -0.750\n"
"v -0.750 0.500 -0.750\n"
"v -0.750 -0.500 -0.750\n"
"\n"
"vt 0.250 0.100\n"
"vt 0.200 0.050\n"
"vt 0.300 0.050\n"
"vt 0.300 0.150\n"
"vt 0.200 0.150\n"
"vt 0.250 0.200\n"
"vt 0.300 0.250\n"
"vt 0.200 0.250\n"
"vt 0.250 0.300\n"
"vt 0.300 0.350\n"
"vt 0.200 0.350\n"
"vt 0.250 0.400\n"
"vt 0.300 0.450\n"
"vt 0.200 0.450\n"
"vt 0.350 0.100\n"
"vt 0.400 0.050\n"
"vt 0.400 0.150\n"
"vt 0.150 0.100\n"
"vt 0.100 0.050\n"
"vt 0.100 0.150\n"
"\n"
"f 37/41 29/42 30/43 \n"
"f 37/41 30/43 32/44 \n"
"f 37/41 32/44 31/45 \n"
"f 37/41 31/45 29/42 \n"
"f 38/46 31/45 32/44 \n"
"f 38/46 32/44 34/47 \n"
"f 38/46 34/47 33/48 \n"
"f 38/46 33/48 31/45 \n"
"f 39/49 33/48 34/47 \n"
"f 39/49 34/47 36/50 \n"
"f 39/49 36/50 35/51 \n"
"f 39/49 35/51 33/48 \n"
"f 40/52 35/51 36/50 \n"
"f 40/52 36/50 30/53 \n"
"f 40/52 30/53 29/54 \n"
"f 40/52 29/54 35/51 \n"
"f 41/55 30/43 36/56 \n"
"f 41/55 36/56 34/57 \n"
"f 41/55 34/57 32/44 \n"
"f 41/55 32/44 30/43 \n"
"f 42/58 35/59 29/42 \n"
"f 42/58 29/42 31/45 \n"
"f 42/58 31/45 33/60 \n"
"f 42/58 33/60 35/59 \n"
"\n"
"t crease 2/1/0 30 28 4.5\n"
"t crease 2/1/0 28 34 4.5\n"
"\n"
"#\n"
"# Shape 4: bottom-right\n"
"#\n"
"v 1.250 -0.500 -0.250\n"
"v 1.250 0.500 -0.250\n"
"v 0.250 -0.500 -0.250\n"
"v 0.250 0.500 -0.250\n"
"v 0.250 -0.500 -1.250\n"
"v 0.250 0.500 -1.250\n"
"v 1.250 -0.500 -1.250\n"
"v 1.250 0.500 -1.250\n"
"v 0.750 0.000 -0.250\n"
"v 0.250 0.000 -0.750\n"
"v 0.750 0.000 -1.250\n"
"v 1.250 0.000 -0.750\n"
"v 0.750 0.500 -0.750\n"
"v 0.750 -0.500 -0.750\n"
"\n"
"vt 0.750 0.100\n"
"vt 0.700 0.050\n"
"vt 0.800 0.050\n"
"vt 0.800 0.150\n"
"vt 0.700 0.150\n"
"vt 0.750 0.200\n"
"vt 0.800 0.250\n"
"vt 0.700 0.250\n"
"vt 0.750 0.300\n"
"vt 0.800 0.350\n"
"vt 0.700 0.350\n"
"vt 0.750 0.400\n"
"vt 0.800 0.450\n"
"vt 0.700 0.450\n"
"vt 0.850 0.100\n"
"vt 0.900 0.050\n"
"vt 0.900 0.150\n"
"vt 0.650 0.100\n"
"vt 0.600 0.050\n"
"vt 0.600 0.150\n"
"\n"
"f 51/61 43/62 44/63 \n"
"f 51/61 44/63 46/64 \n"
"f 51/61 46/64 45/65 \n"
"f 51/61 45/65 43/62 \n"
"f 52/66 45/65 46/64 \n"
"f 52/66 46/64 48/67 \n"
"f 52/66 48/67 47/68 \n"
"f 52/66 47/68 45/65 \n"
"f 53/69 47/68 48/67 \n"
"f 53/69 48/67 50/70 \n"
"f 53/69 50/70 49/71 \n"
"f 53/69 49/71 47/68 \n"
"f 54/72 49/71 50/70 \n"
"f 54/72 50/70 44/73 \n"
"f 54/72 44/73 43/74 \n"
"f 54/72 43/74 49/71 \n"
"f 55/75 44/63 50/76 \n"
"f 55/75 50/76 48/77 \n"
"f 55/75 48/77 46/64 \n"
"f 55/75 46/64 44/63 \n"
"f 56/78 49/79 43/62 \n"
"f 56/78 43/62 45/65 \n"
"f 56/78 45/65 47/80 \n"
"f 56/78 47/80 49/79 \n"
"\n"
"t crease 2/1/0 42 43 0.0\n"
"t crease 2/1/0 43 45 7.0\n"
"t crease 2/1/0 45 44 7.0\n"
"t crease 2/1/0 44 42 7.0\n"
"t crease 2/1/0 46 47 7.0\n"
"t crease 2/1/0 47 49 7.0\n"
"t crease 2/1/0 49 48 7.0\n"
"t crease 2/1/0 48 46 7.0\n"
"t crease 2/1/0 42 48 7.0\n"
"t crease 2/1/0 43 49 7.0\n"
"t crease 2/1/0 44 46 7.0\n"
"t crease 2/1/0 45 47 7.0\n"
"\n"
;

View File

@ -0,0 +1,98 @@
//
// Copyright 2018 DreamWorks Animation LLC.
//
// Licensed under the Apache License, Version 2.0 (the "Apache License")
// with the following modification; you may not use this file except in
// compliance with the Apache License and the following modification to it:
// Section 6. Trademarks. is deleted and replaced with:
//
// 6. Trademarks. This License does not grant permission to use the trade
// names, trademarks, service marks, or product names of the Licensor
// and its affiliates, except as required to comply with Section 4(c) of
// the License and to reproduce the content of the NOTICE file.
//
// You may obtain a copy of the Apache License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the Apache License with the above modification is
// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the Apache License for the specific
// language governing permissions and limitations under the Apache License.
//
static const std::string loop_fvar_bound0 =
"\n"
"v 0.0 0 1.0\n"
"v -0.433 0 0.75\n"
"v 0.0 0 0.5\n"
"v -0.866 0 0.5\n"
"v -0.433 0 0.25\n"
"v 0.433 0 0.75\n"
"v -0.866 0 0.0\n"
"v 0.433 0 0.25\n"
"v 0.0 -0.5 0.0\n"
"v -0.433 0 -0.25\n"
"v 0.866 0 0.5\n"
"v 0.866 0 0.0\n"
"v 0.433 0 -0.25\n"
"v 0.0 0 -0.5\n"
"v -0.866 0 -0.5\n"
"v -0.433 0 -0.75\n"
"v 0.866 0 -0.5\n"
"v 0.433 0 -0.75\n"
"v 0.0 0 -1.0\n"
"\n"
"vt 0.45 0.92\n"
"vt 0.30 0.85\n"
"vt 0.50 0.75\n"
"vt 0.10 0.75\n"
"vt 0.30 0.65\n"
"vt 0.70 0.85\n"
"vt 0.10 0.65\n"
"vt 0.10 0.45\n"
"vt 0.30 0.55\n"
"vt 0.70 0.65\n"
"vt 0.50 0.55\n"
"vt 0.30 0.35\n"
"vt 0.90 0.75\n"
"vt 0.50 0.45\n"
"vt 0.90 0.65\n"
"vt 0.70 0.55\n"
"vt 0.90 0.45\n"
"vt 0.70 0.35\n"
"vt 0.50 0.25\n"
"vt 0.10 0.25\n"
"vt 0.30 0.15\n"
"vt 0.90 0.25\n"
"vt 0.70 0.15\n"
"vt 0.50 0.05\n"
"vt 0.55 0.92\n"
"\n"
"f 1/1 2/2 3/3 \n"
"f 2/2 4/4 5/5 \n"
"f 1/25 3/3 6/6 \n"
"f 2/2 5/5 3/3 \n"
"f 4/7 7/8 5/9 \n"
"f 6/6 3/3 8/10 \n"
"f 3/3 5/5 9/11 \n"
"f 5/9 7/8 10/12 \n"
"f 6/6 8/10 11/13 \n"
"f 3/3 9/11 8/10 \n"
"f 5/9 10/12 9/14 \n"
"f 11/15 8/16 12/17 \n"
"f 8/16 9/14 13/18 \n"
"f 9/14 10/12 14/19 \n"
"f 8/16 13/18 12/17 \n"
"f 9/14 14/19 13/18 \n"
"f 7/8 15/20 10/12 \n"
"f 10/12 15/20 16/21 \n"
"f 10/12 16/21 14/19 \n"
"f 12/17 13/18 17/22 \n"
"f 13/18 14/19 18/23 \n"
"f 14/19 16/21 19/24 \n"
"f 13/18 18/23 17/22 \n"
"f 14/19 19/24 18/23 \n"
"\n"
;

View File

@ -0,0 +1,101 @@
//
// Copyright 2018 DreamWorks Animation LLC.
//
// Licensed under the Apache License, Version 2.0 (the "Apache License")
// with the following modification; you may not use this file except in
// compliance with the Apache License and the following modification to it:
// Section 6. Trademarks. is deleted and replaced with:
//
// 6. Trademarks. This License does not grant permission to use the trade
// names, trademarks, service marks, or product names of the Licensor
// and its affiliates, except as required to comply with Section 4(c) of
// the License and to reproduce the content of the NOTICE file.
//
// You may obtain a copy of the Apache License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the Apache License with the above modification is
// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the Apache License for the specific
// language governing permissions and limitations under the Apache License.
//
static const std::string loop_fvar_bound1 =
"\n"
"v 0.0 0 1.0\n"
"v -0.433 0 0.75\n"
"v 0.0 0 0.5\n"
"v -0.866 0 0.5\n"
"v -0.433 0 0.25\n"
"v 0.433 0 0.75\n"
"v -0.866 0 0.0\n"
"v 0.433 0 0.25\n"
"v 0.0 -0.5 0.0\n"
"v -0.433 0 -0.25\n"
"v 0.866 0 0.5\n"
"v 0.866 0 0.0\n"
"v 0.433 0 -0.25\n"
"v 0.0 0 -0.5\n"
"v -0.866 0 -0.5\n"
"v -0.433 0 -0.75\n"
"v 0.866 0 -0.5\n"
"v 0.433 0 -0.75\n"
"v 0.0 0 -1.0\n"
"\n"
"vt 0.45 0.92\n"
"vt 0.3 0.85\n"
"vt 0.5 0.75\n"
"vt 0.10 0.75\n"
"vt 0.3 0.65\n"
"vt 0.7 0.85\n"
"vt 0.05 0.65\n"
"vt 0.05 0.45\n"
"vt 0.25 0.55\n"
"vt 0.7 0.65\n"
"vt 0.5 0.55\n"
"vt 0.25 0.35\n"
"vt 0.9 0.75\n"
"vt 0.45 0.45\n"
"vt 0.95 0.65\n"
"vt 0.75 0.55\n"
"vt 0.95 0.45\n"
"vt 0.55 0.45\n"
"vt 0.75 0.35\n"
"vt 0.45 0.25\n"
"vt 0.55 0.25\n"
"vt 0.05 0.25\n"
"vt 0.25 0.15\n"
"vt 0.95 0.25\n"
"vt 0.75 0.15\n"
"vt 0.45 0.05\n"
"vt 0.55 0.05\n"
"vt 0.55 0.92\n"
"\n"
"f 1/1 2/2 3/3 \n"
"f 2/2 4/4 5/5 \n"
"f 1/28 3/3 6/6 \n"
"f 2/2 5/5 3/3 \n"
"f 4/7 7/8 5/9 \n"
"f 6/6 3/3 8/10 \n"
"f 3/3 5/5 9/11 \n"
"f 5/9 7/8 10/12 \n"
"f 6/6 8/10 11/13 \n"
"f 3/3 9/11 8/10 \n"
"f 5/9 10/12 9/14 \n"
"f 11/15 8/16 12/17 \n"
"f 8/16 9/18 13/19 \n"
"f 9/14 10/12 14/20 \n"
"f 8/16 13/19 12/17 \n"
"f 9/18 14/21 13/19 \n"
"f 7/8 15/22 10/12 \n"
"f 10/12 15/22 16/23 \n"
"f 10/12 16/23 14/20 \n"
"f 12/17 13/19 17/24 \n"
"f 13/19 14/21 18/25 \n"
"f 14/20 16/23 19/26 \n"
"f 13/19 18/25 17/24 \n"
"f 14/21 19/27 18/25 \n"
"\n"
;

View File

@ -0,0 +1,103 @@
//
// Copyright 2018 DreamWorks Animation LLC.
//
// Licensed under the Apache License, Version 2.0 (the "Apache License")
// with the following modification; you may not use this file except in
// compliance with the Apache License and the following modification to it:
// Section 6. Trademarks. is deleted and replaced with:
//
// 6. Trademarks. This License does not grant permission to use the trade
// names, trademarks, service marks, or product names of the Licensor
// and its affiliates, except as required to comply with Section 4(c) of
// the License and to reproduce the content of the NOTICE file.
//
// You may obtain a copy of the Apache License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the Apache License with the above modification is
// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the Apache License for the specific
// language governing permissions and limitations under the Apache License.
//
static const std::string loop_fvar_bound2 =
"\n"
"v -1.0 0.0 -0.0\n"
"v -0.75 0.0 -0.433\n"
"v -0.5 0.0 -0.0\n"
"v -0.5 0.0 -0.866\n"
"v -0.25 0.0 -0.433\n"
"v -0.75 0.0 0.433\n"
"v 0.0 0.0 -0.866\n"
"v -0.25 0.0 0.433\n"
"v 0.0 -0.5 0.0\n"
"v 0.25 0.0 -0.433\n"
"v -0.5 0.0 0.866\n"
"v 0.0 0.0 0.866\n"
"v 0.25 0.0 0.433\n"
"v 0.5 0.0 0.0\n"
"v 0.5 0.0 -0.866\n"
"v 0.75 0.0 -0.433\n"
"v 0.5 0.0 0.866\n"
"v 0.75 0.0 0.433\n"
"v 1.0 0.0 0.0\n"
"\n"
"vt 0.05 0.55\n"
"vt 0.162 0.2\n"
"vt 0.275 0.3\n"
"vt 0.275 0.05\n"
"vt 0.387 0.2\n"
"vt 0.05 0.65\n"
"vt 0.275 0.4\n"
"vt 0.163 0.8\n"
"vt 0.5 0.05\n"
"vt 0.388 0.8\n"
"vt 0.5 0.55\n"
"vt 0.612 0.2\n"
"vt 0.275 0.95\n"
"vt 0.5 0.65\n"
"vt 0.5 0.95\n"
"vt 0.613 0.8\n"
"vt 0.725 0.3\n"
"vt 0.725 0.4\n"
"vt 0.725 0.05\n"
"vt 0.837 0.2\n"
"vt 0.725 0.95\n"
"vt 0.838 0.8\n"
"vt 0.95 0.55\n"
"vt 0.95 0.65\n"
"\n"
"f 1/1 2/2 3/3 \n"
"f 2/2 4/4 5/5 \n"
"f 1/6 3/7 6/8 \n"
"f 2/2 5/5 3/3 \n"
"f 4/4 7/9 5/5 \n"
"f 6/8 3/7 8/10 \n"
"f 3/3 5/5 9/11 \n"
"f 5/5 7/9 10/12 \n"
"f 6/8 8/10 11/13 \n"
"f 3/7 9/14 8/10 \n"
"f 5/5 10/12 9/11 \n"
"f 11/13 8/10 12/15 \n"
"f 8/10 9/14 13/16 \n"
"f 9/11 10/12 14/17 \n"
"f 8/10 13/16 12/15 \n"
"f 9/14 14/18 13/16 \n"
"f 7/9 15/19 10/12 \n"
"f 10/12 15/19 16/20 \n"
"f 10/12 16/20 14/17 \n"
"f 12/15 13/16 17/21 \n"
"f 13/16 14/18 18/22 \n"
"f 14/17 16/20 19/23 \n"
"f 13/16 18/22 17/21 \n"
"f 14/18 19/24 18/22 \n"
"\n"
"t corner 1/1/0 0 0.9\n"
"t corner 1/1/0 2 0.9\n"
"t corner 1/1/0 8 2.1\n"
"t corner 1/1/0 13 0.1\n"
"t corner 1/1/0 18 0.1\n"
"\n"
;

View File

@ -0,0 +1,94 @@
//
// Copyright 2018 DreamWorks Animation LLC.
//
// Licensed under the Apache License, Version 2.0 (the "Apache License")
// with the following modification; you may not use this file except in
// compliance with the Apache License and the following modification to it:
// Section 6. Trademarks. is deleted and replaced with:
//
// 6. Trademarks. This License does not grant permission to use the trade
// names, trademarks, service marks, or product names of the Licensor
// and its affiliates, except as required to comply with Section 4(c) of
// the License and to reproduce the content of the NOTICE file.
//
// You may obtain a copy of the Apache License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the Apache License with the above modification is
// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the Apache License for the specific
// language governing permissions and limitations under the Apache License.
//
static const std::string loop_fvar_bound3 =
"\n"
"v -1.0 0.0 -0.0\n"
"v -0.75 0.0 -0.433\n"
"v -0.5 0.0 -0.0\n"
"v -0.5 0.0 -0.866\n"
"v -0.25 0.0 -0.433\n"
"v -0.75 0.0 0.433\n"
"v -0.0 0.0 -0.866\n"
"v -0.25 0.0 0.433\n"
"v 0.0 -0.5 0.0\n"
"v 0.25 0.0 -0.433\n"
"v -0.50 0.0 0.866\n"
"v 0.0 0.0 0.866\n"
"v 0.25 0.0 0.433\n"
"v 0.5 0.0 0.0\n"
"v 0.5 0.0 -0.866\n"
"v 0.75 0.0 -0.433\n"
"v 0.5 0.0 0.866\n"
"v 0.75 0.0 0.433\n"
"v 1.0 0.0 0.0\n"
"\n"
"vt 0.0 0.5\n"
"vt 0.125 0.282\n"
"vt 0.25 0.5\n"
"vt 0.25 0.065\n"
"vt 0.375 0.282\n"
"vt 0.125 0.717\n"
"vt 0.5 0.065\n"
"vt 0.375 0.717\n"
"vt 0.5 0.5\n"
"vt 0.625 0.283\n"
"vt 0.25 0.935\n"
"vt 0.5 0.935\n"
"vt 0.625 0.718\n"
"vt 0.75 0.5\n"
"vt 0.75 0.065\n"
"vt 0.875 0.283\n"
"vt 0.75 0.935\n"
"vt 0.875 0.718\n"
"vt 1.0 0.5\n"
"vt 0.550 0.935\n"
"vt 0.875 0.750\n"
"\n"
"f 1/1 2/2 3/3 \n"
"f 2/2 4/4 5/5 \n"
"f 1/1 3/3 6/6 \n"
"f 2/2 5/5 3/3 \n"
"f 4/4 7/7 5/5 \n"
"f 6/6 3/3 8/8 \n"
"f 3/3 5/5 9/9 \n"
"f 5/5 7/7 10/10 \n"
"f 6/6 8/8 11/11 \n"
"f 3/3 9/9 8/8 \n"
"f 5/5 10/10 9/9 \n"
"f 11/11 8/8 12/12 \n"
"f 8/8 9/9 13/13 \n"
"f 9/9 10/10 14/14 \n"
"f 8/8 13/13 12/12 \n"
"f 9/9 14/14 13/13 \n"
"f 7/7 15/15 10/10 \n"
"f 10/10 15/15 16/16 \n"
"f 10/10 16/16 14/14 \n"
"f 12/20 13/13 17/17 \n"
"f 13/13 14/14 18/18 \n"
"f 14/14 16/16 19/19 \n"
"f 13/13 18/21 17/17 \n"
"f 14/14 19/19 18/18 \n"
"\n"
;

View File

@ -0,0 +1,292 @@
//
// Copyright 2018 DreamWorks Animation LLC.
//
// Licensed under the Apache License, Version 2.0 (the "Apache License")
// with the following modification; you may not use this file except in
// compliance with the Apache License and the following modification to it:
// Section 6. Trademarks. is deleted and replaced with:
//
// 6. Trademarks. This License does not grant permission to use the trade
// names, trademarks, service marks, or product names of the Licensor
// and its affiliates, except as required to comply with Section 4(c) of
// the License and to reproduce the content of the NOTICE file.
//
// You may obtain a copy of the Apache License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the Apache License with the above modification is
// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the Apache License for the specific
// language governing permissions and limitations under the Apache License.
//
static const std::string loop_icos_infsharp =
"#\n"
"# Four shapes ordered left->right and top->bottom in the XZ and UV planes\n"
"#\n"
"# Shape 1: top-left\n"
"#\n"
"v -0.112012 0.000000 0.355702\n"
"v -0.112012 0.000000 1.144298\n"
"v -1.387988 0.000000 1.144298\n"
"v -1.387988 0.000000 0.355702\n"
"v -0.750000 -0.394298 1.387988\n"
"v -0.750000 0.394298 1.387988\n"
"v -0.750000 0.394298 0.112012\n"
"v -0.750000 -0.394298 0.112012\n"
"v -1.144298 -0.637988 0.750000\n"
"v -0.355702 -0.637988 0.750000\n"
"v -0.355702 0.637988 0.750000\n"
"v -1.144298 0.637988 0.750000\n"
"\n"
"vt 0.413636 0.783333\n"
"vt 0.377273 0.850000\n"
"vt 0.340909 0.783333\n"
"vt 0.377273 0.716667\n"
"vt 0.268182 0.783333\n"
"vt 0.304546 0.716667\n"
"vt 0.304546 0.850000\n"
"vt 0.122727 0.783333\n"
"vt 0.050000 0.783333\n"
"vt 0.086364 0.716667\n"
"vt 0.086364 0.850000\n"
"vt 0.450000 0.716667\n"
"vt 0.231818 0.716667\n"
"vt 0.195454 0.783333\n"
"vt 0.159091 0.716667\n"
"vt 0.195454 0.650000\n"
"vt 0.122727 0.650000\n"
"vt 0.268182 0.650000\n"
"vt 0.159091 0.850000\n"
"vt 0.413636 0.650000\n"
"vt 0.340909 0.650000\n"
"vt 0.231818 0.850000\n"
"\n"
"f 2/1 10/2 1/3 \n"
"f 1/3 11/4 2/1 \n"
"f 1/3 8/5 7/6 \n"
"f 1/3 7/6 11/4 \n"
"f 1/3 10/7 8/5 \n"
"f 5/8 2/9 6/10 \n"
"f 10/11 2/9 5/8 \n"
"f 2/1 11/4 6/12 \n"
"f 4/13 9/14 3/15 \n"
"f 3/15 12/16 4/13 \n"
"f 5/8 6/10 3/15 \n"
"f 3/15 9/14 5/8 \n"
"f 6/10 12/17 3/15 \n"
"f 7/6 8/5 4/13 \n"
"f 4/13 12/18 7/6 \n"
"f 4/13 8/5 9/14 \n"
"f 5/8 9/14 10/19 \n"
"f 6/12 11/4 12/20 \n"
"f 7/6 12/21 11/4 \n"
"f 8/5 10/22 9/14 \n"
"\n"
"t corner 1/1/0 4 10.0\n"
"\n"
"#\n"
"# Shape 2: top-right\n"
"#\n"
"v 1.387988 0.000000 0.355702\n"
"v 1.387988 0.000000 1.144298\n"
"v 0.112012 0.000000 1.144298\n"
"v 0.112012 0.000000 0.355702\n"
"v 0.750000 -0.394298 1.387988\n"
"v 0.750000 0.394298 1.387988\n"
"v 0.750000 0.394298 0.112012\n"
"v 0.750000 -0.394298 0.112012\n"
"v 0.355702 -0.637988 0.750000\n"
"v 1.144298 -0.637988 0.750000\n"
"v 1.144298 0.637988 0.750000\n"
"v 0.355702 0.637988 0.750000\n"
"\n"
"vt 0.913636 0.783333\n"
"vt 0.877273 0.850000\n"
"vt 0.840909 0.783333\n"
"vt 0.877273 0.716667\n"
"vt 0.768182 0.783333\n"
"vt 0.804546 0.716667\n"
"vt 0.804546 0.850000\n"
"vt 0.622727 0.783333\n"
"vt 0.550000 0.783333\n"
"vt 0.586364 0.716667\n"
"vt 0.586364 0.850000\n"
"vt 0.950000 0.716667\n"
"vt 0.731818 0.716667\n"
"vt 0.695454 0.783333\n"
"vt 0.659091 0.716667\n"
"vt 0.695454 0.650000\n"
"vt 0.622727 0.650000\n"
"vt 0.768182 0.650000\n"
"vt 0.659091 0.850000\n"
"vt 0.913636 0.650000\n"
"vt 0.840909 0.650000\n"
"vt 0.731818 0.850000\n"
"\n"
"f 14/23 22/24 13/25 \n"
"f 13/25 23/26 14/23 \n"
"f 13/25 20/27 19/28 \n"
"f 13/25 19/28 23/26 \n"
"f 13/25 22/29 20/27 \n"
"f 17/30 14/31 18/32 \n"
"f 22/33 14/31 17/30 \n"
"f 14/23 23/26 18/34 \n"
"f 16/35 21/36 15/37 \n"
"f 15/37 24/38 16/35 \n"
"f 17/30 18/32 15/37 \n"
"f 15/37 21/36 17/30 \n"
"f 18/32 24/39 15/37 \n"
"f 19/28 20/27 16/35 \n"
"f 16/35 24/40 19/28 \n"
"f 16/35 20/27 21/36 \n"
"f 17/30 21/36 22/41 \n"
"f 18/34 23/26 24/42 \n"
"f 19/28 24/43 23/26 \n"
"f 20/27 22/44 21/36 \n"
"\n"
"t crease 2/1/0 14 16 10.0\n"
"t crease 2/1/0 16 13 10.0\n"
"\n"
"#\n"
"# Shape 3: bottom-left\n"
"#\n"
"v -0.112012 0.000000 -1.144298\n"
"v -0.112012 0.000000 -0.355702\n"
"v -1.387988 0.000000 -0.355702\n"
"v -1.387988 0.000000 -1.144298\n"
"v -0.750000 -0.394298 -0.112012\n"
"v -0.750000 0.394298 -0.112012\n"
"v -0.750000 0.394298 -1.387988\n"
"v -0.750000 -0.394298 -1.387988\n"
"v -1.144298 -0.637988 -0.750000\n"
"v -0.355702 -0.637988 -0.750000\n"
"v -0.355702 0.637988 -0.750000\n"
"v -1.144298 0.637988 -0.750000\n"
"\n"
"vt 0.413636 0.283333\n"
"vt 0.377273 0.350000\n"
"vt 0.340909 0.283333\n"
"vt 0.377273 0.216667\n"
"vt 0.268182 0.283333\n"
"vt 0.304546 0.216667\n"
"vt 0.304546 0.350000\n"
"vt 0.122727 0.283333\n"
"vt 0.050000 0.283333\n"
"vt 0.086364 0.216667\n"
"vt 0.086364 0.350000\n"
"vt 0.450000 0.216667\n"
"vt 0.231818 0.216667\n"
"vt 0.195454 0.283333\n"
"vt 0.159091 0.216667\n"
"vt 0.195454 0.150000\n"
"vt 0.122727 0.150000\n"
"vt 0.268182 0.150000\n"
"vt 0.159091 0.350000\n"
"vt 0.413636 0.150000\n"
"vt 0.340909 0.150000\n"
"vt 0.231818 0.350000\n"
"\n"
"f 26/45 34/46 25/47 \n"
"f 25/47 35/48 26/45 \n"
"f 25/47 32/49 31/50 \n"
"f 25/47 31/50 35/48 \n"
"f 25/47 34/51 32/49 \n"
"f 29/52 26/53 30/54 \n"
"f 34/55 26/53 29/52 \n"
"f 26/45 35/48 30/56 \n"
"f 28/57 33/58 27/59 \n"
"f 27/59 36/60 28/57 \n"
"f 29/52 30/54 27/59 \n"
"f 27/59 33/58 29/52 \n"
"f 30/54 36/61 27/59 \n"
"f 31/50 32/49 28/57 \n"
"f 28/57 36/62 31/50 \n"
"f 28/57 32/49 33/58 \n"
"f 29/52 33/58 34/63 \n"
"f 30/56 35/48 36/64 \n"
"f 31/50 36/65 35/48 \n"
"f 32/49 34/66 33/58 \n"
"\n"
"t crease 2/1/0 25 29 10.0\n"
"t crease 2/1/0 29 26 10.0\n"
"t crease 2/1/0 26 32 10.0\n"
"t crease 2/1/0 32 33 10.0\n"
"t crease 2/1/0 33 25 10.0\n"
"\n"
"#\n"
"# Shape 4: bottom-right\n"
"#\n"
"v 1.387988 0.000000 -1.144298\n"
"v 1.387988 0.000000 -0.355702\n"
"v 0.112012 0.000000 -0.355702\n"
"v 0.112012 0.000000 -1.144298\n"
"v 0.750000 -0.394298 -0.112012\n"
"v 0.750000 0.394298 -0.112012\n"
"v 0.750000 0.394298 -1.387988\n"
"v 0.750000 -0.394298 -1.387988\n"
"v 0.355702 -0.637988 -0.750000\n"
"v 1.144298 -0.637988 -0.750000\n"
"v 1.144298 0.637988 -0.750000\n"
"v 0.355702 0.637988 -0.750000\n"
"\n"
"vt 0.913636 0.283333\n"
"vt 0.877273 0.350000\n"
"vt 0.840909 0.283333\n"
"vt 0.877273 0.216667\n"
"vt 0.768182 0.283333\n"
"vt 0.804546 0.216667\n"
"vt 0.804546 0.350000\n"
"vt 0.622727 0.283333\n"
"vt 0.550000 0.283333\n"
"vt 0.586364 0.216667\n"
"vt 0.586364 0.350000\n"
"vt 0.950000 0.216667\n"
"vt 0.731818 0.216667\n"
"vt 0.695454 0.283333\n"
"vt 0.659091 0.216667\n"
"vt 0.695454 0.150000\n"
"vt 0.622727 0.150000\n"
"vt 0.768182 0.150000\n"
"vt 0.659091 0.350000\n"
"vt 0.913636 0.150000\n"
"vt 0.840909 0.150000\n"
"vt 0.731818 0.350000\n"
"\n"
"f 38/67 46/68 37/69 \n"
"f 37/69 47/70 38/67 \n"
"f 37/69 44/71 43/72 \n"
"f 37/69 43/72 47/70 \n"
"f 37/69 46/73 44/71 \n"
"f 41/74 38/75 42/76 \n"
"f 46/77 38/75 41/74 \n"
"f 38/67 47/70 42/78 \n"
"f 40/79 45/80 39/81 \n"
"f 39/81 48/82 40/79 \n"
"f 41/74 42/76 39/81 \n"
"f 39/81 45/80 41/74 \n"
"f 42/76 48/83 39/81 \n"
"f 43/72 44/71 40/79 \n"
"f 40/79 48/84 43/72 \n"
"f 40/79 44/71 45/80 \n"
"f 41/74 45/80 46/85 \n"
"f 42/78 47/70 48/86 \n"
"f 43/72 48/87 47/70 \n"
"f 44/71 46/88 45/80 \n"
"\n"
"t crease 2/1/0 37 41 10.0\n"
"t crease 2/1/0 41 38 10.0\n"
"t crease 2/1/0 38 44 10.0\n"
"t crease 2/1/0 44 45 10.0\n"
"t crease 2/1/0 45 37 10.0\n"
"t crease 2/1/0 36 46 10.0\n"
"t crease 2/1/0 46 47 10.0\n"
"t crease 2/1/0 47 39 10.0\n"
"t crease 2/1/0 39 43 10.0\n"
"t crease 2/1/0 43 36 10.0\n"
"\n"
"t interpolateboundary 1/0/0 2\n"
"\n"
;

View File

@ -0,0 +1,291 @@
//
// Copyright 2018 DreamWorks Animation LLC.
//
// Licensed under the Apache License, Version 2.0 (the "Apache License")
// with the following modification; you may not use this file except in
// compliance with the Apache License and the following modification to it:
// Section 6. Trademarks. is deleted and replaced with:
//
// 6. Trademarks. This License does not grant permission to use the trade
// names, trademarks, service marks, or product names of the Licensor
// and its affiliates, except as required to comply with Section 4(c) of
// the License and to reproduce the content of the NOTICE file.
//
// You may obtain a copy of the Apache License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the Apache License with the above modification is
// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the Apache License for the specific
// language governing permissions and limitations under the Apache License.
//
static const std::string loop_icos_semisharp =
"#\n"
"# Four shapes ordered left->right and top->bottom in the XZ and UV planes\n"
"#\n"
"# Shape 1: top-left\n"
"#\n"
"v -0.112012 0.000000 0.355702\n"
"v -0.112012 0.000000 1.144298\n"
"v -1.387988 0.000000 1.144298\n"
"v -1.387988 0.000000 0.355702\n"
"v -0.750000 -0.394298 1.387988\n"
"v -0.750000 0.394298 1.387988\n"
"v -0.750000 0.394298 0.112012\n"
"v -0.750000 -0.394298 0.112012\n"
"v -1.144298 -0.637988 0.750000\n"
"v -0.355702 -0.637988 0.750000\n"
"v -0.355702 0.637988 0.750000\n"
"v -1.144298 0.637988 0.750000\n"
"\n"
"vt 0.413636 0.783333\n"
"vt 0.377273 0.850000\n"
"vt 0.340909 0.783333\n"
"vt 0.377273 0.716667\n"
"vt 0.268182 0.783333\n"
"vt 0.304546 0.716667\n"
"vt 0.304546 0.850000\n"
"vt 0.122727 0.783333\n"
"vt 0.050000 0.783333\n"
"vt 0.086364 0.716667\n"
"vt 0.086364 0.850000\n"
"vt 0.450000 0.716667\n"
"vt 0.231818 0.716667\n"
"vt 0.195454 0.783333\n"
"vt 0.159091 0.716667\n"
"vt 0.195454 0.650000\n"
"vt 0.122727 0.650000\n"
"vt 0.268182 0.650000\n"
"vt 0.159091 0.850000\n"
"vt 0.413636 0.650000\n"
"vt 0.340909 0.650000\n"
"vt 0.231818 0.850000\n"
"\n"
"f 2/1 10/2 1/3 \n"
"f 1/3 11/4 2/1 \n"
"f 1/3 8/5 7/6 \n"
"f 1/3 7/6 11/4 \n"
"f 1/3 10/7 8/5 \n"
"f 5/8 2/9 6/10 \n"
"f 10/11 2/9 5/8 \n"
"f 2/1 11/4 6/12 \n"
"f 4/13 9/14 3/15 \n"
"f 3/15 12/16 4/13 \n"
"f 5/8 6/10 3/15 \n"
"f 3/15 9/14 5/8 \n"
"f 6/10 12/17 3/15 \n"
"f 7/6 8/5 4/13 \n"
"f 4/13 12/18 7/6 \n"
"f 4/13 8/5 9/14 \n"
"f 5/8 9/14 10/19 \n"
"f 6/12 11/4 12/20 \n"
"f 7/6 12/21 11/4 \n"
"f 8/5 10/22 9/14 \n"
"\n"
"t corner 1/1/0 4 2.5\n"
"\n"
"#\n"
"# Shape 2: top-right\n"
"#\n"
"v 1.387988 0.000000 0.355702\n"
"v 1.387988 0.000000 1.144298\n"
"v 0.112012 0.000000 1.144298\n"
"v 0.112012 0.000000 0.355702\n"
"v 0.750000 -0.394298 1.387988\n"
"v 0.750000 0.394298 1.387988\n"
"v 0.750000 0.394298 0.112012\n"
"v 0.750000 -0.394298 0.112012\n"
"v 0.355702 -0.637988 0.750000\n"
"v 1.144298 -0.637988 0.750000\n"
"v 1.144298 0.637988 0.750000\n"
"v 0.355702 0.637988 0.750000\n"
"\n"
"vt 0.913636 0.783333\n"
"vt 0.877273 0.850000\n"
"vt 0.840909 0.783333\n"
"vt 0.877273 0.716667\n"
"vt 0.768182 0.783333\n"
"vt 0.804546 0.716667\n"
"vt 0.804546 0.850000\n"
"vt 0.622727 0.783333\n"
"vt 0.550000 0.783333\n"
"vt 0.586364 0.716667\n"
"vt 0.586364 0.850000\n"
"vt 0.950000 0.716667\n"
"vt 0.731818 0.716667\n"
"vt 0.695454 0.783333\n"
"vt 0.659091 0.716667\n"
"vt 0.695454 0.650000\n"
"vt 0.622727 0.650000\n"
"vt 0.768182 0.650000\n"
"vt 0.659091 0.850000\n"
"vt 0.913636 0.650000\n"
"vt 0.840909 0.650000\n"
"vt 0.731818 0.850000\n"
"\n"
"f 14/23 22/24 13/25 \n"
"f 13/25 23/26 14/23 \n"
"f 13/25 20/27 19/28 \n"
"f 13/25 19/28 23/26 \n"
"f 13/25 22/29 20/27 \n"
"f 17/30 14/31 18/32 \n"
"f 22/33 14/31 17/30 \n"
"f 14/23 23/26 18/34 \n"
"f 16/35 21/36 15/37 \n"
"f 15/37 24/38 16/35 \n"
"f 17/30 18/32 15/37 \n"
"f 15/37 21/36 17/30 \n"
"f 18/32 24/39 15/37 \n"
"f 19/28 20/27 16/35 \n"
"f 16/35 24/40 19/28 \n"
"f 16/35 20/27 21/36 \n"
"f 17/30 21/36 22/41 \n"
"f 18/34 23/26 24/42 \n"
"f 19/28 24/43 23/26 \n"
"f 20/27 22/44 21/36 \n"
"\n"
"t corner 1/1/0 16 4.5\n"
"\n"
"#\n"
"# Shape 3: bottom-left\n"
"#\n"
"v -0.112012 0.000000 -1.144298\n"
"v -0.112012 0.000000 -0.355702\n"
"v -1.387988 0.000000 -0.355702\n"
"v -1.387988 0.000000 -1.144298\n"
"v -0.750000 -0.394298 -0.112012\n"
"v -0.750000 0.394298 -0.112012\n"
"v -0.750000 0.394298 -1.387988\n"
"v -0.750000 -0.394298 -1.387988\n"
"v -1.144298 -0.637988 -0.750000\n"
"v -0.355702 -0.637988 -0.750000\n"
"v -0.355702 0.637988 -0.750000\n"
"v -1.144298 0.637988 -0.750000\n"
"\n"
"vt 0.413636 0.283333\n"
"vt 0.377273 0.350000\n"
"vt 0.340909 0.283333\n"
"vt 0.377273 0.216667\n"
"vt 0.268182 0.283333\n"
"vt 0.304546 0.216667\n"
"vt 0.304546 0.350000\n"
"vt 0.122727 0.283333\n"
"vt 0.050000 0.283333\n"
"vt 0.086364 0.216667\n"
"vt 0.086364 0.350000\n"
"vt 0.450000 0.216667\n"
"vt 0.231818 0.216667\n"
"vt 0.195454 0.283333\n"
"vt 0.159091 0.216667\n"
"vt 0.195454 0.150000\n"
"vt 0.122727 0.150000\n"
"vt 0.268182 0.150000\n"
"vt 0.159091 0.350000\n"
"vt 0.413636 0.150000\n"
"vt 0.340909 0.150000\n"
"vt 0.231818 0.350000\n"
"\n"
"f 26/45 34/46 25/47 \n"
"f 25/47 35/48 26/45 \n"
"f 25/47 32/49 31/50 \n"
"f 25/47 31/50 35/48 \n"
"f 25/47 34/51 32/49 \n"
"f 29/52 26/53 30/54 \n"
"f 34/55 26/53 29/52 \n"
"f 26/45 35/48 30/56 \n"
"f 28/57 33/58 27/59 \n"
"f 27/59 36/60 28/57 \n"
"f 29/52 30/54 27/59 \n"
"f 27/59 33/58 29/52 \n"
"f 30/54 36/61 27/59 \n"
"f 31/50 32/49 28/57 \n"
"f 28/57 36/62 31/50 \n"
"f 28/57 32/49 33/58 \n"
"f 29/52 33/58 34/63 \n"
"f 30/56 35/48 36/64 \n"
"f 31/50 36/65 35/48 \n"
"f 32/49 34/66 33/58 \n"
"\n"
"t crease 2/1/0 25 29 4.5\n"
"t crease 2/1/0 29 26 4.5\n"
"t crease 2/1/0 26 32 4.5\n"
"t crease 2/1/0 32 33 4.5\n"
"t crease 2/1/0 33 25 4.5\n"
"\n"
"#\n"
"# Shape 4: bottom-right\n"
"#\n"
"v 1.387988 0.000000 -1.144298\n"
"v 1.387988 0.000000 -0.355702\n"
"v 0.112012 0.000000 -0.355702\n"
"v 0.112012 0.000000 -1.144298\n"
"v 0.750000 -0.394298 -0.112012\n"
"v 0.750000 0.394298 -0.112012\n"
"v 0.750000 0.394298 -1.387988\n"
"v 0.750000 -0.394298 -1.387988\n"
"v 0.355702 -0.637988 -0.750000\n"
"v 1.144298 -0.637988 -0.750000\n"
"v 1.144298 0.637988 -0.750000\n"
"v 0.355702 0.637988 -0.750000\n"
"\n"
"vt 0.913636 0.283333\n"
"vt 0.877273 0.350000\n"
"vt 0.840909 0.283333\n"
"vt 0.877273 0.216667\n"
"vt 0.768182 0.283333\n"
"vt 0.804546 0.216667\n"
"vt 0.804546 0.350000\n"
"vt 0.622727 0.283333\n"
"vt 0.550000 0.283333\n"
"vt 0.586364 0.216667\n"
"vt 0.586364 0.350000\n"
"vt 0.950000 0.216667\n"
"vt 0.731818 0.216667\n"
"vt 0.695454 0.283333\n"
"vt 0.659091 0.216667\n"
"vt 0.695454 0.150000\n"
"vt 0.622727 0.150000\n"
"vt 0.768182 0.150000\n"
"vt 0.659091 0.350000\n"
"vt 0.913636 0.150000\n"
"vt 0.840909 0.150000\n"
"vt 0.731818 0.350000\n"
"\n"
"f 38/67 46/68 37/69 \n"
"f 37/69 47/70 38/67 \n"
"f 37/69 44/71 43/72 \n"
"f 37/69 43/72 47/70 \n"
"f 37/69 46/73 44/71 \n"
"f 41/74 38/75 42/76 \n"
"f 46/77 38/75 41/74 \n"
"f 38/67 47/70 42/78 \n"
"f 40/79 45/80 39/81 \n"
"f 39/81 48/82 40/79 \n"
"f 41/74 42/76 39/81 \n"
"f 39/81 45/80 41/74 \n"
"f 42/76 48/83 39/81 \n"
"f 43/72 44/71 40/79 \n"
"f 40/79 48/84 43/72 \n"
"f 40/79 44/71 45/80 \n"
"f 41/74 45/80 46/85 \n"
"f 42/78 47/70 48/86 \n"
"f 43/72 48/87 47/70 \n"
"f 44/71 46/88 45/80 \n"
"\n"
"t crease 2/1/0 37 41 4.5\n"
"t crease 2/1/0 41 38 4.5\n"
"t crease 2/1/0 38 44 4.5\n"
"t crease 2/1/0 44 45 4.5\n"
"t crease 2/1/0 45 37 4.5\n"
"t crease 2/1/0 36 46 4.5\n"
"t crease 2/1/0 46 47 4.5\n"
"t crease 2/1/0 47 39 4.5\n"
"t crease 2/1/0 39 43 4.5\n"
"t crease 2/1/0 43 36 4.5\n"
"\n"
"t interpolateboundary 1/0/0 2\n"
"\n"
;

View File

@ -23,23 +23,16 @@
//
static const std::string loop_triangle_edgecorner =
"# This file uses centimeters as units for non-parametric coordinates.\n"
"v 0 0 0.866\n"
"v -1 0 -0.866\n"
"v 1 0 -0.866\n"
"\n"
"vt 0.5 0.866\n"
"vt 0.0 0.0\n"
"vt 1.0 0.0\n"
"\n"
"f 1/1 2/2 3/3\n"
"\n"
"mtllib triangle.mtl\n"
"g default\n"
"v 0.000000 1.500000 0.000000\n"
"v -2.000000 -1.500000 0.000000\n"
"v 2.000000 -1.500000 0.000000\n"
"vt 0.000000 0.000000\n"
"vt 1.000000 0.000000\n"
"vt 0.384615 0.923077\n"
"vn 0.000000 0.000000 1.000000\n"
"vn 0.000000 0.000000 1.000000\n"
"vn 0.000000 0.000000 1.000000\n"
"s off\n"
"g polySurface1\n"
"usemtl initialShadingGroup\n"
"f 1/1/1 2/2/2 3/3/3\n"
"t interpolateboundary 1/0/0 1\n"
"\n"
;

View File

@ -23,23 +23,39 @@
//
static const std::string loop_triangle_edgeonly =
"# This file uses centimeters as units for non-parametric coordinates.\n"
"v 0.0 0.0 0.966\n"
"v -0.5 0.0 0.1\n"
"v 0.5 0.0 0.1\n"
"\n"
"v -0.6 0.0 -0.234\n"
"v -1.1 0.0 -1.1\n"
"v -0.1 0.0 -1.1\n"
"\n"
"v 0.6 0.0 -0.234\n"
"v 0.1 0.0 -1.1\n"
"v 1.1 0.0 -1.1\n"
"\n"
"vt 0.5 0.933\n"
"vt 0.25 0.5\n"
"vt 0.75 0.5\n"
"vt 0.25 0.433\n"
"vt 0.0 0.0\n"
"vt 0.5 0.0\n"
"vt 0.75 0.433\n"
"vt 0.5 0.0\n"
"vt 1.0 0.0\n"
"\n"
"f 1/1 2/2 3/3\n"
"f 4/4 5/5 6/6\n"
"f 7/7 8/8 9/9\n"
"\n"
"t corner 1/1/0 4 10.0\n"
"t corner 1/1/0 5 10.0\n"
"\n"
"t corner 1/1/0 6 10.0\n"
"t corner 1/1/0 7 10.0\n"
"t corner 1/1/0 8 10.0\n"
"\n"
"mtllib triangle.mtl\n"
"g default\n"
"v 0.000000 1.500000 0.000000\n"
"v -2.000000 -1.500000 0.000000\n"
"v 2.000000 -1.500000 0.000000\n"
"vt 0.000000 0.000000\n"
"vt 1.000000 0.000000\n"
"vt 0.384615 0.923077\n"
"vn 0.000000 0.000000 1.000000\n"
"vn 0.000000 0.000000 1.000000\n"
"vn 0.000000 0.000000 1.000000\n"
"s off\n"
"g polySurface1\n"
"usemtl initialShadingGroup\n"
"f 1/1/1 2/2/2 3/3/3\n"
"t interpolateboundary 1/0/0 2\n"
"\n"
;

View File

@ -0,0 +1,334 @@
//
// Copyright 2018 DreamWorks Animation LLC.
//
// Licensed under the Apache License, Version 2.0 (the "Apache License")
// with the following modification; you may not use this file except in
// compliance with the Apache License and the following modification to it:
// Section 6. Trademarks. is deleted and replaced with:
//
// 6. Trademarks. This License does not grant permission to use the trade
// names, trademarks, service marks, or product names of the Licensor
// and its affiliates, except as required to comply with Section 4(c) of
// the License and to reproduce the content of the NOTICE file.
//
// You may obtain a copy of the Apache License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the Apache License with the above modification is
// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the Apache License for the specific
// language governing permissions and limitations under the Apache License.
//
static const std::string loop_xord_boundary =
"#\n"
"# Nine shapes ordered left->right and top->bottom in the XZ and UV planes\n"
"#\n"
"# Shape 1: top-left, valence-4 boundary\n"
"#\n"
"v -1.200 -0.5 1.200\n"
"v -0.700 0.0 1.200\n"
"v -0.846 0.0 1.554\n"
"v -1.200 0.0 1.700\n"
"v -1.554 0.0 1.554\n"
"v -1.700 0.0 1.200\n"
"\n"
"vt 0.182 0.795\n"
"vt 0.315 0.795\n"
"vt 0.276 0.905\n"
"vt 0.182 0.950\n"
"vt 0.089 0.905\n"
"vt 0.050 0.795\n"
"\n"
"f 1/1 2/2 3/3 \n"
"f 1/1 3/3 4/4 \n"
"f 1/1 4/4 5/5 \n"
"f 1/1 5/5 6/6 \n"
"\n"
"#\n"
"# Shape 2: top-middle, valence-5 boundary\n"
"#\n"
"v 0.000 -0.5 1.200\n"
"v 0.500 0.0 1.200\n"
"v 0.405 0.0 1.494\n"
"v 0.155 0.0 1.676\n"
"v -0.155 0.0 1.676\n"
"v -0.405 0.0 1.494\n"
"v -0.500 0.0 1.200\n"
"\n"
"vt 0.500 0.795\n"
"vt 0.632 0.795\n"
"vt 0.607 0.886\n"
"vt 0.541 0.942\n"
"vt 0.459 0.942\n"
"vt 0.393 0.886\n"
"vt 0.368 0.795\n"
"\n"
"f 7/7 8/8 9/9 \n"
"f 7/7 9/9 10/10 \n"
"f 7/7 10/10 11/11 \n"
"f 7/7 11/11 12/12 \n"
"f 7/7 12/12 13/13 \n"
"\n"
"#\n"
"# Shape 3: top-right, valence-6 boundary\n"
"#\n"
"v 1.200 -0.5 1.200\n"
"v 1.700 0.0 1.200\n"
"v 1.633 0.0 1.450\n"
"v 1.450 0.0 1.633\n"
"v 1.200 0.0 1.700\n"
"v 0.950 0.0 1.633\n"
"v 0.767 0.0 1.450\n"
"v 0.700 0.0 1.200\n"
"\n"
"vt 0.818 0.795\n"
"vt 0.950 0.795\n"
"vt 0.932 0.872\n"
"vt 0.884 0.929\n"
"vt 0.818 0.950\n"
"vt 0.751 0.929\n"
"vt 0.703 0.872\n"
"vt 0.685 0.795\n"
"\n"
"f 14/14 15/15 16/16 \n"
"f 14/14 16/16 17/17 \n"
"f 14/14 17/17 18/18 \n"
"f 14/14 18/18 19/19 \n"
"f 14/14 19/19 20/20 \n"
"f 14/14 20/20 21/21 \n"
"\n"
"#\n"
"# Shape 4: center-left, valence-7 boundary\n"
"#\n"
"v -1.200 -0.5 0.000\n"
"v -0.700 0.0 0.000\n"
"v -0.750 0.0 0.217\n"
"v -0.888 0.0 0.391\n"
"v -1.089 0.0 0.487\n"
"v -1.311 0.0 0.487\n"
"v -1.512 0.0 0.391\n"
"v -1.650 0.0 0.217\n"
"v -1.700 0.0 0.000\n"
"\n"
"vt 0.182 0.422\n"
"vt 0.315 0.422\n"
"vt 0.302 0.490\n"
"vt 0.265 0.544\n"
"vt 0.212 0.574\n"
"vt 0.153 0.574\n"
"vt 0.100 0.544\n"
"vt 0.063 0.490\n"
"vt 0.050 0.422\n"
"\n"
"f 22/22 23/23 24/24 \n"
"f 22/22 24/24 25/25 \n"
"f 22/22 25/25 26/26 \n"
"f 22/22 26/26 27/27 \n"
"f 22/22 27/27 28/28 \n"
"f 22/22 28/28 29/29 \n"
"f 22/22 29/29 30/30 \n"
"\n"
"#\n"
"# Shape 5: center-middle, valence-8 boundary\n"
"#\n"
"v 0.000 -0.5 0.000\n"
"v 0.500 0.0 0.000\n"
"v 0.462 0.0 0.191\n"
"v 0.354 0.0 0.354\n"
"v 0.191 0.0 0.462\n"
"v 0.000 0.0 0.500\n"
"v -0.191 0.0 0.462\n"
"v -0.354 0.0 0.354\n"
"v -0.462 0.0 0.191\n"
"v -0.500 0.0 0.000\n"
"\n"
"vt 0.500 0.422\n"
"vt 0.632 0.422\n"
"vt 0.622 0.482\n"
"vt 0.594 0.532\n"
"vt 0.551 0.566\n"
"vt 0.500 0.578\n"
"vt 0.449 0.566\n"
"vt 0.406 0.532\n"
"vt 0.378 0.482\n"
"vt 0.368 0.422\n"
"\n"
"f 31/31 32/32 33/33 \n"
"f 31/31 33/33 34/34 \n"
"f 31/31 34/34 35/35 \n"
"f 31/31 35/35 36/36 \n"
"f 31/31 36/36 37/37 \n"
"f 31/31 37/37 38/38 \n"
"f 31/31 38/38 39/39 \n"
"f 31/31 39/39 40/40 \n"
"\n"
"#\n"
"# Shape 6: center-right, valence-9 boundary\n"
"#\n"
"v 1.200 -0.5 0.000\n"
"v 1.700 0.0 0.000\n"
"v 1.670 0.0 0.171\n"
"v 1.583 0.0 0.321\n"
"v 1.450 0.0 0.433\n"
"v 1.287 0.0 0.492\n"
"v 1.113 0.0 0.492\n"
"v 0.950 0.0 0.433\n"
"v 0.817 0.0 0.321\n"
"v 0.730 0.0 0.171\n"
"v 0.700 0.0 0.000\n"
"\n"
"vt 0.818 0.422\n"
"vt 0.950 0.422\n"
"vt 0.942 0.475\n"
"vt 0.919 0.522\n"
"vt 0.884 0.557\n"
"vt 0.841 0.575\n"
"vt 0.795 0.575\n"
"vt 0.751 0.557\n"
"vt 0.716 0.522\n"
"vt 0.693 0.475\n"
"vt 0.685 0.422\n"
"\n"
"f 41/41 42/42 43/43 \n"
"f 41/41 43/43 44/44 \n"
"f 41/41 44/44 45/45 \n"
"f 41/41 45/45 46/46 \n"
"f 41/41 46/46 47/47 \n"
"f 41/41 47/47 48/48 \n"
"f 41/41 48/48 49/49 \n"
"f 41/41 49/49 50/50 \n"
"f 41/41 50/50 51/51 \n"
"\n"
"#\n"
"# Shape 7: bottom-left, valence-10 boundary\n"
"#\n"
"v -1.200 -0.5 -1.200\n"
"v -0.700 0.0 -1.200\n"
"v -0.724 0.0 -1.045\n"
"v -0.795 0.0 -0.906\n"
"v -0.906 0.0 -0.795\n"
"v -1.045 0.0 -0.724\n"
"v -1.200 0.0 -0.700\n"
"v -1.355 0.0 -0.724\n"
"v -1.494 0.0 -0.795\n"
"v -1.605 0.0 -0.906\n"
"v -1.676 0.0 -1.045\n"
"v -1.700 0.0 -1.200\n"
"\n"
"vt 0.182 0.050\n"
"vt 0.315 0.050\n"
"vt 0.308 0.098\n"
"vt 0.289 0.141\n"
"vt 0.260 0.176\n"
"vt 0.223 0.198\n"
"vt 0.182 0.205\n"
"vt 0.141 0.198\n"
"vt 0.105 0.176\n"
"vt 0.075 0.141\n"
"vt 0.056 0.098\n"
"vt 0.050 0.050\n"
"\n"
"f 52/52 53/53 54/54 \n"
"f 52/52 54/54 55/55 \n"
"f 52/52 55/55 56/56 \n"
"f 52/52 56/56 57/57 \n"
"f 52/52 57/57 58/58 \n"
"f 52/52 58/58 59/59 \n"
"f 52/52 59/59 60/60 \n"
"f 52/52 60/60 61/61 \n"
"f 52/52 61/61 62/62 \n"
"f 52/52 62/62 63/63 \n"
"\n"
"#\n"
"# Shape 8: bottom-middle, valence-11 boundary\n"
"#\n"
"v 0.000 -0.5 -1.200\n"
"v 0.500 0.0 -1.200\n"
"v 0.480 0.0 -1.059\n"
"v 0.421 0.0 -0.930\n"
"v 0.327 0.0 -0.822\n"
"v 0.208 0.0 -0.745\n"
"v 0.071 0.0 -0.705\n"
"v -0.071 0.0 -0.705\n"
"v -0.208 0.0 -0.745\n"
"v -0.327 0.0 -0.822\n"
"v -0.421 0.0 -0.930\n"
"v -0.480 0.0 -1.059\n"
"v -0.500 0.0 -1.200\n"
"\n"
"vt 0.500 0.050\n"
"vt 0.632 0.050\n"
"vt 0.627 0.094\n"
"vt 0.611 0.134\n"
"vt 0.587 0.167\n"
"vt 0.555 0.191\n"
"vt 0.519 0.204\n"
"vt 0.481 0.204\n"
"vt 0.445 0.191\n"
"vt 0.413 0.167\n"
"vt 0.389 0.134\n"
"vt 0.373 0.094\n"
"vt 0.368 0.050\n"
"\n"
"f 64/64 65/65 66/66 \n"
"f 64/64 66/66 67/67 \n"
"f 64/64 67/67 68/68 \n"
"f 64/64 68/68 69/69 \n"
"f 64/64 69/69 70/70 \n"
"f 64/64 70/70 71/71 \n"
"f 64/64 71/71 72/72 \n"
"f 64/64 72/72 73/73 \n"
"f 64/64 73/73 74/74 \n"
"f 64/64 74/74 75/75 \n"
"f 64/64 75/75 76/76 \n"
"\n"
"#\n"
"# Shape 9: bottom-right, valence-12 boundary\n"
"#\n"
"v 1.200 -0.5 -1.200\n"
"v 1.700 0.0 -1.200\n"
"v 1.683 0.0 -1.071\n"
"v 1.633 0.0 -0.950\n"
"v 1.554 0.0 -0.846\n"
"v 1.450 0.0 -0.767\n"
"v 1.329 0.0 -0.717\n"
"v 1.200 0.0 -0.700\n"
"v 1.071 0.0 -0.717\n"
"v 0.950 0.0 -0.767\n"
"v 0.846 0.0 -0.846\n"
"v 0.767 0.0 -0.950\n"
"v 0.717 0.0 -1.071\n"
"v 0.700 0.0 -1.200\n"
"\n"
"vt 0.818 0.050\n"
"vt 0.950 0.050\n"
"vt 0.945 0.090\n"
"vt 0.932 0.128\n"
"vt 0.911 0.160\n"
"vt 0.884 0.184\n"
"vt 0.852 0.200\n"
"vt 0.818 0.205\n"
"vt 0.783 0.200\n"
"vt 0.751 0.184\n"
"vt 0.724 0.160\n"
"vt 0.703 0.128\n"
"vt 0.690 0.090\n"
"vt 0.685 0.050\n"
"\n"
"f 77/77 78/78 79/79 \n"
"f 77/77 79/79 80/80 \n"
"f 77/77 80/80 81/81 \n"
"f 77/77 81/81 82/82 \n"
"f 77/77 82/82 83/83 \n"
"f 77/77 83/83 84/84 \n"
"f 77/77 84/84 85/85 \n"
"f 77/77 85/85 86/86 \n"
"f 77/77 86/86 87/87 \n"
"f 77/77 87/87 88/88 \n"
"f 77/77 88/88 89/89 \n"
"f 77/77 89/89 90/90 \n"
"\n"
;

View File

@ -0,0 +1,307 @@
//
// Copyright 2018 DreamWorks Animation LLC.
//
// Licensed under the Apache License, Version 2.0 (the "Apache License")
// with the following modification; you may not use this file except in
// compliance with the Apache License and the following modification to it:
// Section 6. Trademarks. is deleted and replaced with:
//
// 6. Trademarks. This License does not grant permission to use the trade
// names, trademarks, service marks, or product names of the Licensor
// and its affiliates, except as required to comply with Section 4(c) of
// the License and to reproduce the content of the NOTICE file.
//
// You may obtain a copy of the Apache License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the Apache License with the above modification is
// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the Apache License for the specific
// language governing permissions and limitations under the Apache License.
//
static const std::string loop_xord_interior =
"#\n"
"# Nine shapes ordered left->right and top->bottom in the XZ and UV planes\n"
"#\n"
"# Shape 1: top-left, valence-3 ring\n"
"#\n"
"v -1.200 -0.5 1.200\n"
"v -0.700 0.0 1.200\n"
"v -1.450 0.0 1.633\n"
"v -1.450 0.0 0.767\n"
"\n"
"vt 0.182 0.818\n"
"vt 0.315 0.818\n"
"vt 0.116 0.932\n"
"vt 0.116 0.703\n"
"\n"
"f 1/1 2/2 3/3 \n"
"f 1/1 3/3 4/4 \n"
"f 1/1 4/4 2/2 \n"
"\n"
"#\n"
"# Shape 2: top-middle, valence-4 ring\n"
"#\n"
"v 0.000 -0.5 1.200\n"
"v 0.500 0.0 1.200\n"
"v 0.000 0.0 1.700\n"
"v -0.500 0.0 1.200\n"
"v 0.000 0.0 0.700\n"
"\n"
"vt 0.500 0.818\n"
"vt 0.632 0.818\n"
"vt 0.500 0.950\n"
"vt 0.368 0.818\n"
"vt 0.500 0.685\n"
"\n"
"f 5/5 6/6 7/7 \n"
"f 5/5 7/7 8/8 \n"
"f 5/5 8/8 9/9 \n"
"f 5/5 9/9 6/6 \n"
"\n"
"#\n"
"# Shape 3: top-right, valence-5 ring\n"
"#\n"
"v 1.200 -0.5 1.200\n"
"v 1.700 0.0 1.200\n"
"v 1.355 0.0 1.676\n"
"v 0.795 0.0 1.494\n"
"v 0.795 0.0 0.906\n"
"v 1.355 0.0 0.724\n"
"\n"
"vt 0.818 0.818\n"
"vt 0.950 0.818\n"
"vt 0.859 0.944\n"
"vt 0.711 0.895\n"
"vt 0.711 0.740\n"
"vt 0.859 0.692\n"
"\n"
"f 10/10 11/11 12/12 \n"
"f 10/10 12/12 13/13 \n"
"f 10/10 13/13 14/14 \n"
"f 10/10 14/14 15/15 \n"
"f 10/10 15/15 11/11 \n"
"\n"
"#\n"
"# Shape 4: center-left, valence-7 ring\n"
"#\n"
"v -1.200 -0.5 0.000\n"
"v -0.700 0.0 0.000\n"
"v -0.888 0.0 0.391\n"
"v -1.311 0.0 0.487\n"
"v -1.650 0.0 0.217\n"
"v -1.650 0.0 -0.217\n"
"v -1.311 0.0 -0.487\n"
"v -0.888 0.0 -0.391\n"
"\n"
"vt 0.182 0.500\n"
"vt 0.315 0.500\n"
"vt 0.265 0.603\n"
"vt 0.153 0.629\n"
"vt 0.063 0.557\n"
"vt 0.063 0.443\n"
"vt 0.153 0.371\n"
"vt 0.265 0.397\n"
"\n"
"f 16/16 17/17 18/18 \n"
"f 16/16 18/18 19/19 \n"
"f 16/16 19/19 20/20 \n"
"f 16/16 20/20 21/21 \n"
"f 16/16 21/21 22/22 \n"
"f 16/16 22/22 23/23 \n"
"f 16/16 23/23 17/17 \n"
"\n"
"#\n"
"# Shape 5: center-middle, valence-8 ring\n"
"#\n"
"v 0.000 -0.5 0.000\n"
"v 0.500 0.0 0.000\n"
"v 0.354 0.0 0.354\n"
"v 0.000 0.0 0.500\n"
"v -0.354 0.0 0.354\n"
"v -0.500 0.0 0.000\n"
"v -0.354 0.0 -0.354\n"
"v 0.000 0.0 -0.500\n"
"v 0.354 0.0 -0.354\n"
"\n"
"vt 0.500 0.500\n"
"vt 0.632 0.500\n"
"vt 0.594 0.594\n"
"vt 0.500 0.632\n"
"vt 0.406 0.594\n"
"vt 0.368 0.500\n"
"vt 0.406 0.406\n"
"vt 0.500 0.368\n"
"vt 0.594 0.406\n"
"\n"
"f 24/24 25/25 26/26 \n"
"f 24/24 26/26 27/27 \n"
"f 24/24 27/27 28/28 \n"
"f 24/24 28/28 29/29 \n"
"f 24/24 29/29 30/30 \n"
"f 24/24 30/30 31/31 \n"
"f 24/24 31/31 32/32 \n"
"f 24/24 32/32 25/25 \n"
"\n"
"#\n"
"# Shape 6: center-right, valence-9 ring\n"
"#\n"
"v 1.200 -0.5 0.000\n"
"v 1.700 0.0 0.000\n"
"v 1.583 0.0 0.321\n"
"v 1.287 0.0 0.492\n"
"v 0.950 0.0 0.433\n"
"v 0.730 0.0 0.171\n"
"v 0.730 0.0 -0.171\n"
"v 0.950 0.0 -0.433\n"
"v 1.287 0.0 -0.492\n"
"v 1.583 0.0 -0.321\n"
"\n"
"vt 0.818 0.500\n"
"vt 0.950 0.500\n"
"vt 0.919 0.585\n"
"vt 0.841 0.630\n"
"vt 0.751 0.615\n"
"vt 0.693 0.545\n"
"vt 0.693 0.455\n"
"vt 0.751 0.385\n"
"vt 0.841 0.370\n"
"vt 0.919 0.415\n"
"\n"
"f 33/33 34/34 35/35 \n"
"f 33/33 35/35 36/36 \n"
"f 33/33 36/36 37/37 \n"
"f 33/33 37/37 38/38 \n"
"f 33/33 38/38 39/39 \n"
"f 33/33 39/39 40/40 \n"
"f 33/33 40/40 41/41 \n"
"f 33/33 41/41 42/42 \n"
"f 33/33 42/42 34/34 \n"
"\n"
"#\n"
"# Shape 7: bottom-left, valence-10 ring\n"
"#\n"
"v -1.200 -0.5 -1.200\n"
"v -0.700 0.0 -1.200\n"
"v -0.795 0.0 -0.906\n"
"v -1.045 0.0 -0.724\n"
"v -1.355 0.0 -0.724\n"
"v -1.605 0.0 -0.906\n"
"v -1.700 0.0 -1.200\n"
"v -1.605 0.0 -1.494\n"
"v -1.355 0.0 -1.676\n"
"v -1.045 0.0 -1.676\n"
"v -0.795 0.0 -1.494\n"
"\n"
"vt 0.182 0.182\n"
"vt 0.315 0.182\n"
"vt 0.289 0.260\n"
"vt 0.223 0.308\n"
"vt 0.141 0.308\n"
"vt 0.075 0.260\n"
"vt 0.050 0.182\n"
"vt 0.075 0.105\n"
"vt 0.141 0.056\n"
"vt 0.223 0.056\n"
"vt 0.289 0.105\n"
"\n"
"f 43/43 44/44 45/45 \n"
"f 43/43 45/45 46/46 \n"
"f 43/43 46/46 47/47 \n"
"f 43/43 47/47 48/48 \n"
"f 43/43 48/48 49/49 \n"
"f 43/43 49/49 50/50 \n"
"f 43/43 50/50 51/51 \n"
"f 43/43 51/51 52/52 \n"
"f 43/43 52/52 53/53 \n"
"f 43/43 53/53 44/44 \n"
"\n"
"#\n"
"# Shape 8: bottom-middle, valence-11 ring\n"
"#\n"
"v 0.000 -0.5 -1.200\n"
"v 0.500 0.0 -1.200\n"
"v 0.421 0.0 -0.930\n"
"v 0.208 0.0 -0.745\n"
"v -0.071 0.0 -0.705\n"
"v -0.327 0.0 -0.822\n"
"v -0.480 0.0 -1.059\n"
"v -0.480 0.0 -1.341\n"
"v -0.327 0.0 -1.578\n"
"v -0.071 0.0 -1.695\n"
"v 0.208 0.0 -1.655\n"
"v 0.421 0.0 -1.470\n"
"\n"
"vt 0.500 0.182\n"
"vt 0.632 0.182\n"
"vt 0.611 0.254\n"
"vt 0.555 0.303\n"
"vt 0.481 0.313\n"
"vt 0.413 0.282\n"
"vt 0.373 0.220\n"
"vt 0.373 0.145\n"
"vt 0.413 0.082\n"
"vt 0.481 0.051\n"
"vt 0.555 0.062\n"
"vt 0.611 0.111\n"
"\n"
"f 54/54 55/55 56/56 \n"
"f 54/54 56/56 57/57 \n"
"f 54/54 57/57 58/58 \n"
"f 54/54 58/58 59/59 \n"
"f 54/54 59/59 60/60 \n"
"f 54/54 60/60 61/61 \n"
"f 54/54 61/61 62/62 \n"
"f 54/54 62/62 63/63 \n"
"f 54/54 63/63 64/64 \n"
"f 54/54 64/64 65/65 \n"
"f 54/54 65/65 55/55 \n"
"\n"
"#\n"
"# Shape 9: bottom-right, valence-12 ring\n"
"#\n"
"v 1.200 -0.5 -1.200\n"
"v 1.700 0.0 -1.200\n"
"v 1.633 0.0 -0.950\n"
"v 1.450 0.0 -0.767\n"
"v 1.200 0.0 -0.700\n"
"v 0.950 0.0 -0.767\n"
"v 0.767 0.0 -0.950\n"
"v 0.700 0.0 -1.200\n"
"v 0.767 0.0 -1.450\n"
"v 0.950 0.0 -1.633\n"
"v 1.200 0.0 -1.700\n"
"v 1.450 0.0 -1.633\n"
"v 1.633 0.0 -1.450\n"
"\n"
"vt 0.818 0.182\n"
"vt 0.950 0.182\n"
"vt 0.932 0.249\n"
"vt 0.884 0.297\n"
"vt 0.818 0.315\n"
"vt 0.751 0.297\n"
"vt 0.703 0.249\n"
"vt 0.685 0.182\n"
"vt 0.703 0.116\n"
"vt 0.751 0.068\n"
"vt 0.818 0.050\n"
"vt 0.884 0.068\n"
"vt 0.932 0.116\n"
"\n"
"f 66/66 67/67 68/68 \n"
"f 66/66 68/68 69/69 \n"
"f 66/66 69/69 70/70 \n"
"f 66/66 70/70 71/71 \n"
"f 66/66 71/71 72/72 \n"
"f 66/66 72/72 73/73 \n"
"f 66/66 73/73 74/74 \n"
"f 66/66 74/74 75/75 \n"
"f 66/66 75/75 76/76 \n"
"f 66/66 76/76 77/77 \n"
"f 66/66 77/77 78/78 \n"
"f 66/66 78/78 67/67 \n"
"\n"
;