Added new regression shape for non-manfold creases:

- new shape includes both crease and non-crease topologies
    - added new shape to regression/shapes/all.h
    - included new shape in regression/bfr_evaluate for use with -all
This commit is contained in:
Barry Fowler 2024-07-01 14:55:59 -07:00
parent ebd928f9b4
commit 27ab38c979
3 changed files with 212 additions and 0 deletions

View File

@ -79,6 +79,7 @@ initShapesAll(std::vector<ShapeDesc> & shapes) {
shapes.push_back(ShapeDesc("catmark_nonman_quadpole64", catmark_nonman_quadpole64, kCatmark));
shapes.push_back(ShapeDesc("catmark_nonman_quadpole360", catmark_nonman_quadpole360, kCatmark));
shapes.push_back(ShapeDesc("catmark_nonman_bareverts", catmark_nonman_bareverts, kCatmark));
shapes.push_back(ShapeDesc("catmark_nonman_creases", catmark_nonman_creases, kCatmark));
shapes.push_back(ShapeDesc("catmark_nonquads", catmark_nonquads, kCatmark));
shapes.push_back(ShapeDesc("catmark_pawn", catmark_pawn, kCatmark));
shapes.push_back(ShapeDesc("catmark_pole8", catmark_pole8, kCatmark));

View File

@ -80,6 +80,7 @@
#include "catmark_nonman_quadpole64.h"
#include "catmark_nonman_quadpole360.h"
#include "catmark_nonman_bareverts.h"
#include "catmark_nonman_creases.h"
#include "catmark_nonquads.h"
#include "catmark_pawn.h"
#include "catmark_pyramid_creases0.h"

View File

@ -0,0 +1,210 @@
//
// Copyright 2024 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 catmark_nonman_creases =
"#\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 0.65\n"
"v -0.75 0.0 0.90\n"
"v -0.25 0.0 0.65\n"
"v -1.25 0.0 1.05\n"
"v -0.75 0.0 1.25\n"
"v -0.25 0.0 1.05\n"
"v -1.25 -0.3 0.25\n"
"v -0.75 -0.3 0.55\n"
"v -0.25 -0.3 0.25\n"
"v -1.25 0.3 0.25\n"
"v -0.75 0.3 0.55\n"
"v -0.25 0.3 0.25\n"
"\n"
"vt 0.15 0.525\n"
"vt 0.25 0.575\n"
"vt 0.35 0.525\n"
"vt 0.15 0.625\n"
"vt 0.25 0.675\n"
"vt 0.35 0.625\n"
"vt 0.15 0.675\n"
"vt 0.25 0.725\n"
"vt 0.35 0.675\n"
"vt 0.15 0.775\n"
"vt 0.25 0.825\n"
"vt 0.35 0.775\n"
"vt 0.15 0.825\n"
"vt 0.25 0.875\n"
"vt 0.35 0.825\n"
"vt 0.15 0.925\n"
"vt 0.25 0.975\n"
"vt 0.35 0.925\n"
"\n"
"f 1/1 2/2 5/5 4/4 \n"
"f 2/2 3/3 6/6 5/5 \n"
"f 2/8 1/7 7/10 8/11\n"
"f 3/9 2/8 8/11 9/12\n"
"f 1/13 2/14 11/17 10/16\n"
"f 2/14 3/15 12/18 11/17\n"
"\n"
"#\n"
"# Shape 2: top-right\n"
"#\n"
"v 0.75 0.0 0.25\n"
"v 1.00 0.0 0.50\n"
"v 1.25 0.0 0.75\n"
"v 0.50 0.0 0.50\n"
"v 0.75 0.0 0.75\n"
"v 1.00 0.0 1.00\n"
"v 0.25 0.0 0.75\n"
"v 0.50 0.0 1.00\n"
"v 0.75 0.0 1.25\n"
"v 0.50 -0.3 0.50\n"
"v 0.75 -0.3 0.75\n"
"v 1.00 -0.3 0.50\n"
"\n"
"vt 0.75 0.675\n"
"vt 0.80 0.725\n"
"vt 0.70 0.725\n"
"vt 0.75 0.775\n"
"vt 0.80 0.800\n"
"vt 0.85 0.850\n"
"vt 0.70 0.800\n"
"vt 0.75 0.850\n"
"vt 0.80 0.900\n"
"vt 0.65 0.850\n"
"vt 0.70 0.900\n"
"vt 0.75 0.950\n"
"vt 0.65 0.550\n"
"vt 0.75 0.550\n"
"vt 0.85 0.550\n"
"vt 0.65 0.625\n"
"vt 0.75 0.625\n"
"vt 0.85 0.625\n"
"\n"
"f 13/19 14/20 17/22 16/21\n"
"f 14/23 15/24 18/27 17/26\n"
"f 16/25 17/26 20/29 19/28\n"
"f 17/26 18/27 21/30 20/29\n"
"f 16/34 22/31 23/32 17/35\n"
"f 17/35 23/32 24/33 14/36\n"
"\n"
"#\n"
"# Shape 3: bottom-left\n"
"#\n"
"v -1.25 0.0 -0.80\n"
"v -0.75 0.0 -0.65\n"
"v -0.25 0.0 -0.80\n"
"v -1.25 0.0 -1.20\n"
"v -0.75 0.0 -1.05\n"
"v -0.25 0.0 -1.20\n"
"v -1.25 -0.3 -0.80\n"
"v -0.75 -0.3 -0.65\n"
"v -0.25 -0.3 -0.80\n"
"v -1.25 0.3 -0.80\n"
"v -0.75 0.3 -0.65\n"
"v -0.25 0.3 -0.80\n"
"v -1.05 0.0 -0.30\n"
"v -0.75 -0.3 -0.30\n"
"v -0.45 0.0 -0.30\n"
"v -0.75 0.3 -0.30\n"
"\n"
"vt 0.15 0.05\n"
"vt 0.25 0.05\n"
"vt 0.35 0.05\n"
"vt 0.15 0.10\n"
"vt 0.25 0.10\n"
"vt 0.35 0.10\n"
"vt 0.15 0.15\n"
"vt 0.25 0.15\n"
"vt 0.35 0.15\n"
"vt 0.15 0.20\n"
"vt 0.25 0.20\n"
"vt 0.35 0.20\n"
"vt 0.15 0.25\n"
"vt 0.25 0.25\n"
"vt 0.35 0.25\n"
"vt 0.25 0.35\n"
"vt 0.30 0.40\n"
"vt 0.20 0.40\n"
"vt 0.20 0.30\n"
"vt 0.30 0.30\n"
"\n"
"f 28/37 29/38 26/41 25/40\n"
"f 29/38 30/39 27/42 26/41\n"
"f 31/43 32/44 26/47 25/46\n"
"f 32/44 33/45 27/48 26/47\n"
"f 35/50 34/49 25/46 26/47\n"
"f 36/51 35/50 26/47 27/48\n"
"f 37/56 26/52 38/53\n"
"f 38/53 26/52 39/54\n"
"f 39/54 26/52 40/55\n"
"f 40/55 26/52 37/56\n"
"\n"
"#\n"
"# Shape 4: bottom-right\n"
"#\n"
"v 0.75 0.0 -0.60\n"
"v 0.25 -0.3 -0.60\n"
"v 0.25 0.0 -0.90\n"
"v 0.25 0.3 -0.60\n"
"v 0.25 0.0 -0.30\n"
"v 1.25 -0.3 -0.60\n"
"v 1.25 0.0 -0.90\n"
"v 1.25 0.3 -0.60\n"
"v 1.25 0.0 -0.30\n"
"v 0.25 0.0 -1.20\n"
"v 0.75 0.0 -0.90\n"
"v 1.25 0.0 -1.20\n"
"\n"
"vt 0.65 0.35\n"
"vt 0.60 0.40\n"
"vt 0.60 0.30\n"
"vt 0.70 0.30\n"
"vt 0.70 0.40\n"
"vt 0.85 0.35\n"
"vt 0.80 0.30\n"
"vt 0.90 0.30\n"
"vt 0.90 0.40\n"
"vt 0.80 0.40\n"
"vt 0.65 0.10\n"
"vt 0.75 0.15\n"
"vt 0.85 0.10\n"
"vt 0.65 0.20\n"
"vt 0.75 0.25\n"
"vt 0.85 0.20\n"
"\n"
"f 41/57 42/58 43/59\n"
"f 41/57 43/59 44/60\n"
"f 41/57 44/60 45/61\n"
"f 41/57 45/61 42/58\n"
"f 41/62 46/63 49/66\n"
"f 41/62 47/64 46/63\n"
"f 41/62 48/65 47/64\n"
"f 41/62 49/66 48/65\n"
"f 41/71 43/70 50/67 51/68\n"
"f 41/71 51/68 52/69 47/72\n"
"\n"
"t interpolateboundary 1/0/0 1\n"
"\n"
;