Added new Catmark test shapes to regression/shapes:

- added pair of shapes to better cover non-manifold features
    - added pair of shapes to consolidate variations of creased cubes
    - updated all.h to include new shapes
This commit is contained in:
barry 2019-05-06 12:13:45 -07:00
parent 5d8016be9e
commit afce970bcf
5 changed files with 723 additions and 0 deletions

View File

@ -38,6 +38,8 @@
#include "catmark_cube_creases1.h"
#include "catmark_cube_creases2.h"
#include "catmark_cube.h"
#include "catmark_cubes_infsharp.h"
#include "catmark_cubes_semisharp.h"
#include "catmark_dart_edgecorner.h"
#include "catmark_dart_edgeonly.h"
#include "catmark_edgecorner.h"
@ -70,6 +72,8 @@
#include "catmark_pole8.h"
#include "catmark_pole64.h"
#include "catmark_pole360.h"
#include "catmark_nonman_edges.h"
#include "catmark_nonman_verts.h"
#include "catmark_nonman_quadpole8.h"
#include "catmark_nonman_quadpole64.h"
#include "catmark_nonman_quadpole360.h"

View File

@ -0,0 +1,148 @@
//
// Copyright 2019 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 catmark_cubes_infsharp =
"#\n"
"# Four shapes ordered left->right and top->bottom in the XZ plane\n"
"#\n"
"# Shape 1: top-left\n"
"#\n"
"# 8 vertices\n"
"v -0.25 -0.50 1.25\n"
"v -0.25 0.50 1.25\n"
"v -1.25 -0.50 1.25\n"
"v -1.25 0.50 1.25\n"
"v -1.25 -0.50 0.25\n"
"v -1.25 0.50 0.25\n"
"v -0.25 -0.50 0.25\n"
"v -0.25 0.50 0.25\n"
"\n"
"# 14 uvs\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"
"\n"
"f 1/1 2/2 4/4 3/3\n"
"f 3/3 4/4 6/6 5/5\n"
"f 5/5 6/6 8/8 7/7\n"
"f 7/7 8/8 2/10 1/9\n"
"f 2/2 8/11 6/12 4/4\n"
"f 7/13 1/1 3/3 5/14\n"
"\n"
"t corner 1/1/0 0 10.0\n"
"\n"
"#\n"
"# Shape 2: top-right\n"
"#\n"
"v 1.25 -0.50 1.25\n"
"v 1.25 0.50 1.25\n"
"v 0.25 -0.50 1.25\n"
"v 0.25 0.50 1.25\n"
"v 0.25 -0.50 0.25\n"
"v 0.25 0.50 0.25\n"
"v 1.25 -0.50 0.25\n"
"v 1.25 0.50 0.25\n"
"\n"
"f 9/1 10/2 12/4 11/3\n"
"f 11/3 12/4 14/6 13/5\n"
"f 13/5 14/6 16/8 15/7\n"
"f 15/7 16/8 10/10 9/9\n"
"f 10/2 16/11 14/12 12/4\n"
"f 15/13 9/1 11/3 13/14\n"
"\n"
"t crease 2/1/0 8 9 10.0\n"
"t crease 2/1/0 8 10 10.0\n"
"\n"
"#\n"
"# Shape 3: bottom-left\n"
"#\n"
"v -0.25 -0.50 -0.25\n"
"v -0.25 0.50 -0.25\n"
"v -1.25 -0.50 -0.25\n"
"v -1.25 0.50 -0.25\n"
"v -1.25 -0.50 -1.25\n"
"v -1.25 0.50 -1.25\n"
"v -0.25 -0.50 -1.25\n"
"v -0.25 0.50 -1.25\n"
"\n"
"f 17/1 18/2 20/4 19/3\n"
"f 19/3 20/4 22/6 21/5\n"
"f 21/5 22/6 24/8 23/7\n"
"f 23/7 24/8 18/10 17/9\n"
"f 18/2 24/11 22/12 20/4\n"
"f 23/13 17/1 19/3 21/14\n"
"\n"
"t crease 2/1/0 18 16 10.0\n"
"t crease 2/1/0 16 22 10.0\n"
"t crease 2/1/0 22 20 10.0\n"
"t crease 2/1/0 18 20 10.0\n"
"\n"
"#\n"
"# Shape 4: bottom-right\n"
"#\n"
"v 1.25 -0.50 -0.25\n"
"v 1.25 0.50 -0.25\n"
"v 0.25 -0.50 -0.25\n"
"v 0.25 0.50 -0.25\n"
"v 0.25 -0.50 -1.25\n"
"v 0.25 0.50 -1.25\n"
"v 1.25 -0.50 -1.25\n"
"v 1.25 0.50 -1.25\n"
"\n"
"f 25/1 26/2 28/4 27/3\n"
"f 27/3 28/4 30/6 29/5\n"
"f 29/5 30/6 32/8 31/7\n"
"f 31/7 32/8 26/10 25/9\n"
"f 26/2 32/11 30/12 28/4\n"
"f 31/13 25/1 27/3 29/14\n"
"\n"
"t crease 2/1/0 24 25 0.1\n"
"t crease 2/1/0 25 27 10.0\n"
"t crease 2/1/0 27 26 10.0\n"
"t crease 2/1/0 26 24 10.0\n"
"t crease 2/1/0 28 29 10.0\n"
"t crease 2/1/0 29 31 10.0\n"
"t crease 2/1/0 31 30 10.0\n"
"t crease 2/1/0 30 28 10.0\n"
"t crease 2/1/0 24 30 10.0\n"
"t crease 2/1/0 25 31 10.0\n"
"t crease 2/1/0 26 28 10.0\n"
"t crease 2/1/0 27 29 10.0\n"
"\n"
"\n"
"t interpolateboundary 1/0/0 2\n"
"t facevaryinginterpolateboundary 1/0/0 1\n"
"\n"
;

View File

@ -0,0 +1,146 @@
//
// Copyright 2019 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 catmark_cubes_semisharp =
"#\n"
"# Four shapes ordered left->right and top->bottom in the XZ plane\n"
"#\n"
"# Shape 1: top-left\n"
"#\n"
"# 8 vertices\n"
"v -0.25 -0.50 1.25\n"
"v -0.25 0.50 1.25\n"
"v -1.25 -0.50 1.25\n"
"v -1.25 0.50 1.25\n"
"v -1.25 -0.50 0.25\n"
"v -1.25 0.50 0.25\n"
"v -0.25 -0.50 0.25\n"
"v -0.25 0.50 0.25\n"
"\n"
"# 14 uvs\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"
"\n"
"f 1/1 2/2 4/4 3/3\n"
"f 3/3 4/4 6/6 5/5\n"
"f 5/5 6/6 8/8 7/7\n"
"f 7/7 8/8 2/10 1/9\n"
"f 2/2 8/11 6/12 4/4\n"
"f 7/13 1/1 3/3 5/14\n"
"\n"
"t corner 1/1/0 0 1.4\n"
"\n"
"#\n"
"# Shape 2: top-right\n"
"#\n"
"v 1.25 -0.50 1.25\n"
"v 1.25 0.50 1.25\n"
"v 0.25 -0.50 1.25\n"
"v 0.25 0.50 1.25\n"
"v 0.25 -0.50 0.25\n"
"v 0.25 0.50 0.25\n"
"v 1.25 -0.50 0.25\n"
"v 1.25 0.50 0.25\n"
"\n"
"f 9/1 10/2 12/4 11/3\n"
"f 11/3 12/4 14/6 13/5\n"
"f 13/5 14/6 16/8 15/7\n"
"f 15/7 16/8 10/10 9/9\n"
"f 10/2 16/11 14/12 12/4\n"
"f 15/13 9/1 11/3 13/14\n"
"\n"
"t crease 2/1/0 8 9 2.0\n"
"t crease 2/1/0 8 10 2.0\n"
"\n"
"\n"
"#\n"
"# Shape 3: bottom-left\n"
"#\n"
"v -0.25 -0.50 -0.25\n"
"v -0.25 0.50 -0.25\n"
"v -1.25 -0.50 -0.25\n"
"v -1.25 0.50 -0.25\n"
"v -1.25 -0.50 -1.25\n"
"v -1.25 0.50 -1.25\n"
"v -0.25 -0.50 -1.25\n"
"v -0.25 0.50 -1.25\n"
"\n"
"f 17/1 18/2 20/4 19/3\n"
"f 19/3 20/4 22/6 21/5\n"
"f 21/5 22/6 24/8 23/7\n"
"f 23/7 24/8 18/10 17/9\n"
"f 18/2 24/11 22/12 20/4\n"
"f 23/13 17/1 19/3 21/14\n"
"\n"
"t corner 1/1/0 16 3.0\n"
"\n"
"#\n"
"# Shape 4: bottom-right\n"
"#\n"
"v 1.25 -0.50 -0.25\n"
"v 1.25 0.50 -0.25\n"
"v 0.25 -0.50 -0.25\n"
"v 0.25 0.50 -0.25\n"
"v 0.25 -0.50 -1.25\n"
"v 0.25 0.50 -1.25\n"
"v 1.25 -0.50 -1.25\n"
"v 1.25 0.50 -1.25\n"
"\n"
"f 25/1 26/2 28/4 27/3\n"
"f 27/3 28/4 30/6 29/5\n"
"f 29/5 30/6 32/8 31/7\n"
"f 31/7 32/8 26/10 25/9\n"
"f 26/2 32/11 30/12 28/4\n"
"f 31/13 25/1 27/3 29/14\n"
"\n"
"t crease 2/1/0 24 25 0.1\n"
"t crease 2/1/0 25 27 5.0\n"
"t crease 2/1/0 27 26 5.0\n"
"t crease 2/1/0 26 24 5.0\n"
"t crease 2/1/0 28 29 5.0\n"
"t crease 2/1/0 29 31 5.0\n"
"t crease 2/1/0 31 30 5.0\n"
"t crease 2/1/0 30 28 5.0\n"
"t crease 2/1/0 24 30 5.0\n"
"t crease 2/1/0 25 31 5.0\n"
"t crease 2/1/0 26 28 5.0\n"
"t crease 2/1/0 27 29 5.0\n"
"\n"
"\n"
"t interpolateboundary 1/0/0 2\n"
"t facevaryinginterpolateboundary 1/0/0 1\n"
"\n"
;

View File

@ -0,0 +1,302 @@
//
// Copyright 2019 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 catmark_nonman_edges =
"#\n"
"# Nine shapes ordered left->right and top->bottom in the XZ plane\n"
"#\n"
"# Shape 1: top-left\n"
"#\n"
"v -1.25 0.00 1.58\n"
"v -1.42 0.00 1.42\n"
"v -1.08 0.00 1.42\n"
"v -1.58 0.00 1.25\n"
"v -0.92 0.00 1.25\n"
"v -1.75 0.00 1.08\n"
"v -0.75 0.00 1.08\n"
"v -1.58 0.00 0.92\n"
"v -1.42 0.00 1.08\n"
"v -1.25 0.00 1.25\n"
"v -1.08 0.00 1.08\n"
"v -0.92 0.00 0.92\n"
"v -1.58 0.17 0.92\n"
"v -1.42 0.17 1.08\n"
"v -1.25 0.17 1.25\n"
"v -1.08 0.17 1.08\n"
"v -0.92 0.17 0.92\n"
"v -1.58 -0.17 0.92\n"
"v -1.42 -0.17 1.08\n"
"v -1.25 -0.17 1.25\n"
"v -1.08 -0.17 1.08\n"
"v -0.92 -0.17 0.92\n"
"\n"
"f 1 2 10 3 \n"
"f 2 4 9 10 \n"
"f 4 6 8 9 \n"
"f 5 3 10 11 \n"
"f 7 5 11 12 \n"
"f 8 9 14 13 \n"
"f 9 10 15 14 \n"
"f 10 11 16 15 \n"
"f 11 12 17 16 \n"
"f 9 8 18 19 \n"
"f 10 9 19 20 \n"
"f 11 10 20 21 \n"
"f 12 11 21 22 \n"
"\n"
"#\n"
"# Shape 2: top-middle\n"
"#\n"
"v -0.50 0.00 0.75\n"
"v -0.17 0.00 0.75\n"
"v 0.17 0.00 0.75\n"
"v 0.50 0.00 0.75\n"
"v 0.50 0.00 1.08\n"
"v 0.50 0.00 1.42\n"
"v 0.50 0.00 1.75\n"
"v 0.17 0.00 1.75\n"
"v -0.17 0.00 1.75\n"
"v -0.50 0.00 1.75\n"
"v -0.50 0.00 1.42\n"
"v -0.50 0.00 1.08\n"
"v -0.17 -0.30 1.08\n"
"v 0.17 -0.30 1.08\n"
"v 0.17 -0.30 1.42\n"
"v -0.17 -0.30 1.42\n"
"v 0.00 -0.60 1.25\n"
"\n"
"f 23 24 35 34 \n"
"f 24 25 36 35 \n"
"f 25 26 27 36 \n"
"f 36 27 28 37 \n"
"f 37 28 29 30 \n"
"f 38 37 30 31 \n"
"f 33 38 31 32 \n"
"f 34 35 38 33 \n"
"f 35 36 37 38 \n"
"f 35 36 39 \n"
"\n"
"#\n"
"# Shape 3: top-right\n"
"#\n"
"v 0.75 0.00 0.75\n"
"v 1.08 0.00 0.75\n"
"v 1.42 0.00 0.75\n"
"v 1.75 0.00 0.75\n"
"v 1.75 0.00 1.08\n"
"v 1.75 0.00 1.42\n"
"v 1.75 0.00 1.75\n"
"v 1.42 0.00 1.75\n"
"v 1.08 0.00 1.75\n"
"v 0.75 0.00 1.75\n"
"v 0.75 0.00 1.42\n"
"v 0.75 0.00 1.08\n"
"v 1.25 -0.30 1.08\n"
"v 1.42 -0.30 1.42\n"
"v 1.08 -0.30 1.42\n"
"\n"
"f 40 41 52 51 \n"
"f 41 42 52 52 \n"
"f 42 43 44 52 \n"
"f 52 44 45 53 \n"
"f 53 45 46 47 \n"
"f 54 53 47 48 \n"
"f 50 54 48 49 \n"
"f 51 52 54 50 \n"
"f 52 52 53 54 \n"
"\n"
"#\n"
"# Shape 4: center-left\n"
"#\n"
"v -1.75 0.00 -0.50\n"
"v -1.42 0.00 -0.50\n"
"v -1.08 0.00 -0.50\n"
"v -0.75 0.00 -0.50\n"
"v -0.75 0.00 -0.17\n"
"v -0.75 0.00 0.17\n"
"v -0.75 0.00 0.50\n"
"v -1.08 0.00 0.50\n"
"v -1.42 0.00 0.50\n"
"v -1.75 0.00 0.50\n"
"v -1.75 0.00 0.17\n"
"v -1.75 0.00 -0.17\n"
"v -1.25 -0.30 -0.17\n"
"v -1.25 -0.30 0.17\n"
"\n"
"f 55 56 67 66 \n"
"f 56 57 67 67 \n"
"f 57 58 59 67 \n"
"f 67 59 60 68 \n"
"f 68 60 61 62 \n"
"f 68 68 62 63 \n"
"f 65 68 63 64 \n"
"f 66 67 68 65 \n"
"f 67 67 68 68 \n"
"\n"
"#\n"
"# Shape 5: center-middle\n"
"#\n"
"v -0.50 0.00 -0.50\n"
"v -0.17 0.00 -0.50\n"
"v 0.17 0.00 -0.50\n"
"v 0.50 0.00 -0.50\n"
"v 0.50 0.00 -0.17\n"
"v 0.50 0.00 0.17\n"
"v 0.50 0.00 0.50\n"
"v 0.17 0.00 0.50\n"
"v -0.17 0.00 0.50\n"
"v -0.50 0.00 0.50\n"
"v -0.50 0.00 0.17\n"
"v -0.50 0.00 -0.17\n"
"v 0.00 -0.30 -0.17\n"
"v -0.17 -0.30 0.17\n"
"\n"
"f 69 70 81 80 \n"
"f 70 71 81 81 \n"
"f 71 72 73 81 \n"
"f 81 73 74 81 \n"
"f 81 74 75 76 \n"
"f 82 81 76 77 \n"
"f 79 82 77 78 \n"
"f 80 81 82 79 \n"
"f 81 81 81 82 \n"
"\n"
"#\n"
"# Shape 6: center-right\n"
"#\n"
"v 0.75 0.00 -0.50\n"
"v 1.08 0.00 -0.50\n"
"v 1.42 0.00 -0.50\n"
"v 1.75 0.00 -0.50\n"
"v 1.75 0.00 -0.17\n"
"v 1.75 0.00 0.17\n"
"v 1.75 0.00 0.50\n"
"v 1.42 0.00 0.50\n"
"v 1.08 0.00 0.50\n"
"v 0.75 0.00 0.50\n"
"v 0.75 0.00 0.17\n"
"v 0.75 0.00 -0.17\n"
"v 1.25 -0.40 0.00\n"
"v 1.42 -0.20 -0.17\n"
"v 1.08 -0.20 0.17\n"
"\n"
"f 83 84 95 94 \n"
"f 84 85 96 95 \n"
"f 85 86 87 96 \n"
"f 96 87 88 95 \n"
"f 95 88 89 90 \n"
"f 97 95 90 91 \n"
"f 93 97 91 92 \n"
"f 94 95 97 93 \n"
"f 95 96 95 97 \n"
"\n"
"#\n"
"# Shape 7: bottom-left\n"
"#\n"
"v -1.75 0.00 -1.75\n"
"v -1.42 0.00 -1.75\n"
"v -1.08 0.00 -1.75\n"
"v -0.75 0.00 -1.75\n"
"v -0.75 0.00 -1.42\n"
"v -0.75 0.00 -1.08\n"
"v -0.75 0.00 -0.75\n"
"v -1.08 0.00 -0.75\n"
"v -1.42 0.00 -0.75\n"
"v -1.75 0.00 -0.75\n"
"v -1.75 0.00 -1.08\n"
"v -1.75 0.00 -1.42\n"
"v -1.25 -0.30 -1.25\n"
"\n"
"f 98 99 110 109 \n"
"f 99 100 110 110 \n"
"f 100 101 102 110 \n"
"f 110 102 103 110 \n"
"f 110 103 104 105 \n"
"f 110 110 105 106 \n"
"f 108 110 106 107 \n"
"f 109 110 110 108 \n"
"f 110 110 110 110 \n"
"\n"
"#\n"
"# Shape 8: bottom-middle\n"
"#\n"
"v -0.50 0.00 -1.75\n"
"v -0.17 0.00 -1.75\n"
"v 0.17 0.00 -1.75\n"
"v 0.50 0.00 -1.75\n"
"v 0.50 0.00 -1.42\n"
"v 0.50 0.00 -1.08\n"
"v 0.50 0.00 -0.75\n"
"v 0.17 0.00 -0.75\n"
"v -0.17 0.00 -0.75\n"
"v -0.50 0.00 -0.75\n"
"v -0.50 0.00 -1.08\n"
"v -0.50 0.00 -1.42\n"
"v -0.17 -0.30 -1.42\n"
"v 0.17 -0.30 -1.42\n"
"v 0.17 -0.30 -1.08\n"
"v -0.17 -0.30 -1.08\n"
"\n"
"f 111 112 123 122 \n"
"f 112 113 124 123 \n"
"f 113 114 115 124 \n"
"f 124 115 116 125 \n"
"f 125 116 117 118 \n"
"f 126 125 118 119 \n"
"f 121 126 119 120 \n"
"f 122 123 126 121 \n"
"f 126 125 124 123 \n"
"\n"
"#\n"
"# Shape 9: bottom-right\n"
"#\n"
"v 1.2500 -0.5000 -1.45\n"
"v 1.6035 -0.3535 -1.45\n"
"v 1.7500 0.0000 -1.45\n"
"v 1.6035 0.3535 -1.45\n"
"v 1.2500 0.5000 -1.45\n"
"v 0.8965 0.3535 -1.45\n"
"v 0.7500 0.0000 -1.45\n"
"v 0.8965 -0.3535 -1.45\n"
"v 1.2500 -0.5000 -1.05\n"
"v 1.6035 -0.3535 -1.05\n"
"v 1.7500 0.0000 -1.05\n"
"v 1.6035 0.3535 -1.05\n"
"v 1.2500 0.5000 -1.05\n"
"v 0.8965 0.3535 -1.05\n"
"v 0.7500 0.0000 -1.05\n"
"v 0.8965 -0.3535 -1.05\n"
"\n"
"f 127 135 136 128 \n"
"f 128 136 137 129 \n"
"f 129 137 138 130 \n"
"f 130 138 139 131 \n"
"f 131 132 140 139 \n"
"f 132 133 141 140 \n"
"f 133 134 142 141 \n"
"f 134 127 135 142 \n"
"\n"
"t interpolateboundary 1/0/0 1\n"
"\n"
;

View File

@ -0,0 +1,123 @@
//
// Copyright 2019 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 catmark_nonman_verts =
"#\n"
"# Four shapes ordered left->right and top->bottom in the XZ plane\n"
"#\n"
"# Shape 1: top-left\n"
"#\n"
"v -1.25 0 0.75\n"
"v -0.75 -0.3 0.75\n"
"v -0.25 0 0.75\n"
"v -1.25 0 1.25\n"
"v -0.75 0 1.25\n"
"v -0.25 0 1.25\n"
"v -1.0 0 0.5 \n"
"v -0.75 0 0.25 \n"
"v -0.5 0 0.5 \n"
"\n"
"f 1 2 5 4\n"
"f 2 3 6 5\n"
"f 2 7 8 9\n"
"\n"
"#\n"
"# Shape 2: top-right\n"
"#\n"
"v 0.25 0 0.85\n"
"v 0.75 -0.3 0.75\n"
"v 1.25 0 0.85\n"
"v 0.25 0 1.25\n"
"v 0.75 0 1.25\n"
"v 1.25 0 1.25\n"
"v 0.25 0 0.65\n"
"v 1.25 0 0.65\n"
"v 0.25 0 0.25\n"
"v 0.75 0 0.25\n"
"v 1.25 0 0.25\n"
"\n"
"f 10 11 14 13\n"
"f 11 12 15 14\n"
"f 11 16 18 19\n"
"f 17 11 19 20\n"
"\n"
"#\n"
"# Shape 3: bottom-left\n"
"#\n"
"v -1.25 -0.5 -1.25\n"
"v -0.75 -0.5 -1.25\n"
"v -0.25 -0.5 -1.25\n"
"v -1.25 0 -1.25\n"
"v -0.75 0 -0.75\n"
"v -0.25 0 -1.25\n"
"v -1.25 0.5 -1.25\n"
"v -0.75 0.5 -1.25\n"
"v -0.25 0.5 -1.25\n"
"v -1.1 0 -0.25\n"
"v -0.4 0 -0.25\n"
"\n"
"f 21 22 25 24\n"
"f 22 23 26 25\n"
"f 24 25 28 27\n"
"f 25 26 29 28\n"
"f 30 25 31\n"
"\n"
"#\n"
"# Shape 4: bottom-right\n"
"#\n"
"v 0.25 -0.5 -1.25\n"
"v 0.75 -0.5 -1.25\n"
"v 1.25 -0.5 -1.25\n"
"v 0.25 0 -1.25\n"
"v 0.75 0 -0.75\n"
"v 1.25 0 -1.25\n"
"v 0.25 0.5 -1.25\n"
"v 0.75 0.5 -1.25\n"
"v 1.25 0.5 -1.25\n"
"v 0.25 -0.5 -0.25\n"
"v 0.75 -0.5 -0.25\n"
"v 1.25 -0.5 -0.25\n"
"v 0.25 0 -0.25\n"
"v 1.25 0 -0.25\n"
"v 0.25 0.5 -0.25\n"
"v 0.75 0.5 -0.25\n"
"v 1.25 0.5 -0.25\n"
"\n"
"f 32 33 36 35\n"
"f 33 34 37 36\n"
"f 35 36 39 38\n"
"f 36 37 40 39\n"
"f 41 44 36 42\n"
"f 42 36 45 43\n"
"f 44 46 47 36\n"
"f 36 47 48 45\n"
"\n"
"#\n"
"# Additional 'shape' 5: isolated non-manifold vertex in center\n"
"#\n"
"v 0 0 0\n"
"\n"
"t interpolateboundary 1/0/0 1\n"
"\n"
;