OpenSubdiv/regression/shapes/catmark_nonman_edge100.h
barry 07b4ecc1cc Added new regression shapes for non-manifold edges with many incident faces:
- added simple shapes for both Catmark and Loop
    - included per-vertex UVs, which triggered issues with FVar StencilTables
2019-05-16 14:47:01 -07:00

539 lines
14 KiB
C++

//
// 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_edge100 =
"#\n"
"# 100 quads arranged radially and sharing a common edge:\n"
"#\n"
"v 1.000 -0.500 0.000\n"
"v 0.998 -0.500 0.063\n"
"v 0.992 -0.500 0.125\n"
"v 0.982 -0.500 0.187\n"
"v 0.969 -0.500 0.249\n"
"v 0.951 -0.500 0.309\n"
"v 0.930 -0.500 0.368\n"
"v 0.905 -0.500 0.426\n"
"v 0.876 -0.500 0.482\n"
"v 0.844 -0.500 0.536\n"
"v 0.809 -0.500 0.588\n"
"v 0.771 -0.500 0.637\n"
"v 0.729 -0.500 0.685\n"
"v 0.685 -0.500 0.729\n"
"v 0.637 -0.500 0.771\n"
"v 0.588 -0.500 0.809\n"
"v 0.536 -0.500 0.844\n"
"v 0.482 -0.500 0.876\n"
"v 0.426 -0.500 0.905\n"
"v 0.368 -0.500 0.930\n"
"v 0.309 -0.500 0.951\n"
"v 0.249 -0.500 0.969\n"
"v 0.187 -0.500 0.982\n"
"v 0.125 -0.500 0.992\n"
"v 0.063 -0.500 0.998\n"
"v 0.000 -0.500 1.000\n"
"v -0.063 -0.500 0.998\n"
"v -0.125 -0.500 0.992\n"
"v -0.187 -0.500 0.982\n"
"v -0.249 -0.500 0.969\n"
"v -0.309 -0.500 0.951\n"
"v -0.368 -0.500 0.930\n"
"v -0.426 -0.500 0.905\n"
"v -0.482 -0.500 0.876\n"
"v -0.536 -0.500 0.844\n"
"v -0.588 -0.500 0.809\n"
"v -0.637 -0.500 0.771\n"
"v -0.685 -0.500 0.729\n"
"v -0.729 -0.500 0.685\n"
"v -0.771 -0.500 0.637\n"
"v -0.809 -0.500 0.588\n"
"v -0.844 -0.500 0.536\n"
"v -0.876 -0.500 0.482\n"
"v -0.905 -0.500 0.426\n"
"v -0.930 -0.500 0.368\n"
"v -0.951 -0.500 0.309\n"
"v -0.969 -0.500 0.249\n"
"v -0.982 -0.500 0.187\n"
"v -0.992 -0.500 0.125\n"
"v -0.998 -0.500 0.063\n"
"v -1.000 -0.500 0.000\n"
"v -0.998 -0.500 -0.063\n"
"v -0.992 -0.500 -0.125\n"
"v -0.982 -0.500 -0.187\n"
"v -0.969 -0.500 -0.249\n"
"v -0.951 -0.500 -0.309\n"
"v -0.930 -0.500 -0.368\n"
"v -0.905 -0.500 -0.426\n"
"v -0.876 -0.500 -0.482\n"
"v -0.844 -0.500 -0.536\n"
"v -0.809 -0.500 -0.588\n"
"v -0.771 -0.500 -0.637\n"
"v -0.729 -0.500 -0.685\n"
"v -0.685 -0.500 -0.729\n"
"v -0.637 -0.500 -0.771\n"
"v -0.588 -0.500 -0.809\n"
"v -0.536 -0.500 -0.844\n"
"v -0.482 -0.500 -0.876\n"
"v -0.426 -0.500 -0.905\n"
"v -0.368 -0.500 -0.930\n"
"v -0.309 -0.500 -0.951\n"
"v -0.249 -0.500 -0.969\n"
"v -0.187 -0.500 -0.982\n"
"v -0.125 -0.500 -0.992\n"
"v -0.063 -0.500 -0.998\n"
"v 0.000 -0.500 -1.000\n"
"v 0.063 -0.500 -0.998\n"
"v 0.125 -0.500 -0.992\n"
"v 0.187 -0.500 -0.982\n"
"v 0.249 -0.500 -0.969\n"
"v 0.309 -0.500 -0.951\n"
"v 0.368 -0.500 -0.930\n"
"v 0.426 -0.500 -0.905\n"
"v 0.482 -0.500 -0.876\n"
"v 0.536 -0.500 -0.844\n"
"v 0.588 -0.500 -0.809\n"
"v 0.637 -0.500 -0.771\n"
"v 0.685 -0.500 -0.729\n"
"v 0.729 -0.500 -0.685\n"
"v 0.771 -0.500 -0.637\n"
"v 0.809 -0.500 -0.588\n"
"v 0.844 -0.500 -0.536\n"
"v 0.876 -0.500 -0.482\n"
"v 0.905 -0.500 -0.426\n"
"v 0.930 -0.500 -0.368\n"
"v 0.951 -0.500 -0.309\n"
"v 0.969 -0.500 -0.249\n"
"v 0.982 -0.500 -0.187\n"
"v 0.992 -0.500 -0.125\n"
"v 0.998 -0.500 -0.063\n"
"v 1.000 0.500 0.000\n"
"v 0.998 0.500 0.063\n"
"v 0.992 0.500 0.125\n"
"v 0.982 0.500 0.187\n"
"v 0.969 0.500 0.249\n"
"v 0.951 0.500 0.309\n"
"v 0.930 0.500 0.368\n"
"v 0.905 0.500 0.426\n"
"v 0.876 0.500 0.482\n"
"v 0.844 0.500 0.536\n"
"v 0.809 0.500 0.588\n"
"v 0.771 0.500 0.637\n"
"v 0.729 0.500 0.685\n"
"v 0.685 0.500 0.729\n"
"v 0.637 0.500 0.771\n"
"v 0.588 0.500 0.809\n"
"v 0.536 0.500 0.844\n"
"v 0.482 0.500 0.876\n"
"v 0.426 0.500 0.905\n"
"v 0.368 0.500 0.930\n"
"v 0.309 0.500 0.951\n"
"v 0.249 0.500 0.969\n"
"v 0.187 0.500 0.982\n"
"v 0.125 0.500 0.992\n"
"v 0.063 0.500 0.998\n"
"v 0.000 0.500 1.000\n"
"v -0.063 0.500 0.998\n"
"v -0.125 0.500 0.992\n"
"v -0.187 0.500 0.982\n"
"v -0.249 0.500 0.969\n"
"v -0.309 0.500 0.951\n"
"v -0.368 0.500 0.930\n"
"v -0.426 0.500 0.905\n"
"v -0.482 0.500 0.876\n"
"v -0.536 0.500 0.844\n"
"v -0.588 0.500 0.809\n"
"v -0.637 0.500 0.771\n"
"v -0.685 0.500 0.729\n"
"v -0.729 0.500 0.685\n"
"v -0.771 0.500 0.637\n"
"v -0.809 0.500 0.588\n"
"v -0.844 0.500 0.536\n"
"v -0.876 0.500 0.482\n"
"v -0.905 0.500 0.426\n"
"v -0.930 0.500 0.368\n"
"v -0.951 0.500 0.309\n"
"v -0.969 0.500 0.249\n"
"v -0.982 0.500 0.187\n"
"v -0.992 0.500 0.125\n"
"v -0.998 0.500 0.063\n"
"v -1.000 0.500 0.000\n"
"v -0.998 0.500 -0.063\n"
"v -0.992 0.500 -0.125\n"
"v -0.982 0.500 -0.187\n"
"v -0.969 0.500 -0.249\n"
"v -0.951 0.500 -0.309\n"
"v -0.930 0.500 -0.368\n"
"v -0.905 0.500 -0.426\n"
"v -0.876 0.500 -0.482\n"
"v -0.844 0.500 -0.536\n"
"v -0.809 0.500 -0.588\n"
"v -0.771 0.500 -0.637\n"
"v -0.729 0.500 -0.685\n"
"v -0.685 0.500 -0.729\n"
"v -0.637 0.500 -0.771\n"
"v -0.588 0.500 -0.809\n"
"v -0.536 0.500 -0.844\n"
"v -0.482 0.500 -0.876\n"
"v -0.426 0.500 -0.905\n"
"v -0.368 0.500 -0.930\n"
"v -0.309 0.500 -0.951\n"
"v -0.249 0.500 -0.969\n"
"v -0.187 0.500 -0.982\n"
"v -0.125 0.500 -0.992\n"
"v -0.063 0.500 -0.998\n"
"v 0.000 0.500 -1.000\n"
"v 0.063 0.500 -0.998\n"
"v 0.125 0.500 -0.992\n"
"v 0.187 0.500 -0.982\n"
"v 0.249 0.500 -0.969\n"
"v 0.309 0.500 -0.951\n"
"v 0.368 0.500 -0.930\n"
"v 0.426 0.500 -0.905\n"
"v 0.482 0.500 -0.876\n"
"v 0.536 0.500 -0.844\n"
"v 0.588 0.500 -0.809\n"
"v 0.637 0.500 -0.771\n"
"v 0.685 0.500 -0.729\n"
"v 0.729 0.500 -0.685\n"
"v 0.771 0.500 -0.637\n"
"v 0.809 0.500 -0.588\n"
"v 0.844 0.500 -0.536\n"
"v 0.876 0.500 -0.482\n"
"v 0.905 0.500 -0.426\n"
"v 0.930 0.500 -0.368\n"
"v 0.951 0.500 -0.309\n"
"v 0.969 0.500 -0.249\n"
"v 0.982 0.500 -0.187\n"
"v 0.992 0.500 -0.125\n"
"v 0.998 0.500 -0.063\n"
"v 0.000 -0.500 0.000\n"
"v 0.000 0.500 0.000\n"
"\n"
"vt 1.000 0.500\n"
"vt 0.999 0.531\n"
"vt 0.996 0.563\n"
"vt 0.991 0.594\n"
"vt 0.984 0.624\n"
"vt 0.976 0.655\n"
"vt 0.965 0.684\n"
"vt 0.952 0.713\n"
"vt 0.938 0.741\n"
"vt 0.922 0.768\n"
"vt 0.905 0.794\n"
"vt 0.885 0.819\n"
"vt 0.864 0.842\n"
"vt 0.842 0.864\n"
"vt 0.819 0.885\n"
"vt 0.794 0.905\n"
"vt 0.768 0.922\n"
"vt 0.741 0.938\n"
"vt 0.713 0.952\n"
"vt 0.684 0.965\n"
"vt 0.655 0.976\n"
"vt 0.624 0.984\n"
"vt 0.594 0.991\n"
"vt 0.563 0.996\n"
"vt 0.531 0.999\n"
"vt 0.500 1.000\n"
"vt 0.469 0.999\n"
"vt 0.437 0.996\n"
"vt 0.406 0.991\n"
"vt 0.376 0.984\n"
"vt 0.345 0.976\n"
"vt 0.316 0.965\n"
"vt 0.287 0.952\n"
"vt 0.259 0.938\n"
"vt 0.232 0.922\n"
"vt 0.206 0.905\n"
"vt 0.181 0.885\n"
"vt 0.158 0.864\n"
"vt 0.136 0.842\n"
"vt 0.115 0.819\n"
"vt 0.095 0.794\n"
"vt 0.078 0.768\n"
"vt 0.062 0.741\n"
"vt 0.048 0.713\n"
"vt 0.035 0.684\n"
"vt 0.024 0.655\n"
"vt 0.016 0.624\n"
"vt 0.009 0.594\n"
"vt 0.004 0.563\n"
"vt 0.001 0.531\n"
"vt 0.000 0.500\n"
"vt 0.001 0.469\n"
"vt 0.004 0.437\n"
"vt 0.009 0.406\n"
"vt 0.016 0.376\n"
"vt 0.024 0.345\n"
"vt 0.035 0.316\n"
"vt 0.048 0.287\n"
"vt 0.062 0.259\n"
"vt 0.078 0.232\n"
"vt 0.095 0.206\n"
"vt 0.115 0.181\n"
"vt 0.136 0.158\n"
"vt 0.158 0.136\n"
"vt 0.181 0.115\n"
"vt 0.206 0.095\n"
"vt 0.232 0.078\n"
"vt 0.259 0.062\n"
"vt 0.287 0.048\n"
"vt 0.316 0.035\n"
"vt 0.345 0.024\n"
"vt 0.376 0.016\n"
"vt 0.406 0.009\n"
"vt 0.437 0.004\n"
"vt 0.469 0.001\n"
"vt 0.500 0.000\n"
"vt 0.531 0.001\n"
"vt 0.563 0.004\n"
"vt 0.594 0.009\n"
"vt 0.624 0.016\n"
"vt 0.655 0.024\n"
"vt 0.684 0.035\n"
"vt 0.713 0.048\n"
"vt 0.741 0.062\n"
"vt 0.768 0.078\n"
"vt 0.794 0.095\n"
"vt 0.819 0.115\n"
"vt 0.842 0.136\n"
"vt 0.864 0.158\n"
"vt 0.885 0.181\n"
"vt 0.905 0.206\n"
"vt 0.922 0.232\n"
"vt 0.938 0.259\n"
"vt 0.952 0.287\n"
"vt 0.965 0.316\n"
"vt 0.976 0.345\n"
"vt 0.984 0.376\n"
"vt 0.991 0.406\n"
"vt 0.996 0.437\n"
"vt 0.999 0.469\n"
"vt 1.000 0.500\n"
"vt 0.999 0.531\n"
"vt 0.996 0.563\n"
"vt 0.991 0.594\n"
"vt 0.984 0.624\n"
"vt 0.976 0.655\n"
"vt 0.965 0.684\n"
"vt 0.952 0.713\n"
"vt 0.938 0.741\n"
"vt 0.922 0.768\n"
"vt 0.905 0.794\n"
"vt 0.885 0.819\n"
"vt 0.864 0.842\n"
"vt 0.842 0.864\n"
"vt 0.819 0.885\n"
"vt 0.794 0.905\n"
"vt 0.768 0.922\n"
"vt 0.741 0.938\n"
"vt 0.713 0.952\n"
"vt 0.684 0.965\n"
"vt 0.655 0.976\n"
"vt 0.624 0.984\n"
"vt 0.594 0.991\n"
"vt 0.563 0.996\n"
"vt 0.531 0.999\n"
"vt 0.500 1.000\n"
"vt 0.469 0.999\n"
"vt 0.437 0.996\n"
"vt 0.406 0.991\n"
"vt 0.376 0.984\n"
"vt 0.345 0.976\n"
"vt 0.316 0.965\n"
"vt 0.287 0.952\n"
"vt 0.259 0.938\n"
"vt 0.232 0.922\n"
"vt 0.206 0.905\n"
"vt 0.181 0.885\n"
"vt 0.158 0.864\n"
"vt 0.136 0.842\n"
"vt 0.115 0.819\n"
"vt 0.095 0.794\n"
"vt 0.078 0.768\n"
"vt 0.062 0.741\n"
"vt 0.048 0.713\n"
"vt 0.035 0.684\n"
"vt 0.024 0.655\n"
"vt 0.016 0.624\n"
"vt 0.009 0.594\n"
"vt 0.004 0.563\n"
"vt 0.001 0.531\n"
"vt 0.000 0.500\n"
"vt 0.001 0.469\n"
"vt 0.004 0.437\n"
"vt 0.009 0.406\n"
"vt 0.016 0.376\n"
"vt 0.024 0.345\n"
"vt 0.035 0.316\n"
"vt 0.048 0.287\n"
"vt 0.062 0.259\n"
"vt 0.078 0.232\n"
"vt 0.095 0.206\n"
"vt 0.115 0.181\n"
"vt 0.136 0.158\n"
"vt 0.158 0.136\n"
"vt 0.181 0.115\n"
"vt 0.206 0.095\n"
"vt 0.232 0.078\n"
"vt 0.259 0.062\n"
"vt 0.287 0.048\n"
"vt 0.316 0.035\n"
"vt 0.345 0.024\n"
"vt 0.376 0.016\n"
"vt 0.406 0.009\n"
"vt 0.437 0.004\n"
"vt 0.469 0.001\n"
"vt 0.500 0.000\n"
"vt 0.531 0.001\n"
"vt 0.563 0.004\n"
"vt 0.594 0.009\n"
"vt 0.624 0.016\n"
"vt 0.655 0.024\n"
"vt 0.684 0.035\n"
"vt 0.713 0.048\n"
"vt 0.741 0.062\n"
"vt 0.768 0.078\n"
"vt 0.794 0.095\n"
"vt 0.819 0.115\n"
"vt 0.842 0.136\n"
"vt 0.864 0.158\n"
"vt 0.885 0.181\n"
"vt 0.905 0.206\n"
"vt 0.922 0.232\n"
"vt 0.938 0.259\n"
"vt 0.952 0.287\n"
"vt 0.965 0.316\n"
"vt 0.976 0.345\n"
"vt 0.984 0.376\n"
"vt 0.991 0.406\n"
"vt 0.996 0.437\n"
"vt 0.999 0.469\n"
"vt 0.500 0.500\n"
"vt 0.500 0.500\n"
"\n"
"f 101/101 1/1 201/201 202/202\n"
"f 102/102 2/2 201/201 202/202\n"
"f 103/103 3/3 201/201 202/202\n"
"f 104/104 4/4 201/201 202/202\n"
"f 105/105 5/5 201/201 202/202\n"
"f 106/106 6/6 201/201 202/202\n"
"f 107/107 7/7 201/201 202/202\n"
"f 108/108 8/8 201/201 202/202\n"
"f 109/109 9/9 201/201 202/202\n"
"f 110/110 10/10 201/201 202/202\n"
"f 111/111 11/11 201/201 202/202\n"
"f 112/112 12/12 201/201 202/202\n"
"f 113/113 13/13 201/201 202/202\n"
"f 114/114 14/14 201/201 202/202\n"
"f 115/115 15/15 201/201 202/202\n"
"f 116/116 16/16 201/201 202/202\n"
"f 117/117 17/17 201/201 202/202\n"
"f 118/118 18/18 201/201 202/202\n"
"f 119/119 19/19 201/201 202/202\n"
"f 120/120 20/20 201/201 202/202\n"
"f 121/121 21/21 201/201 202/202\n"
"f 122/122 22/22 201/201 202/202\n"
"f 123/123 23/23 201/201 202/202\n"
"f 124/124 24/24 201/201 202/202\n"
"f 125/125 25/25 201/201 202/202\n"
"f 126/126 26/26 201/201 202/202\n"
"f 127/127 27/27 201/201 202/202\n"
"f 128/128 28/28 201/201 202/202\n"
"f 129/129 29/29 201/201 202/202\n"
"f 130/130 30/30 201/201 202/202\n"
"f 131/131 31/31 201/201 202/202\n"
"f 132/132 32/32 201/201 202/202\n"
"f 133/133 33/33 201/201 202/202\n"
"f 134/134 34/34 201/201 202/202\n"
"f 135/135 35/35 201/201 202/202\n"
"f 136/136 36/36 201/201 202/202\n"
"f 137/137 37/37 201/201 202/202\n"
"f 138/138 38/38 201/201 202/202\n"
"f 139/139 39/39 201/201 202/202\n"
"f 140/140 40/40 201/201 202/202\n"
"f 141/141 41/41 201/201 202/202\n"
"f 142/142 42/42 201/201 202/202\n"
"f 143/143 43/43 201/201 202/202\n"
"f 144/144 44/44 201/201 202/202\n"
"f 145/145 45/45 201/201 202/202\n"
"f 146/146 46/46 201/201 202/202\n"
"f 147/147 47/47 201/201 202/202\n"
"f 148/148 48/48 201/201 202/202\n"
"f 149/149 49/49 201/201 202/202\n"
"f 150/150 50/50 201/201 202/202\n"
"f 151/151 51/51 201/201 202/202\n"
"f 152/152 52/52 201/201 202/202\n"
"f 153/153 53/53 201/201 202/202\n"
"f 154/154 54/54 201/201 202/202\n"
"f 155/155 55/55 201/201 202/202\n"
"f 156/156 56/56 201/201 202/202\n"
"f 157/157 57/57 201/201 202/202\n"
"f 158/158 58/58 201/201 202/202\n"
"f 159/159 59/59 201/201 202/202\n"
"f 160/160 60/60 201/201 202/202\n"
"f 161/161 61/61 201/201 202/202\n"
"f 162/162 62/62 201/201 202/202\n"
"f 163/163 63/63 201/201 202/202\n"
"f 164/164 64/64 201/201 202/202\n"
"f 165/165 65/65 201/201 202/202\n"
"f 166/166 66/66 201/201 202/202\n"
"f 167/167 67/67 201/201 202/202\n"
"f 168/168 68/68 201/201 202/202\n"
"f 169/169 69/69 201/201 202/202\n"
"f 170/170 70/70 201/201 202/202\n"
"f 171/171 71/71 201/201 202/202\n"
"f 172/172 72/72 201/201 202/202\n"
"f 173/173 73/73 201/201 202/202\n"
"f 174/174 74/74 201/201 202/202\n"
"f 175/175 75/75 201/201 202/202\n"
"f 176/176 76/76 201/201 202/202\n"
"f 177/177 77/77 201/201 202/202\n"
"f 178/178 78/78 201/201 202/202\n"
"f 179/179 79/79 201/201 202/202\n"
"f 180/180 80/80 201/201 202/202\n"
"f 181/181 81/81 201/201 202/202\n"
"f 182/182 82/82 201/201 202/202\n"
"f 183/183 83/83 201/201 202/202\n"
"f 184/184 84/84 201/201 202/202\n"
"f 185/185 85/85 201/201 202/202\n"
"f 186/186 86/86 201/201 202/202\n"
"f 187/187 87/87 201/201 202/202\n"
"f 188/188 88/88 201/201 202/202\n"
"f 189/189 89/89 201/201 202/202\n"
"f 190/190 90/90 201/201 202/202\n"
"f 191/191 91/91 201/201 202/202\n"
"f 192/192 92/92 201/201 202/202\n"
"f 193/193 93/93 201/201 202/202\n"
"f 194/194 94/94 201/201 202/202\n"
"f 195/195 95/95 201/201 202/202\n"
"f 196/196 96/96 201/201 202/202\n"
"f 197/197 97/97 201/201 202/202\n"
"f 198/198 98/98 201/201 202/202\n"
"f 199/199 99/99 201/201 202/202\n"
"f 200/200 100/100 201/201 202/202\n"
"\n"
"t interpolateboundary 1/0/0 1\n"
"\n"
;