Fixed adaptive refinement of sharp corners with edge-only boundaries

- updated base level tagging to ignore the boundary interpolation option
    - updated regression shape for edge-only to illustrate behavior
    - updated regression shapes to favor default viewng direction of examples
This commit is contained in:
barry 2016-10-12 11:42:37 -07:00
parent d207dde8da
commit 154f29c7fe
3 changed files with 27 additions and 21 deletions

View File

@ -256,7 +256,7 @@ TopologyRefinerFactoryBase::prepareComponentTagsAndSharpness(TopologyRefiner& re
// correct (or relevant) if non-manifold:
//
vTag._boundary = (boundaryEdgeCount > 0);
vTag._corner = isSharpenedCorner;
vTag._corner = isTopologicalCorner && vTag._infSharp;
if (vTag._corner) {
vTag._xordinary = false;
} else if (vTag._boundary) {

View File

@ -25,20 +25,15 @@
static const std::string catmark_edgecorner =
"# This file uses centimeters as units for non-parametric coordinates.\n"
"\n"
"v 0.0 -2.0 0.0\n"
"v 2.0 0.0 0.0\n"
"v 0.0 2.0 0.0\n"
"v -2.0 0.0 0.0\n"
"v -1.0 0.0 -1.0\n"
"v 1.0 0.0 -1.0\n"
"v 1.0 0.0 1.0\n"
"v -1.0 0.0 1.0\n"
"vt 0.0 0.0\n"
"vt 1.0 0.0\n"
"vt 1.0 1.0\n"
"vt 0.0 1.0\n"
"vn 0.0 0.0 0.0\n"
"vn 0.0 0.0 0.0\n"
"vn 0.0 0.0 0.0\n"
"vn 0.0 0.0 0.0\n"
"s off\n"
"f 1/1/1 2/2/2 3/3/3 4/4/4\n"
"f 1/1 2/2 3/3 4/4\n"
"t interpolateboundary 1/0/0 1\n"
"\n"
;

View File

@ -25,20 +25,31 @@
static const std::string catmark_edgeonly =
"# This file uses centimeters as units for non-parametric coordinates.\n"
"\n"
"v 0.0 -2.0 0.0\n"
"v 2.0 0.0 0.0\n"
"v 0.0 2.0 0.0\n"
"v -2.0 0.0 0.0\n"
"v -0.5 0 0.1\n"
"v 0.5 0 0.1\n"
"v 0.5 0 1.1\n"
"v -0.5 0 1.1\n"
"v -1.1 0 -1.1\n"
"v -0.1 0 -1.1\n"
"v -0.1 0 -0.1\n"
"v -1.1 0 -0.1\n"
"v 0.1 0 -1.1\n"
"v 1.1 0 -1.1\n"
"v 1.1 0 -0.1\n"
"v 0.1 0 -0.1\n"
"vt 0.0 0.0\n"
"vt 1.0 0.0\n"
"vt 1.0 1.0\n"
"vt 0.0 1.0\n"
"vn 0.0 0.0 0.0\n"
"vn 0.0 0.0 0.0\n"
"vn 0.0 0.0 0.0\n"
"vn 0.0 0.0 0.0\n"
"s off\n"
"f 1/1/1 2/2/2 3/3/3 4/4/4\n"
"f 1/1 2/2 3/3 4/4\n"
"f 5/1 6/2 7/3 8/4\n"
"f 9/1 10/2 11/3 12/4\n"
"t corner 1/1/0 4 10\n"
"t corner 1/1/0 6 10\n"
"t corner 1/1/0 8 10\n"
"t corner 1/1/0 9 10\n"
"t corner 1/1/0 10 10\n"
"t corner 1/1/0 11 10\n"
"t interpolateboundary 1/0/0 2\n"
"\n"
;