diff --git a/regression/shapes/all.h b/regression/shapes/all.h index f244a737..cfc21744 100644 --- a/regression/shapes/all.h +++ b/regression/shapes/all.h @@ -78,6 +78,7 @@ #include "catmark_nonman_quadpole64.h" #include "catmark_nonman_quadpole360.h" #include "catmark_nonman_bareverts.h" +#include "catmark_nonquads.h" #include "catmark_pawn.h" #include "catmark_pyramid_creases0.h" #include "catmark_pyramid_creases1.h" @@ -101,6 +102,9 @@ #include "catmark_torus.h" #include "catmark_torus_creases0.h" #include "catmark_torus_creases1.h" +#include "catmark_val2_interior.h" +#include "catmark_xord_interior.h" +#include "catmark_xord_boundary.h" #include "bilinear_cube.h" #include "bilinear_nonplanar.h" diff --git a/regression/shapes/catmark_nonquads.h b/regression/shapes/catmark_nonquads.h new file mode 100644 index 00000000..01ace7fa --- /dev/null +++ b/regression/shapes/catmark_nonquads.h @@ -0,0 +1,137 @@ +// +// 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_nonquads = +"#\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.25\n" +"v -0.25 0 0.25\n" +"v -0.75 0 1.25\n" +"\n" +"vt 0.05 0.55\n" +"vt 0.45 0.55\n" +"vt 0.25 0.95\n" +"\n" +"f 1/1 2/2 3/3\n" +"\n" +"#\n" +"# Shape 2: top-right\n" +"#\n" +"v 0.44 0 0.25\n" +"v 1.06 0 0.25\n" +"v 1.25 -0.3 0.87\n" +"v 0.75 0 1.25\n" +"v 0.25 -0.3 0.87\n" +"\n" +"vt 0.60 0.53\n" +"vt 0.87 0.53\n" +"vt 0.99 0.79\n" +"vt 0.75 0.97\n" +"vt 0.51 0.79\n" +"\n" +"f 4/4 5/5 6/6 7/7 8/8\n" +"\n" +"#\n" +"# Shape 3: bottom-left\n" +"#\n" +"v -0.75 -0.5 -0.75\n" +"v -1.25 0 -1.25\n" +"v -0.25 0 -1.25\n" +"v -0.25 0 -0.25\n" +"v -1.25 0 -0.25\n" +"\n" +"vt 0.25 0.25\n" +"vt 0.05 0.05\n" +"vt 0.45 0.05\n" +"vt 0.45 0.45\n" +"vt 0.05 0.45\n" +"\n" +"f 9/9 10/10 11/11\n" +"f 9/9 11/11 12/12\n" +"f 9/9 12/12 13/13\n" +"f 9/9 13/13 10/10\n" +"\n" +"#\n" +"# Shape 4: bottom-right\n" +"#\n" +"v 1.075 0.0 -1.20\n" +"v 0.675 0.0 -1.20\n" +"v 0.875 0.0 -1.35\n" +"v 1.025 0.15 -1.00\n" +"v 1.025 0.0 -0.30\n" +"v 0.425 0.0 -1.20\n" +"v 0.425 0.0 -1.00\n" +"v 0.675 0.0 -1.00\n" +"v 0.675 0.15 -0.85\n" +"v 0.425 0.15 -0.85\n" +"v 0.675 0.0 -0.50\n" +"v 0.425 0.0 -0.50\n" +"v 0.875 0.15 -0.85\n" +"v 0.675 0.0 -0.30\n" +"v 0.425 0.0 -0.30\n" +"v 0.875 0.0 -0.15\n" +"v 0.675 0.15 -0.65\n" +"v 1.075 0.15 -0.50\n" +"v 0.875 0.15 -0.65\n" +"v 0.425 0.15 -0.65\n" +"\n" +"vt 0.90 0.1\n" +"vt 0.70 0.1\n" +"vt 0.80 0.05\n" +"vt 0.90 0.17\n" +"vt 0.90 0.4\n" +"vt 0.58 0.1\n" +"vt 0.58 0.17\n" +"vt 0.70 0.17\n" +"vt 0.70 0.22\n" +"vt 0.58 0.22\n" +"vt 0.70 0.33\n" +"vt 0.58 0.33\n" +"vt 0.80 0.22\n" +"vt 0.70 0.4\n" +"vt 0.58 0.4\n" +"vt 0.80 0.45\n" +"vt 0.70 0.28\n" +"vt 0.90 0.33\n" +"vt 0.80 0.28\n" +"vt 0.58 0.28\n" +"\n" +"f 26/26 22/22 21/21\n" +"f 24/24 30/30 32/32\n" +"f 24/24 25/25 33/33 30/30\n" +"f 20/20 19/19 15/15 21/21\n" +"f 22/22 23/23 20/20 21/21\n" +"f 27/27 28/28 25/25 24/24\n" +"f 31/31 18/18 29/29 27/27 24/24 32/32\n" +"f 15/15 16/16 14/14 17/17 26/26 21/21\n" +"f 17/17 31/31 32/32 26/26\n" +"f 30/30 33/33 23/23 22/22\n" +"f 32/32 30/30 22/22 26/26\n" +"\n" +"t interpolateboundary 1/0/0 1\n" +"\n" +; diff --git a/regression/shapes/catmark_val2_interior.h b/regression/shapes/catmark_val2_interior.h new file mode 100644 index 00000000..23ac276f --- /dev/null +++ b/regression/shapes/catmark_val2_interior.h @@ -0,0 +1,322 @@ +// +// 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_val2_interior = +"#\n" +"# Nine shapes ordered left->right and top->bottom in the XZ plane\n" +"#\n" +"# Shape 1: top-left\n" +"#\n" +"v -1.75 0.0 0.75\n" +"v -1.42 0.0 0.75\n" +"v -1.08 0.0 0.75\n" +"v -0.75 0.0 0.75\n" +"v -0.75 0.0 1.08\n" +"v -0.75 0.0 1.42\n" +"v -0.75 0.0 1.75\n" +"v -1.08 0.0 1.75\n" +"v -1.42 0.0 1.75\n" +"v -1.75 0.0 1.75\n" +"v -1.75 0.0 1.42\n" +"v -1.75 0.0 1.08\n" +"v -1.42 0.0 1.08\n" +"v -1.08 0.0 1.08\n" +"v -1.08 0.0 1.42\n" +"v -1.42 0.0 1.42\n" +"v -1.25 -0.5 1.25\n" +"\n" +"vt -0.5 -0.5\n" +"vt -0.17 -0.5\n" +"vt 0.17 -0.5\n" +"vt 0.5 -0.5\n" +"vt 0.5 -0.17\n" +"vt 0.5 0.17\n" +"vt 0.5 0.5\n" +"vt 0.17 0.5\n" +"vt -0.17 0.5\n" +"vt -0.5 0.5\n" +"vt -0.5 0.17\n" +"vt -0.5 -0.17\n" +"vt -0.17 -0.17\n" +"vt 0.17 -0.17\n" +"vt 0.17 0.17\n" +"vt -0.17 0.17\n" +"vt 0.0 0.0 \n" +"\n" +"f 1/1 2/2 13/13 12/12\n" +"f 2/2 3/3 14/14 13/13\n" +"f 3/3 4/4 5/5 14/14\n" +"f 14/14 5/5 6/6 15/15\n" +"f 15/15 6/6 7/7 8/8\n" +"f 16/16 15/15 8/8 9/9\n" +"f 11/11 16/16 9/9 10/10\n" +"f 12/12 13/13 16/16 11/11\n" +"f 13/13 14/14 15/15 17/17\n" +"f 13/13 17/17 15/15 16/16\n" +"\n" +"#\n" +"# Shape 2: top-middle\n" +"#\n" +"v 0.0 -0.5 1.25\n" +"v 0.25 0.0 1.5\n" +"v -0.25 0.0 1.5\n" +"v -0.25 0.0 1.0\n" +"v 0.25 0.0 1.0\n" +"v 0.5 0.0 1.75\n" +"v -0.25 0.0 1.75\n" +"v -0.5 0.0 1.75\n" +"v -0.5 0.0 1.5\n" +"v -0.5 0.0 0.75\n" +"v 0.25 0.0 0.75\n" +"v 0.5 0.0 0.75\n" +"v 0.5 0.0 1.0\n" +"\n" +"vt 0 0\n" +"vt 0.25 0.25\n" +"vt -0.25 0.25\n" +"vt -0.25 -0.25\n" +"vt 0.25 -0.25\n" +"vt 0.5 0.5\n" +"vt -0.25 0.5\n" +"vt -0.5 0.5\n" +"vt -0.5 0.25\n" +"vt -0.5 -0.5\n" +"vt 0.25 -0.5\n" +"vt 0.5 -0.5\n" +"vt 0.5 -0.25\n" +"\n" +"f 18/18 19/19 20/20 21/21\n" +"f 18/18 21/21 22/22 19/19\n" +"f 19/19 23/23 24/24 20/20\n" +"f 20/20 24/24 25/25 26/26\n" +"f 20/20 26/26 27/27 21/21\n" +"f 21/21 27/27 28/28 22/22\n" +"f 22/22 28/28 29/29 30/30\n" +"f 22/22 30/30 23/23 19/19\n" +"\n" +"#\n" +"# Shape 3: top-right\n" +"#\n" +"v 1.25 -0.5 1.25\n" +"v 1.50 0.0 1.5 \n" +"v 1.0 0.0 1.5 \n" +"v 1.0 0.0 1.0 \n" +"v 1.5 0.0 1.0 \n" +"v 1.75 0.0 1.75\n" +"v 1.0 0.0 1.75\n" +"v 0.75 0.0 1.75\n" +"v 0.75 0.0 1.5 \n" +"v 0.75 0.0 0.75\n" +"v 1.5 0.0 0.75\n" +"v 1.75 0.0 0.75\n" +"v 1.75 0.0 1.0 \n" +"\n" +"vt 0 0\n" +"vt 0.25 0.25\n" +"vt -0.25 0.25\n" +"vt -0.25 -0.25\n" +"vt 0.25 -0.25\n" +"vt 0.5 0.5\n" +"vt -0.25 0.5\n" +"vt -0.5 0.5\n" +"vt -0.5 0.25\n" +"vt -0.5 -0.5\n" +"vt 0.25 -0.5\n" +"vt 0.5 -0.5\n" +"vt 0.5 -0.25\n" +"\n" +"f 31/31 32/32 33/33 34/34\n" +"f 31/31 34/34 35/35 32/32\n" +"f 32/32 36/36 37/37 33/33\n" +"f 33/33 37/37 38/38 39/39\n" +"f 33/33 39/39 40/40 34/34\n" +"f 34/34 40/40 41/41 35/35\n" +"f 35/35 41/41 42/42 43/43\n" +"f 35/35 43/43 36/36 32/32\n" +"\n" +"t crease 2/1/0 30 31 10.0\n" +"t crease 2/1/0 31 35 10.0\n" +"t crease 2/1/0 30 33 10.0\n" +"t crease 2/1/0 33 39 10.0\n" +"\n" +"#\n" +"# Shape 4: center-left\n" +"#\n" +"v -1.75 0.0 -0.5\n" +"v -1.08 0.0 -0.5\n" +"v -0.75 0.0 -0.5\n" +"v -1.42 -0.5 -0.17\n" +"v -1.75 0.0 0.17\n" +"v -1.08 0.0 0.17\n" +"v -1.75 0.0 0.5\n" +"v -0.75 0.0 0.5\n" +"\n" +"vt -1.75 -0.5\n" +"vt -1.08 -0.5\n" +"vt -0.75 -0.5\n" +"vt -1.42 -0.17\n" +"vt -1.75 0.17\n" +"vt -1.08 0.17\n" +"vt -1.75 0.5\n" +"vt -0.75 0.5\n" +"\n" +"f 44/44 45/45 49/49 47/47\n" +"f 45/45 46/46 51/51 49/49\n" +"f 44/44 47/47 49/49 48/48\n" +"f 48/48 49/49 51/51 50/50\n" +"\n" +"#\n" +"# Shape 5: center-middle\n" +"#\n" +"v -0.5 0.0 -0.5\n" +"v 0.0 0.0 -0.5\n" +"v 0.5 0.0 -0.5\n" +"v -0.5 0.0 0.0\n" +"v 0.0 0.0 0.0\n" +"v 0.5 0.0 0.0\n" +"v -0.5 0.0 0.5\n" +"v 0.0 0.0 0.5\n" +"v 0.5 0.0 0.5\n" +"v -0.1 0.1 -0.1\n" +"\n" +"vt -0.5 -0.5\n" +"vt 0.0 -0.5\n" +"vt 0.5 -0.5\n" +"vt -0.5 0.0\n" +"vt 0.0 0.0\n" +"vt 0.5 0.0\n" +"vt -0.5 0.5\n" +"vt 0.0 0.5\n" +"vt 0.5 0.5\n" +"vt -0.1 -0.1\n" +"\n" +"f 52/52 53/53 56/56 55/55\n" +"f 53/53 54/54 57/57 56/56\n" +"f 55/55 56/56 59/59 58/58\n" +"f 56/56 57/57 60/60 59/59\n" +"f 53/53 52/52 55/55 61/61\n" +"\n" +"#\n" +"# Shape 6: center-right\n" +"#\n" +"v 0.75 0.0 -0.5\n" +"v 1.75 0.0 -0.5\n" +"v 1.75 0.0 0.5\n" +"v 0.75 0.0 0.5\n" +"\n" +"vt 0.75 -0.5\n" +"vt 1.75 -0.5\n" +"vt 1.75 0.5\n" +"vt 0.75 0.5\n" +"\n" +"f 62/62 63/63 64/64 65/65\n" +"f 62/62 65/65 64/64 63/63\n" +"\n" +"#\n" +"# Shape 7: bottom-left\n" +"#\n" +"v -1.75 0.0 -1.75\n" +"v -1.25 0.0 -1.75\n" +"v -0.75 0.0 -1.75\n" +"v -1.25 -0.5 -1.25\n" +"v -1.75 0.0 -0.75\n" +"v -1.25 0.0 -0.75\n" +"v -0.75 0.0 -0.75\n" +"\n" +"vt -0.5 -0.5\n" +"vt 0.0 -0.5\n" +"vt 0.5 -0.5\n" +"vt 0.0 0.0\n" +"vt -0.5 0.5\n" +"vt 0.0 0.5\n" +"vt 0.5 0.5\n" +"\n" +"f 66/66 67/67 69/69 71/71 70/70\n" +"f 67/67 68/68 72/72 71/71 69/69\n" +"\n" +"#\n" +"# Shape 8: bottom-middle\n" +"#\n" +"v -0.5 0.0 -1.75\n" +"v 0.0 0.0 -1.75\n" +"v 0.0 -0.5 -1.75\n" +"v 0.5 0.0 -1.75\n" +"v -0.5 0.0 -0.75\n" +"v 0.0 0.0 -0.75\n" +"v 0.0 -0.5 -0.75\n" +"v 0.5 0.0 -0.75\n" +"\n" +"vt -0.5 -0.5\n" +"vt 0.0 -0.5\n" +"vt 0.0 -0.5\n" +"vt 0.5 -0.5\n" +"vt -0.5 0.5\n" +"vt 0.0 0.5\n" +"vt 0.0 0.5\n" +"vt 0.5 0.5\n" +"\n" +"f 73/73 74/74 75/75 79/79 78/78 77/77\n" +"f 80/80 78/78 79/79 75/75 74/74 76/76\n" +"\n" +"#\n" +"# Shape 9: bottom-right\n" +"#\n" +"v 1.75 -0.5 -0.75\n" +"v 1.25 -1.0 -0.75\n" +"v 0.75 -0.5 -0.75\n" +"v 1.75 -0.5 -1.75\n" +"v 0.75 -0.5 -1.75\n" +"v 1.75 0.5 -1.75\n" +"v 0.75 0.5 -1.75\n" +"v 1.75 0.5 -0.75\n" +"v 0.75 0.5 -0.75\n" +"\n" +"vt 0.375 0.000\n" +"vt 0.500 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.500 0.750\n" +"vt 0.625 0.750\n" +"vt 0.375 1.000\n" +"vt 0.500 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 84/84 81/81 82/82 83/83 85/85\n" +"f 86/86 84/84 85/85 87/87\n" +"f 88/88 86/86 87/87 89/89\n" +"f 82/92 81/91 88/88 89/89 83/93\n" +"f 83/83 89/94 87/95 85/85\n" +"f 88/96 81/81 84/84 86/97\n" +"\n" +"t interpolateboundary 1/0/0 1\n" +"\n" +; diff --git a/regression/shapes/catmark_xord_boundary.h b/regression/shapes/catmark_xord_boundary.h new file mode 100644 index 00000000..d2f91aa0 --- /dev/null +++ b/regression/shapes/catmark_xord_boundary.h @@ -0,0 +1,160 @@ +// +// 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_xord_boundary = +"#\n" +"# Four shapes ordered left->right and top->bottom in the XZ plane\n" +"#\n" +"# Shape 1: top-left\n" +"#\n" +"v -0.750000 -0.480000 0.750000\n" +"v -0.230385 0.000000 0.750000\n" +"v -0.230385 0.000000 1.050000\n" +"v -0.490192 0.000000 1.200000\n" +"v -0.750000 0.000000 1.350000\n" +"v -1.009808 0.000000 1.200000\n" +"v -1.269615 0.000000 1.050000\n" +"v -1.269615 0.000000 0.750000\n" +"\n" +"vt 0.250000 0.750000\n" +"vt 0.423205 0.750000\n" +"vt 0.423205 0.850000\n" +"vt 0.336603 0.900000\n" +"vt 0.250000 0.950000\n" +"vt 0.163397 0.900000\n" +"vt 0.076795 0.850000\n" +"vt 0.076795 0.750000\n" +"\n" +"f 1/1 2/2 3/3 4/4 \n" +"f 1/1 4/4 5/5 6/6 \n" +"f 1/1 6/6 7/7 8/8 \n" +"\n" +"#\n" +"# Shape 2: top-right\n" +"#\n" +"v 0.750000 -0.480000 0.750000\n" +"v 1.304328 0.000000 0.750000\n" +"v 1.304328 0.000000 0.979610\n" +"v 1.141969 0.000000 1.141969\n" +"v 0.979610 0.000000 1.304328\n" +"v 0.750000 0.000000 1.304328\n" +"v 0.520390 0.000000 1.304328\n" +"v 0.358031 0.000000 1.141969\n" +"v 0.195672 0.000000 0.979610\n" +"v 0.195672 0.000000 0.750000\n" +"\n" +"vt 0.750000 0.750000\n" +"vt 0.934776 0.750000\n" +"vt 0.934776 0.826537\n" +"vt 0.880656 0.880656\n" +"vt 0.826537 0.934776\n" +"vt 0.750000 0.934776\n" +"vt 0.673463 0.934776\n" +"vt 0.619344 0.880656\n" +"vt 0.565224 0.826537\n" +"vt 0.565224 0.750000\n" +"\n" +"f 9/9 10/10 11/11 12/12\n" +"f 9/9 12/12 13/13 14/14\n" +"f 9/9 14/14 15/15 16/16\n" +"f 9/9 16/16 17/17 18/18\n" +"\n" +"#\n" +"# Shape 3: bottom-left\n" +"#\n" +"v -0.750000 -0.480000 -0.750000\n" +"v -0.179366 0.000000 -0.750000\n" +"v -0.179366 0.000000 -0.564590\n" +"v -0.288347 0.000000 -0.414590\n" +"v -0.397329 0.000000 -0.264590\n" +"v -0.573664 0.000000 -0.207295\n" +"v -0.750000 0.000000 -0.150000\n" +"v -0.926336 0.000000 -0.207295\n" +"v -1.102671 0.000000 -0.264590\n" +"v -1.211653 0.000000 -0.414590\n" +"v -1.320634 0.000000 -0.564590\n" +"v -1.320634 0.000000 -0.750000\n" +"\n" +"vt 0.250000 0.250000\n" +"vt 0.440211 0.250000\n" +"vt 0.440211 0.311803\n" +"vt 0.403884 0.361803\n" +"vt 0.367557 0.411803\n" +"vt 0.308779 0.430902\n" +"vt 0.250000 0.450000\n" +"vt 0.191221 0.430902\n" +"vt 0.132443 0.411803\n" +"vt 0.096116 0.361803\n" +"vt 0.059789 0.311803\n" +"vt 0.059789 0.250000\n" +"\n" +"f 19/19 20/20 21/21 22/22\n" +"f 19/19 22/22 23/23 24/24\n" +"f 19/19 24/24 25/25 26/26\n" +"f 19/19 26/26 27/27 28/28\n" +"f 19/19 28/28 29/29 30/30\n" +"\n" +"#\n" +"# Shape 4: bottom-right\n" +"#\n" +"v 0.750000 -0.480000 -0.750000\n" +"v 1.329556 0.000000 -0.750000\n" +"v 1.329556 0.000000 -0.594709\n" +"v 1.251910 0.000000 -0.460222\n" +"v 1.174264 0.000000 -0.325736\n" +"v 1.039778 0.000000 -0.248090\n" +"v 0.905291 0.000000 -0.170444\n" +"v 0.750000 0.000000 -0.170444\n" +"v 0.594709 0.000000 -0.170444\n" +"v 0.460222 0.000000 -0.248090\n" +"v 0.325736 0.000000 -0.325736\n" +"v 0.248090 0.000000 -0.460222\n" +"v 0.170444 0.000000 -0.594709\n" +"v 0.170444 0.000000 -0.750000\n" +"\n" +"vt 0.750000 0.250000\n" +"vt 0.943185 0.250000\n" +"vt 0.943185 0.301764\n" +"vt 0.917303 0.346593\n" +"vt 0.891421 0.391421\n" +"vt 0.846593 0.417303\n" +"vt 0.801764 0.443185\n" +"vt 0.750000 0.443185\n" +"vt 0.698236 0.443185\n" +"vt 0.653407 0.417303\n" +"vt 0.608579 0.391421\n" +"vt 0.582697 0.346593\n" +"vt 0.556815 0.301764\n" +"vt 0.556815 0.250000\n" +"\n" +"f 31/31 32/32 33/33 34/34\n" +"f 31/31 34/34 35/35 36/36\n" +"f 31/31 36/36 37/37 38/38\n" +"f 31/31 38/38 39/39 40/40\n" +"f 31/31 40/40 41/41 42/42\n" +"f 31/31 42/42 43/43 44/44\n" +"\n" +"t interpolateboundary 1/0/0 1\n" +"\n" +; diff --git a/regression/shapes/catmark_xord_interior.h b/regression/shapes/catmark_xord_interior.h new file mode 100644 index 00000000..116929a7 --- /dev/null +++ b/regression/shapes/catmark_xord_interior.h @@ -0,0 +1,457 @@ +// +// 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_xord_interior = +"#\n" +"# Nine shapes ordered left->right and top->bottom in the XZ plane\n" +"#\n" +"# Shape 1: top-left\n" +"#\n" +"v -1.250000 -0.480000 1.250000\n" +"v -0.950000 0.000000 1.250000\n" +"v -0.950000 0.000000 1.769615\n" +"v -1.400000 0.000000 1.509808\n" +"v -1.850000 0.000000 1.250000\n" +"v -1.400000 0.000000 0.990192\n" +"v -0.950000 0.000000 0.730385\n" +"\n" +"vt 0.170000 0.830000\n" +"vt 0.245000 0.830000\n" +"vt 0.245000 0.959904\n" +"vt 0.132500 0.894952\n" +"vt 0.020000 0.830000\n" +"vt 0.132500 0.765048\n" +"vt 0.245000 0.700096\n" +"\n" +"f 1/1 2/2 3/3 4/4 \n" +"f 1/1 4/4 5/5 6/6 \n" +"f 1/1 6/6 7/7 2/2 \n" +"\n" +"#\n" +"# Shape 2: top-middle\n" +"#\n" +"v 0.000000 -0.480000 1.250000\n" +"v 0.485410 0.000000 1.250000\n" +"v 0.485410 0.000000 1.602671\n" +"v 0.150000 0.000000 1.711653\n" +"v -0.185410 0.000000 1.820634\n" +"v -0.392705 0.000000 1.535317\n" +"v -0.600000 0.000000 1.250000\n" +"v -0.392705 0.000000 0.964683\n" +"v -0.185410 0.000000 0.679366\n" +"v 0.150000 0.000000 0.788347\n" +"v 0.485410 0.000000 0.897329\n" +"\n" +"vt 0.500000 0.830000\n" +"vt 0.621353 0.830000\n" +"vt 0.621353 0.918168\n" +"vt 0.537500 0.945413\n" +"vt 0.453647 0.972658\n" +"vt 0.401824 0.901329\n" +"vt 0.350000 0.830000\n" +"vt 0.401824 0.758671\n" +"vt 0.453647 0.687342\n" +"vt 0.537500 0.714587\n" +"vt 0.621353 0.741832\n" +"\n" +"f 8/8 9/9 10/10 11/11\n" +"f 8/8 11/11 12/12 13/13\n" +"f 8/8 13/13 14/14 15/15\n" +"f 8/8 15/15 16/16 17/17\n" +"f 8/8 17/17 18/18 9/9 \n" +"\n" +"#\n" +"# Shape 3: top-right\n" +"#\n" +"v 1.250000 -0.480000 1.250000\n" +"v 1.769615 0.000000 1.250000\n" +"v 1.769615 0.000000 1.550000\n" +"v 1.509808 0.000000 1.700000\n" +"v 1.250000 0.000000 1.850000\n" +"v 0.990192 0.000000 1.700000\n" +"v 0.730385 0.000000 1.550000\n" +"v 0.730385 0.000000 1.250000\n" +"v 0.730385 0.000000 0.950000\n" +"v 0.990192 0.000000 0.800000\n" +"v 1.250000 0.000000 0.650000\n" +"v 1.509808 0.000000 0.800000\n" +"v 1.769615 0.000000 0.950000\n" +"\n" +"vt 0.830000 0.830000\n" +"vt 0.959904 0.830000\n" +"vt 0.959904 0.905000\n" +"vt 0.894952 0.942500\n" +"vt 0.830000 0.980000\n" +"vt 0.765048 0.942500\n" +"vt 0.700096 0.905000\n" +"vt 0.700096 0.830000\n" +"vt 0.700096 0.755000\n" +"vt 0.765048 0.717500\n" +"vt 0.830000 0.680000\n" +"vt 0.894952 0.717500\n" +"vt 0.959904 0.755000\n" +"\n" +"f 19/19 20/20 21/21 22/22\n" +"f 19/19 22/22 23/23 24/24\n" +"f 19/19 24/24 25/25 26/26\n" +"f 19/19 26/26 27/27 28/28\n" +"f 19/19 28/28 29/29 30/30\n" +"f 19/19 30/30 31/31 20/20\n" +"\n" +"#\n" +"# Shape 4: center-left\n" +"#\n" +"v -1.250000 -0.480000 0.000000\n" +"v -0.709419 0.000000 0.000000\n" +"v -0.709419 0.000000 0.260330\n" +"v -0.912953 0.000000 0.422644\n" +"v -1.116488 0.000000 0.584957\n" +"v -1.370291 0.000000 0.527028\n" +"v -1.624094 0.000000 0.469099\n" +"v -1.737047 0.000000 0.234549\n" +"v -1.850000 0.000000 -0.000000\n" +"v -1.737047 0.000000 -0.234549\n" +"v -1.624094 0.000000 -0.469099\n" +"v -1.370291 0.000000 -0.527028\n" +"v -1.116487 0.000000 -0.584957\n" +"v -0.912953 0.000000 -0.422643\n" +"v -0.709419 0.000000 -0.260330\n" +"\n" +"vt 0.170000 0.500000\n" +"vt 0.305145 0.500000\n" +"vt 0.305145 0.565083\n" +"vt 0.254262 0.605661\n" +"vt 0.203378 0.646239\n" +"vt 0.139927 0.631757\n" +"vt 0.076477 0.617275\n" +"vt 0.048238 0.558637\n" +"vt 0.020000 0.500000\n" +"vt 0.048238 0.441363\n" +"vt 0.076477 0.382725\n" +"vt 0.139927 0.368243\n" +"vt 0.203378 0.353761\n" +"vt 0.254262 0.394339\n" +"vt 0.305145 0.434918\n" +"\n" +"f 32/32 33/33 34/34 35/35\n" +"f 32/32 35/35 36/36 37/37\n" +"f 32/32 37/37 38/38 39/39\n" +"f 32/32 39/39 40/40 41/41\n" +"f 32/32 41/41 42/42 43/43\n" +"f 32/32 43/43 44/44 45/45\n" +"f 32/32 45/45 46/46 33/33\n" +"\n" +"#\n" +"# Shape 5: center-middle\n" +"#\n" +"v 0.000000 -0.480000 0.000000\n" +"v 0.554328 0.000000 0.000000\n" +"v 0.554328 0.000000 0.229610\n" +"v 0.391969 0.000000 0.391969\n" +"v 0.229610 0.000000 0.554328\n" +"v -0.000000 0.000000 0.554328\n" +"v -0.229610 0.000000 0.554328\n" +"v -0.391969 0.000000 0.391969\n" +"v -0.554328 0.000000 0.229610\n" +"v -0.554328 0.000000 -0.000000\n" +"v -0.554328 0.000000 -0.229610\n" +"v -0.391969 0.000000 -0.391969\n" +"v -0.229610 0.000000 -0.554328\n" +"v 0.000000 0.000000 -0.554328\n" +"v 0.229610 0.000000 -0.554328\n" +"v 0.391969 0.000000 -0.391969\n" +"v 0.554328 0.000000 -0.229610\n" +"\n" +"vt 0.500000 0.500000\n" +"vt 0.638582 0.500000\n" +"vt 0.638582 0.557402\n" +"vt 0.597992 0.597992\n" +"vt 0.557402 0.638582\n" +"vt 0.500000 0.638582\n" +"vt 0.442597 0.638582\n" +"vt 0.402008 0.597992\n" +"vt 0.361418 0.557403\n" +"vt 0.361418 0.500000\n" +"vt 0.361418 0.442597\n" +"vt 0.402008 0.402008\n" +"vt 0.442598 0.361418\n" +"vt 0.500000 0.361418\n" +"vt 0.557403 0.361418\n" +"vt 0.597992 0.402008\n" +"vt 0.638582 0.442598\n" +"\n" +"f 47/47 48/48 49/49 50/50\n" +"f 47/47 50/50 51/51 52/52\n" +"f 47/47 52/52 53/53 54/54\n" +"f 47/47 54/54 55/55 56/56\n" +"f 47/47 56/56 57/57 58/58\n" +"f 47/47 58/58 59/59 60/60\n" +"f 47/47 60/60 61/61 62/62\n" +"f 47/47 62/62 63/63 48/48\n" +"\n" +"#\n" +"# Shape 6: center-right\n" +"#\n" +"v 1.250000 -0.480000 0.000000\n" +"v 1.813816 0.000000 0.000000\n" +"v 1.813816 0.000000 0.205212\n" +"v 1.681908 0.000000 0.362414\n" +"v 1.550000 0.000000 0.519615\n" +"v 1.347906 0.000000 0.555250\n" +"v 1.145811 0.000000 0.590885\n" +"v 0.968092 0.000000 0.488279\n" +"v 0.790373 0.000000 0.385673\n" +"v 0.720187 0.000000 0.192836\n" +"v 0.650000 0.000000 -0.000000\n" +"v 0.720187 0.000000 -0.192836\n" +"v 0.790373 0.000000 -0.385673\n" +"v 0.968092 0.000000 -0.488279\n" +"v 1.145811 0.000000 -0.590885\n" +"v 1.347906 0.000000 -0.555250\n" +"v 1.550000 0.000000 -0.519615\n" +"v 1.681908 0.000000 -0.362414\n" +"v 1.813816 0.000000 -0.205212\n" +"\n" +"vt 0.830000 0.500000\n" +"vt 0.970954 0.500000\n" +"vt 0.970954 0.551303\n" +"vt 0.937977 0.590603\n" +"vt 0.905000 0.629904\n" +"vt 0.854476 0.638812\n" +"vt 0.803953 0.647721\n" +"vt 0.759523 0.622070\n" +"vt 0.715093 0.596418\n" +"vt 0.697547 0.548209\n" +"vt 0.680000 0.500000\n" +"vt 0.697547 0.451791\n" +"vt 0.715093 0.403582\n" +"vt 0.759523 0.377930\n" +"vt 0.803953 0.352279\n" +"vt 0.854476 0.361188\n" +"vt 0.905000 0.370096\n" +"vt 0.937977 0.409397\n" +"vt 0.970954 0.448697\n" +"\n" +"f 64/64 65/65 66/66 67/67\n" +"f 64/64 67/67 68/68 69/69\n" +"f 64/64 69/69 70/70 71/71\n" +"f 64/64 71/71 72/72 73/73\n" +"f 64/64 73/73 74/74 75/75\n" +"f 64/64 75/75 76/76 77/77\n" +"f 64/64 77/77 78/78 79/79\n" +"f 64/64 79/79 80/80 81/81\n" +"f 64/64 81/81 82/82 65/65\n" +"\n" +"#\n" +"# Shape 7: bottom-left\n" +"#\n" +"v -1.250000 -0.480000 -1.250000\n" +"v -0.679366 0.000000 -1.250000\n" +"v -0.679366 0.000000 -1.064590\n" +"v -0.788347 0.000000 -0.914590\n" +"v -0.897329 0.000000 -0.764590\n" +"v -1.073664 0.000000 -0.707295\n" +"v -1.250000 0.000000 -0.650000\n" +"v -1.426336 0.000000 -0.707295\n" +"v -1.602671 0.000000 -0.764590\n" +"v -1.711653 0.000000 -0.914590\n" +"v -1.820634 0.000000 -1.064590\n" +"v -1.820634 0.000000 -1.250000\n" +"v -1.820634 0.000000 -1.435410\n" +"v -1.711653 0.000000 -1.585410\n" +"v -1.602671 0.000000 -1.735410\n" +"v -1.426336 0.000000 -1.792705\n" +"v -1.250000 0.000000 -1.850000\n" +"v -1.073664 0.000000 -1.792705\n" +"v -0.897329 0.000000 -1.735410\n" +"v -0.788347 0.000000 -1.585410\n" +"v -0.679366 0.000000 -1.435410\n" +"\n" +"vt 0.170000 0.170000\n" +"vt 0.312658 0.170000\n" +"vt 0.312658 0.216353\n" +"vt 0.285413 0.253853\n" +"vt 0.258168 0.291353\n" +"vt 0.214084 0.305676\n" +"vt 0.170000 0.320000\n" +"vt 0.125916 0.305676\n" +"vt 0.081832 0.291353\n" +"vt 0.054587 0.253853\n" +"vt 0.027342 0.216353\n" +"vt 0.027342 0.170000\n" +"vt 0.027342 0.123647\n" +"vt 0.054587 0.086147\n" +"vt 0.081832 0.048647\n" +"vt 0.125916 0.034324\n" +"vt 0.170000 0.020000\n" +"vt 0.214084 0.034324\n" +"vt 0.258168 0.048647\n" +"vt 0.285413 0.086147\n" +"vt 0.312659 0.123648\n" +"\n" +"f 83/83 84/84 85/85 86/86 \n" +"f 83/83 86/86 87/87 88/88 \n" +"f 83/83 88/88 89/89 90/90 \n" +"f 83/83 90/90 91/91 92/92 \n" +"f 83/83 92/92 93/93 94/94 \n" +"f 83/83 94/94 95/95 96/96 \n" +"f 83/83 96/96 97/97 98/98 \n" +"f 83/83 98/98 99/99 100/100\n" +"f 83/83 100/100 101/101 102/102\n" +"f 83/83 102/102 103/103 84/84 \n" +"\n" +"#\n" +"# Shape 8: bottom-middle\n" +"#\n" +"v 0.000000 -0.480000 -1.250000\n" +"v 0.575696 0.000000 -1.250000\n" +"v 0.575696 0.000000 -1.080960\n" +"v 0.484306 0.000000 -0.938755\n" +"v 0.392916 0.000000 -0.796550\n" +"v 0.239153 0.000000 -0.726329\n" +"v 0.085389 0.000000 -0.656107\n" +"v -0.081930 0.000000 -0.680164\n" +"v -0.249249 0.000000 -0.704221\n" +"v -0.377001 0.000000 -0.814918\n" +"v -0.504752 0.000000 -0.925616\n" +"v -0.552376 0.000000 -1.087808\n" +"v -0.600000 0.000000 -1.250000\n" +"v -0.552376 0.000000 -1.412192\n" +"v -0.504752 0.000000 -1.574385\n" +"v -0.377000 0.000000 -1.685082\n" +"v -0.249249 0.000000 -1.795779\n" +"v -0.081930 0.000000 -1.819836\n" +"v 0.085389 0.000000 -1.843893\n" +"v 0.239153 0.000000 -1.773671\n" +"v 0.392916 0.000000 -1.703450\n" +"v 0.484306 0.000000 -1.561244\n" +"v 0.575696 0.000000 -1.419039\n" +"\n" +"vt 0.500000 0.170000\n" +"vt 0.643924 0.170000\n" +"vt 0.643924 0.212260\n" +"vt 0.621077 0.247811\n" +"vt 0.598229 0.283362\n" +"vt 0.559788 0.300918\n" +"vt 0.521347 0.318473\n" +"vt 0.479517 0.312459\n" +"vt 0.437688 0.306445\n" +"vt 0.405750 0.278770\n" +"vt 0.373812 0.251096\n" +"vt 0.361906 0.210548\n" +"vt 0.350000 0.170000\n" +"vt 0.361906 0.129452\n" +"vt 0.373812 0.088904\n" +"vt 0.405750 0.061230\n" +"vt 0.437688 0.033555\n" +"vt 0.479518 0.027541\n" +"vt 0.521347 0.021527\n" +"vt 0.559788 0.039082\n" +"vt 0.598229 0.056638\n" +"vt 0.621077 0.092189\n" +"vt 0.643924 0.127740\n" +"\n" +"f 104/104 105/105 106/106 107/107\n" +"f 104/104 107/107 108/108 109/109\n" +"f 104/104 109/109 110/110 111/111\n" +"f 104/104 111/111 112/112 113/113\n" +"f 104/104 113/113 114/114 115/115\n" +"f 104/104 115/115 116/116 117/117\n" +"f 104/104 117/117 118/118 119/119\n" +"f 104/104 119/119 120/120 121/121\n" +"f 104/104 121/121 122/122 123/123\n" +"f 104/104 123/123 124/124 125/125\n" +"f 104/104 125/125 126/126 105/105\n" +"\n" +"#\n" +"# Shape 9: bottom-right\n" +"#\n" +"v 1.250000 -0.480000 -1.250000\n" +"v 1.829556 0.000000 -1.250000\n" +"v 1.829556 0.000000 -1.094709\n" +"v 1.751910 0.000000 -0.960222\n" +"v 1.674264 0.000000 -0.825736\n" +"v 1.539778 0.000000 -0.748090\n" +"v 1.405291 0.000000 -0.670444\n" +"v 1.250000 0.000000 -0.670444\n" +"v 1.094708 0.000000 -0.670444\n" +"v 0.960222 0.000000 -0.748090\n" +"v 0.825736 0.000000 -0.825736\n" +"v 0.748090 0.000000 -0.960222\n" +"v 0.670444 0.000000 -1.094709\n" +"v 0.670444 0.000000 -1.250000\n" +"v 0.670444 0.000000 -1.405291\n" +"v 0.748090 0.000000 -1.539778\n" +"v 0.825736 0.000000 -1.674264\n" +"v 0.960222 0.000000 -1.751910\n" +"v 1.094709 0.000000 -1.829556\n" +"v 1.250000 0.000000 -1.829556\n" +"v 1.405291 0.000000 -1.829556\n" +"v 1.539778 0.000000 -1.751910\n" +"v 1.674264 0.000000 -1.674264\n" +"v 1.751910 0.000000 -1.539778\n" +"v 1.829556 0.000000 -1.405291\n" +"\n" +"vt 0.830000 0.170000\n" +"vt 0.974889 0.170000\n" +"vt 0.974889 0.208823\n" +"vt 0.955477 0.242444\n" +"vt 0.936066 0.276066\n" +"vt 0.902444 0.295477\n" +"vt 0.868823 0.314889\n" +"vt 0.830000 0.314889\n" +"vt 0.791177 0.314889\n" +"vt 0.757556 0.295477\n" +"vt 0.723934 0.276066\n" +"vt 0.704523 0.242444\n" +"vt 0.685111 0.208823\n" +"vt 0.685111 0.170000\n" +"vt 0.685111 0.131177\n" +"vt 0.704523 0.097556\n" +"vt 0.723934 0.063934\n" +"vt 0.757556 0.044523\n" +"vt 0.791177 0.025111\n" +"vt 0.830000 0.025111\n" +"vt 0.868823 0.025111\n" +"vt 0.902444 0.044523\n" +"vt 0.936066 0.063934\n" +"vt 0.955477 0.097556\n" +"vt 0.974889 0.131177\n" +"\n" +"f 127/127 128/128 129/129 130/130\n" +"f 127/127 130/130 131/131 132/132\n" +"f 127/127 132/132 133/133 134/134\n" +"f 127/127 134/134 135/135 136/136\n" +"f 127/127 136/136 137/137 138/138\n" +"f 127/127 138/138 139/139 140/140\n" +"f 127/127 140/140 141/141 142/142\n" +"f 127/127 142/142 143/143 144/144\n" +"f 127/127 144/144 145/145 146/146\n" +"f 127/127 146/146 147/147 148/148\n" +"f 127/127 148/148 149/149 150/150\n" +"f 127/127 150/150 151/151 128/128\n" +"\n" +"t interpolateboundary 1/0/0 1\n" +"\n" +;