mirror of
https://github.com/PixarAnimationStudios/OpenSubdiv
synced 2024-11-08 13:30:04 +00:00
Added face-varying UVs to several regression shapes:
- added UVs to non-manifold shape sets for both Catmark and Loop - added UVs to the semi-sharp and inf-sharp variations of Catmark cubes
This commit is contained in:
parent
a7a3fd6ecb
commit
89f00d3603
@ -39,20 +39,20 @@ static const std::string catmark_cubes_infsharp =
|
||||
"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"
|
||||
"vt 0.2 0.55\n"
|
||||
"vt 0.3 0.55\n"
|
||||
"vt 0.2 0.65\n"
|
||||
"vt 0.3 0.65\n"
|
||||
"vt 0.2 0.75\n"
|
||||
"vt 0.3 0.75\n"
|
||||
"vt 0.2 0.85\n"
|
||||
"vt 0.3 0.85\n"
|
||||
"vt 0.2 0.95\n"
|
||||
"vt 0.3 0.95\n"
|
||||
"vt 0.4 0.55\n"
|
||||
"vt 0.4 0.65\n"
|
||||
"vt 0.1 0.55\n"
|
||||
"vt 0.1 0.65\n"
|
||||
"\n"
|
||||
"f 1/1 2/2 4/4 3/3\n"
|
||||
"f 3/3 4/4 6/6 5/5\n"
|
||||
@ -75,12 +75,27 @@ static const std::string catmark_cubes_infsharp =
|
||||
"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"
|
||||
"vt 0.7 0.55\n"
|
||||
"vt 0.8 0.55\n"
|
||||
"vt 0.7 0.65\n"
|
||||
"vt 0.8 0.65\n"
|
||||
"vt 0.7 0.75\n"
|
||||
"vt 0.8 0.75\n"
|
||||
"vt 0.7 0.85\n"
|
||||
"vt 0.8 0.85\n"
|
||||
"vt 0.7 0.95\n"
|
||||
"vt 0.8 0.95\n"
|
||||
"vt 0.9 0.55\n"
|
||||
"vt 0.9 0.65\n"
|
||||
"vt 0.6 0.55\n"
|
||||
"vt 0.6 0.65\n"
|
||||
"\n"
|
||||
"f 9/15 10/16 12/18 11/17\n"
|
||||
"f 11/17 12/18 14/20 13/19\n"
|
||||
"f 13/19 14/20 16/22 15/21\n"
|
||||
"f 15/21 16/22 10/24 9/23\n"
|
||||
"f 10/16 16/25 14/26 12/18\n"
|
||||
"f 15/27 9/15 11/17 13/28\n"
|
||||
"\n"
|
||||
"t crease 2/1/0 8 9 10.0\n"
|
||||
"t crease 2/1/0 8 10 10.0\n"
|
||||
@ -97,12 +112,27 @@ static const std::string catmark_cubes_infsharp =
|
||||
"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"
|
||||
"vt 0.2 0.05\n"
|
||||
"vt 0.3 0.05\n"
|
||||
"vt 0.2 0.15\n"
|
||||
"vt 0.3 0.15\n"
|
||||
"vt 0.2 0.25\n"
|
||||
"vt 0.3 0.25\n"
|
||||
"vt 0.2 0.35\n"
|
||||
"vt 0.3 0.35\n"
|
||||
"vt 0.2 0.45\n"
|
||||
"vt 0.3 0.45\n"
|
||||
"vt 0.4 0.05\n"
|
||||
"vt 0.4 0.15\n"
|
||||
"vt 0.1 0.05\n"
|
||||
"vt 0.1 0.15\n"
|
||||
"\n"
|
||||
"f 17/29 18/30 20/32 19/31\n"
|
||||
"f 19/31 20/32 22/34 21/33\n"
|
||||
"f 21/33 22/34 24/36 23/35\n"
|
||||
"f 23/35 24/36 18/38 17/37\n"
|
||||
"f 18/30 24/39 22/40 20/32\n"
|
||||
"f 23/41 17/29 19/31 21/42\n"
|
||||
"\n"
|
||||
"t crease 2/1/0 18 16 10.0\n"
|
||||
"t crease 2/1/0 16 22 10.0\n"
|
||||
@ -121,12 +151,27 @@ static const std::string catmark_cubes_infsharp =
|
||||
"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"
|
||||
"vt 0.7 0.05\n"
|
||||
"vt 0.8 0.05\n"
|
||||
"vt 0.7 0.15\n"
|
||||
"vt 0.8 0.15\n"
|
||||
"vt 0.7 0.25\n"
|
||||
"vt 0.8 0.25\n"
|
||||
"vt 0.7 0.35\n"
|
||||
"vt 0.8 0.35\n"
|
||||
"vt 0.7 0.45\n"
|
||||
"vt 0.8 0.45\n"
|
||||
"vt 0.9 0.05\n"
|
||||
"vt 0.9 0.15\n"
|
||||
"vt 0.6 0.05\n"
|
||||
"vt 0.6 0.15\n"
|
||||
"\n"
|
||||
"f 25/43 26/44 28/46 27/45\n"
|
||||
"f 27/45 28/46 30/48 29/47\n"
|
||||
"f 29/47 30/48 32/50 31/49\n"
|
||||
"f 31/49 32/50 26/52 25/51\n"
|
||||
"f 26/44 32/53 30/54 28/46\n"
|
||||
"f 31/55 25/43 27/45 29/56\n"
|
||||
"\n"
|
||||
"t crease 2/1/0 24 25 0.1\n"
|
||||
"t crease 2/1/0 25 27 10.0\n"
|
||||
|
@ -39,20 +39,20 @@ static const std::string catmark_cubes_semisharp =
|
||||
"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"
|
||||
"vt 0.2 0.55\n"
|
||||
"vt 0.3 0.55\n"
|
||||
"vt 0.2 0.65\n"
|
||||
"vt 0.3 0.65\n"
|
||||
"vt 0.2 0.75\n"
|
||||
"vt 0.3 0.75\n"
|
||||
"vt 0.2 0.85\n"
|
||||
"vt 0.3 0.85\n"
|
||||
"vt 0.2 0.95\n"
|
||||
"vt 0.3 0.95\n"
|
||||
"vt 0.4 0.55\n"
|
||||
"vt 0.4 0.65\n"
|
||||
"vt 0.1 0.55\n"
|
||||
"vt 0.1 0.65\n"
|
||||
"\n"
|
||||
"f 1/1 2/2 4/4 3/3\n"
|
||||
"f 3/3 4/4 6/6 5/5\n"
|
||||
@ -75,12 +75,27 @@ static const std::string catmark_cubes_semisharp =
|
||||
"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"
|
||||
"vt 0.7 0.55\n"
|
||||
"vt 0.8 0.55\n"
|
||||
"vt 0.7 0.65\n"
|
||||
"vt 0.8 0.65\n"
|
||||
"vt 0.7 0.75\n"
|
||||
"vt 0.8 0.75\n"
|
||||
"vt 0.7 0.85\n"
|
||||
"vt 0.8 0.85\n"
|
||||
"vt 0.7 0.95\n"
|
||||
"vt 0.8 0.95\n"
|
||||
"vt 0.9 0.55\n"
|
||||
"vt 0.9 0.65\n"
|
||||
"vt 0.6 0.55\n"
|
||||
"vt 0.6 0.65\n"
|
||||
"\n"
|
||||
"f 9/15 10/16 12/18 11/17\n"
|
||||
"f 11/17 12/18 14/20 13/19\n"
|
||||
"f 13/19 14/20 16/22 15/21\n"
|
||||
"f 15/21 16/22 10/24 9/23\n"
|
||||
"f 10/16 16/25 14/26 12/18\n"
|
||||
"f 15/27 9/15 11/17 13/28\n"
|
||||
"\n"
|
||||
"t crease 2/1/0 8 9 2.0\n"
|
||||
"t crease 2/1/0 8 10 2.0\n"
|
||||
@ -98,12 +113,27 @@ static const std::string catmark_cubes_semisharp =
|
||||
"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"
|
||||
"vt 0.2 0.05\n"
|
||||
"vt 0.3 0.05\n"
|
||||
"vt 0.2 0.15\n"
|
||||
"vt 0.3 0.15\n"
|
||||
"vt 0.2 0.25\n"
|
||||
"vt 0.3 0.25\n"
|
||||
"vt 0.2 0.35\n"
|
||||
"vt 0.3 0.35\n"
|
||||
"vt 0.2 0.45\n"
|
||||
"vt 0.3 0.45\n"
|
||||
"vt 0.4 0.05\n"
|
||||
"vt 0.4 0.15\n"
|
||||
"vt 0.1 0.05\n"
|
||||
"vt 0.1 0.15\n"
|
||||
"\n"
|
||||
"f 17/29 18/30 20/32 19/31\n"
|
||||
"f 19/31 20/32 22/34 21/33\n"
|
||||
"f 21/33 22/34 24/36 23/35\n"
|
||||
"f 23/35 24/36 18/38 17/37\n"
|
||||
"f 18/30 24/39 22/40 20/32\n"
|
||||
"f 23/41 17/29 19/31 21/42\n"
|
||||
"\n"
|
||||
"t corner 1/1/0 16 3.0\n"
|
||||
"\n"
|
||||
@ -119,12 +149,27 @@ static const std::string catmark_cubes_semisharp =
|
||||
"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"
|
||||
"vt 0.7 0.05\n"
|
||||
"vt 0.8 0.05\n"
|
||||
"vt 0.7 0.15\n"
|
||||
"vt 0.8 0.15\n"
|
||||
"vt 0.7 0.25\n"
|
||||
"vt 0.8 0.25\n"
|
||||
"vt 0.7 0.35\n"
|
||||
"vt 0.8 0.35\n"
|
||||
"vt 0.7 0.45\n"
|
||||
"vt 0.8 0.45\n"
|
||||
"vt 0.9 0.05\n"
|
||||
"vt 0.9 0.15\n"
|
||||
"vt 0.6 0.05\n"
|
||||
"vt 0.6 0.15\n"
|
||||
"\n"
|
||||
"f 25/43 26/44 28/46 27/45\n"
|
||||
"f 27/45 28/46 30/48 29/47\n"
|
||||
"f 29/47 30/48 32/50 31/49\n"
|
||||
"f 31/49 32/50 26/52 25/51\n"
|
||||
"f 26/44 32/53 30/54 28/46\n"
|
||||
"f 31/55 25/43 27/45 29/56\n"
|
||||
"\n"
|
||||
"t crease 2/1/0 24 25 0.1\n"
|
||||
"t crease 2/1/0 25 27 5.0\n"
|
||||
|
@ -51,19 +51,47 @@ static const std::string catmark_nonman_edges =
|
||||
"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"
|
||||
"vt 0.05 0.83\n"
|
||||
"vt 0.05 0.78\n"
|
||||
"vt 0.10 0.83\n"
|
||||
"vt 0.05 0.73\n"
|
||||
"vt 0.15 0.83\n"
|
||||
"vt 0.05 0.68\n"
|
||||
"vt 0.20 0.83\n"
|
||||
"vt 0.10 0.68\n"
|
||||
"vt 0.10 0.73\n"
|
||||
"vt 0.10 0.78\n"
|
||||
"vt 0.15 0.78\n"
|
||||
"vt 0.20 0.78\n"
|
||||
"vt 0.05 0.88\n"
|
||||
"vt 0.10 0.88\n"
|
||||
"vt 0.15 0.88\n"
|
||||
"vt 0.20 0.88\n"
|
||||
"vt 0.25 0.88\n"
|
||||
"vt 0.05 0.93\n"
|
||||
"vt 0.10 0.93\n"
|
||||
"vt 0.15 0.93\n"
|
||||
"vt 0.20 0.93\n"
|
||||
"vt 0.25 0.93\n"
|
||||
"vt 0.05 0.98\n"
|
||||
"vt 0.10 0.98\n"
|
||||
"vt 0.15 0.98\n"
|
||||
"vt 0.20 0.98\n"
|
||||
"vt 0.25 0.98\n"
|
||||
"\n"
|
||||
"f 1/1 2/2 10/10 3/3 \n"
|
||||
"f 2/2 4/4 9/9 10/10\n"
|
||||
"f 4/4 6/6 8/8 9/9 \n"
|
||||
"f 5/5 3/3 10/10 11/11\n"
|
||||
"f 7/7 5/5 11/11 12/12\n"
|
||||
"f 8/18 9/19 14/24 13/23\n"
|
||||
"f 9/19 10/20 15/25 14/24\n"
|
||||
"f 10/20 11/21 16/26 15/25\n"
|
||||
"f 11/21 12/22 17/27 16/26\n"
|
||||
"f 9/19 8/18 18/13 19/14\n"
|
||||
"f 10/20 9/19 19/14 20/15\n"
|
||||
"f 11/21 10/20 20/15 21/16\n"
|
||||
"f 12/22 11/21 21/16 22/17\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Shape 2: top-middle\n"
|
||||
@ -86,16 +114,37 @@ static const std::string catmark_nonman_edges =
|
||||
"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"
|
||||
"vt 0.38 0.69\n"
|
||||
"vt 0.46 0.69\n"
|
||||
"vt 0.54 0.69\n"
|
||||
"vt 0.62 0.69\n"
|
||||
"vt 0.62 0.77\n"
|
||||
"vt 0.62 0.85\n"
|
||||
"vt 0.62 0.93\n"
|
||||
"vt 0.54 0.93\n"
|
||||
"vt 0.46 0.93\n"
|
||||
"vt 0.38 0.93\n"
|
||||
"vt 0.38 0.85\n"
|
||||
"vt 0.38 0.77\n"
|
||||
"vt 0.46 0.77\n"
|
||||
"vt 0.54 0.77\n"
|
||||
"vt 0.54 0.85\n"
|
||||
"vt 0.46 0.85\n"
|
||||
"vt 0.50 0.99\n"
|
||||
"vt 0.48 0.95\n"
|
||||
"vt 0.52 0.95\n"
|
||||
"\n"
|
||||
"f 23/28 24/29 35/40 34/39\n"
|
||||
"f 24/29 25/30 36/41 35/40\n"
|
||||
"f 25/30 26/31 27/32 36/41\n"
|
||||
"f 36/41 27/32 28/33 37/42\n"
|
||||
"f 37/42 28/33 29/34 30/35\n"
|
||||
"f 38/43 37/42 30/35 31/36\n"
|
||||
"f 33/38 38/43 31/36 32/37\n"
|
||||
"f 34/39 35/40 38/43 33/38\n"
|
||||
"f 35/40 36/41 37/42 38/43\n"
|
||||
"\n"
|
||||
"f 35/45 36/46 39/44\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Shape 3: top-right\n"
|
||||
@ -116,15 +165,33 @@ static const std::string catmark_nonman_edges =
|
||||
"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"
|
||||
"vt 0.68 0.68\n"
|
||||
"vt 0.78 0.68\n"
|
||||
"vt 0.88 0.68\n"
|
||||
"vt 0.98 0.68\n"
|
||||
"vt 0.98 0.78\n"
|
||||
"vt 0.98 0.88\n"
|
||||
"vt 0.98 0.98\n"
|
||||
"vt 0.88 0.98\n"
|
||||
"vt 0.78 0.98\n"
|
||||
"vt 0.68 0.98\n"
|
||||
"vt 0.68 0.88\n"
|
||||
"vt 0.68 0.78\n"
|
||||
"vt 0.78 0.78\n"
|
||||
"vt 0.88 0.78\n"
|
||||
"vt 0.88 0.88\n"
|
||||
"vt 0.78 0.88\n"
|
||||
"\n"
|
||||
"f 40/47 41/48 52/59 51/58\n"
|
||||
"f 41/48 42/49 52/60 52/59\n"
|
||||
"f 42/49 43/50 44/51 52/60\n"
|
||||
"f 52/60 44/51 45/52 53/61\n"
|
||||
"f 53/61 45/52 46/53 47/54\n"
|
||||
"f 54/62 53/61 47/54 48/55\n"
|
||||
"f 50/57 54/62 48/55 49/56\n"
|
||||
"f 51/58 52/59 54/62 50/57\n"
|
||||
"\n"
|
||||
"f 52/59 52/60 53/61 54/62\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Shape 4: center-left\n"
|
||||
@ -144,15 +211,33 @@ static const std::string catmark_nonman_edges =
|
||||
"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"
|
||||
"vt 0.02 0.35\n"
|
||||
"vt 0.12 0.35\n"
|
||||
"vt 0.22 0.35\n"
|
||||
"vt 0.32 0.35\n"
|
||||
"vt 0.32 0.45\n"
|
||||
"vt 0.32 0.55\n"
|
||||
"vt 0.32 0.65\n"
|
||||
"vt 0.22 0.65\n"
|
||||
"vt 0.12 0.65\n"
|
||||
"vt 0.02 0.65\n"
|
||||
"vt 0.02 0.55\n"
|
||||
"vt 0.02 0.45\n"
|
||||
"vt 0.12 0.45\n"
|
||||
"vt 0.22 0.45\n"
|
||||
"vt 0.22 0.55\n"
|
||||
"vt 0.12 0.55\n"
|
||||
"\n"
|
||||
"f 55/63 56/64 67/75 66/74\n"
|
||||
"f 56/64 57/65 67/76 67/75\n"
|
||||
"f 57/65 58/66 59/67 67/76\n"
|
||||
"f 67/76 59/67 60/68 68/77\n"
|
||||
"f 68/77 60/68 61/69 62/70\n"
|
||||
"f 68/78 68/77 62/70 63/71\n"
|
||||
"f 65/73 68/78 63/71 64/72\n"
|
||||
"f 66/74 67/75 68/78 65/73\n"
|
||||
"\n"
|
||||
"f 67/75 67/76 68/77 68/78\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Shape 5: center-middle\n"
|
||||
@ -172,15 +257,33 @@ static const std::string catmark_nonman_edges =
|
||||
"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"
|
||||
"vt 0.35 0.35\n"
|
||||
"vt 0.45 0.35\n"
|
||||
"vt 0.55 0.35\n"
|
||||
"vt 0.65 0.35\n"
|
||||
"vt 0.65 0.45\n"
|
||||
"vt 0.65 0.55\n"
|
||||
"vt 0.65 0.65\n"
|
||||
"vt 0.55 0.65\n"
|
||||
"vt 0.45 0.65\n"
|
||||
"vt 0.35 0.65\n"
|
||||
"vt 0.35 0.55\n"
|
||||
"vt 0.35 0.45\n"
|
||||
"vt 0.45 0.45\n"
|
||||
"vt 0.55 0.45\n"
|
||||
"vt 0.55 0.55\n"
|
||||
"vt 0.45 0.55\n"
|
||||
"\n"
|
||||
"f 69/79 70/80 81/91 80/90\n"
|
||||
"f 70/80 71/81 81/92 81/91\n"
|
||||
"f 71/81 72/82 73/83 81/92\n"
|
||||
"f 81/92 73/83 74/84 81/93\n"
|
||||
"f 81/93 74/84 75/85 76/86\n"
|
||||
"f 82/94 81/93 76/86 77/87\n"
|
||||
"f 79/89 82/94 77/87 78/88\n"
|
||||
"f 80/90 81/91 82/94 79/89\n"
|
||||
"\n"
|
||||
"f 81/91 81/92 81/93 82/94\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Shape 6: center-right\n"
|
||||
@ -201,15 +304,33 @@ static const std::string catmark_nonman_edges =
|
||||
"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"
|
||||
"vt 0.68 0.35\n"
|
||||
"vt 0.78 0.35\n"
|
||||
"vt 0.88 0.35\n"
|
||||
"vt 0.98 0.35\n"
|
||||
"vt 0.98 0.45\n"
|
||||
"vt 0.98 0.55\n"
|
||||
"vt 0.98 0.65\n"
|
||||
"vt 0.88 0.65\n"
|
||||
"vt 0.78 0.65\n"
|
||||
"vt 0.68 0.65\n"
|
||||
"vt 0.68 0.55\n"
|
||||
"vt 0.68 0.45\n"
|
||||
"vt 0.78 0.45\n"
|
||||
"vt 0.88 0.45\n"
|
||||
"vt 0.88 0.55\n"
|
||||
"vt 0.78 0.55\n"
|
||||
"\n"
|
||||
"f 83/95 84/96 95/107 94/106\n"
|
||||
"f 84/96 85/97 96/108 95/107\n"
|
||||
"f 85/97 86/98 87/99 96/108\n"
|
||||
"f 96/108 87/99 88/100 95/109\n"
|
||||
"f 95/109 88/100 89/101 90/102\n"
|
||||
"f 97/110 95/109 90/102 91/103\n"
|
||||
"f 93/105 97/110 91/103 92/104\n"
|
||||
"f 94/106 95/107 97/110 93/105\n"
|
||||
"\n"
|
||||
"f 95/107 96/108 95/109 97/110\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Shape 7: bottom-left\n"
|
||||
@ -228,15 +349,33 @@ static const std::string catmark_nonman_edges =
|
||||
"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"
|
||||
"vt 0.02 0.02\n"
|
||||
"vt 0.12 0.02\n"
|
||||
"vt 0.22 0.02\n"
|
||||
"vt 0.32 0.02\n"
|
||||
"vt 0.32 0.12\n"
|
||||
"vt 0.32 0.22\n"
|
||||
"vt 0.32 0.32\n"
|
||||
"vt 0.22 0.32\n"
|
||||
"vt 0.12 0.32\n"
|
||||
"vt 0.02 0.32\n"
|
||||
"vt 0.02 0.22\n"
|
||||
"vt 0.02 0.12\n"
|
||||
"vt 0.12 0.12\n"
|
||||
"vt 0.22 0.12\n"
|
||||
"vt 0.22 0.22\n"
|
||||
"vt 0.12 0.22\n"
|
||||
"\n"
|
||||
"f 98/111 99/112 110/123 109/122\n"
|
||||
"f 99/112 100/113 110/124 110/123\n"
|
||||
"f 100/113 101/114 102/115 110/124\n"
|
||||
"f 110/124 102/115 103/116 110/125\n"
|
||||
"f 110/125 103/116 104/117 105/118\n"
|
||||
"f 110/126 110/125 105/118 106/119\n"
|
||||
"f 108/121 110/126 106/119 107/120\n"
|
||||
"f 109/122 110/123 110/126 108/121\n"
|
||||
"\n"
|
||||
"f 110/123 110/124 110/125 110/126\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Shape 8: bottom-middle\n"
|
||||
@ -258,15 +397,33 @@ static const std::string catmark_nonman_edges =
|
||||
"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"
|
||||
"vt 0.35 0.02\n"
|
||||
"vt 0.45 0.02\n"
|
||||
"vt 0.55 0.02\n"
|
||||
"vt 0.65 0.02\n"
|
||||
"vt 0.65 0.12\n"
|
||||
"vt 0.65 0.22\n"
|
||||
"vt 0.65 0.32\n"
|
||||
"vt 0.55 0.32\n"
|
||||
"vt 0.45 0.32\n"
|
||||
"vt 0.35 0.32\n"
|
||||
"vt 0.35 0.22\n"
|
||||
"vt 0.35 0.12\n"
|
||||
"vt 0.45 0.12\n"
|
||||
"vt 0.55 0.12\n"
|
||||
"vt 0.55 0.22\n"
|
||||
"vt 0.45 0.22\n"
|
||||
"\n"
|
||||
"f 111/127 112/128 123/139 122/138\n"
|
||||
"f 112/128 113/129 124/140 123/139\n"
|
||||
"f 113/129 114/130 115/131 124/140\n"
|
||||
"f 124/140 115/131 116/132 125/141\n"
|
||||
"f 125/141 116/132 117/133 118/134\n"
|
||||
"f 126/142 125/141 118/134 119/135\n"
|
||||
"f 121/137 126/142 119/135 120/136\n"
|
||||
"f 122/138 123/139 126/142 121/137\n"
|
||||
"\n"
|
||||
"f 126/142 125/141 124/140 123/139\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Shape 9: bottom-right\n"
|
||||
@ -288,14 +445,31 @@ static const std::string catmark_nonman_edges =
|
||||
"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"
|
||||
"vt 0.8300 0.0450\n"
|
||||
"vt 0.9184 0.0816\n"
|
||||
"vt 0.9550 0.1700\n"
|
||||
"vt 0.9184 0.2584\n"
|
||||
"vt 0.8300 0.2950\n"
|
||||
"vt 0.7416 0.2584\n"
|
||||
"vt 0.7050 0.1700\n"
|
||||
"vt 0.7416 0.0816\n"
|
||||
"vt 0.8300 0.1075\n"
|
||||
"vt 0.8742 0.1258\n"
|
||||
"vt 0.8925 0.1700\n"
|
||||
"vt 0.8742 0.2142\n"
|
||||
"vt 0.8300 0.2325\n"
|
||||
"vt 0.7858 0.2142\n"
|
||||
"vt 0.7675 0.1700\n"
|
||||
"vt 0.7858 0.1258\n"
|
||||
"\n"
|
||||
"f 127/143 135/151 136/152 128/144\n"
|
||||
"f 128/144 136/152 137/153 129/145\n"
|
||||
"f 129/145 137/153 138/154 130/146\n"
|
||||
"f 130/146 138/154 139/155 131/147\n"
|
||||
"f 131/147 132/148 140/156 139/155\n"
|
||||
"f 132/148 133/149 141/157 140/156\n"
|
||||
"f 133/149 134/150 142/158 141/157\n"
|
||||
"f 134/150 127/143 135/151 142/158\n"
|
||||
"\n"
|
||||
"t interpolateboundary 1/0/0 1\n"
|
||||
"\n"
|
||||
|
@ -37,10 +37,20 @@ static const std::string catmark_nonman_verts =
|
||||
"v -1.0 0 0.5 \n"
|
||||
"v -0.75 0 0.25 \n"
|
||||
"v -0.5 0 0.5 \n"
|
||||
"#\n"
|
||||
"vt 0.05 0.85\n"
|
||||
"vt 0.25 0.75\n"
|
||||
"vt 0.45 0.85\n"
|
||||
"vt 0.05 1.00\n"
|
||||
"vt 0.25 0.90\n"
|
||||
"vt 0.45 1.00\n"
|
||||
"vt 0.15 0.65\n"
|
||||
"vt 0.25 0.55\n"
|
||||
"vt 0.35 0.65\n"
|
||||
"\n"
|
||||
"f 1 2 5 4\n"
|
||||
"f 2 3 6 5\n"
|
||||
"f 2 7 8 9\n"
|
||||
"f 1/1 2/2 5/5 4/4\n"
|
||||
"f 2/2 3/3 6/6 5/5\n"
|
||||
"f 2/2 7/7 8/8 9/9\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Shape 2: top-right\n"
|
||||
@ -57,10 +67,23 @@ static const std::string catmark_nonman_verts =
|
||||
"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"
|
||||
"vt 0.55 0.85\n"
|
||||
"vt 0.75 0.76\n"
|
||||
"vt 0.95 0.85\n"
|
||||
"vt 0.55 1.00\n"
|
||||
"vt 0.75 0.90\n"
|
||||
"vt 0.95 1.00\n"
|
||||
"vt 0.55 0.65\n"
|
||||
"vt 0.95 0.65\n"
|
||||
"vt 0.55 0.50\n"
|
||||
"vt 0.75 0.60\n"
|
||||
"vt 0.95 0.50\n"
|
||||
"vt 0.75 0.74\n"
|
||||
"\n"
|
||||
"f 10/10 11/11 14/14 13/13\n"
|
||||
"f 11/11 12/12 15/15 14/14\n"
|
||||
"f 11/21 16/16 18/18 19/19\n"
|
||||
"f 17/17 11/21 19/19 20/20\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Shape 3: bottom-left\n"
|
||||
@ -76,12 +99,25 @@ static const std::string catmark_nonman_verts =
|
||||
"v -0.25 0.5 -1.25\n"
|
||||
"v -1.1 0 -0.25\n"
|
||||
"v -0.4 0 -0.25\n"
|
||||
"#\n"
|
||||
"vt 0.15 0.025\n"
|
||||
"vt 0.25 0.025\n"
|
||||
"vt 0.35 0.025\n"
|
||||
"vt 0.15 0.125\n"
|
||||
"vt 0.25 0.125\n"
|
||||
"vt 0.35 0.125\n"
|
||||
"vt 0.15 0.225\n"
|
||||
"vt 0.25 0.225\n"
|
||||
"vt 0.35 0.225\n"
|
||||
"vt 0.15 0.45\n"
|
||||
"vt 0.35 0.45\n"
|
||||
"vt 0.25 0.30\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"
|
||||
"f 21/22 22/23 25/26 24/25\n"
|
||||
"f 22/23 23/24 26/27 25/26\n"
|
||||
"f 24/25 25/26 28/29 27/28\n"
|
||||
"f 25/26 26/27 29/30 28/29\n"
|
||||
"f 30/31 25/33 31/32\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Shape 4: bottom-right\n"
|
||||
@ -103,15 +139,34 @@ static const std::string catmark_nonman_verts =
|
||||
"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"
|
||||
"vt 0.65 0.025\n"
|
||||
"vt 0.75 0.025\n"
|
||||
"vt 0.85 0.025\n"
|
||||
"vt 0.65 0.125\n"
|
||||
"vt 0.75 0.125\n"
|
||||
"vt 0.85 0.125\n"
|
||||
"vt 0.65 0.225\n"
|
||||
"vt 0.75 0.225\n"
|
||||
"vt 0.85 0.225\n"
|
||||
"vt 0.65 0.475\n"
|
||||
"vt 0.75 0.475\n"
|
||||
"vt 0.85 0.475\n"
|
||||
"vt 0.65 0.375\n"
|
||||
"vt 0.85 0.375\n"
|
||||
"vt 0.65 0.275\n"
|
||||
"vt 0.75 0.275\n"
|
||||
"vt 0.85 0.275\n"
|
||||
"vt 0.75 0.375\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"
|
||||
"f 32/34 33/35 36/38 35/37\n"
|
||||
"f 33/35 34/36 37/39 36/38\n"
|
||||
"f 35/37 36/38 39/41 38/40\n"
|
||||
"f 36/38 37/39 40/42 39/41\n"
|
||||
"f 41/43 44/46 36/51 42/44\n"
|
||||
"f 42/44 36/51 45/47 43/45\n"
|
||||
"f 44/46 46/48 47/49 36/51\n"
|
||||
"f 36/51 47/49 48/50 45/47\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Additional 'shape' 5: isolated non-manifold vertex in center\n"
|
||||
|
@ -49,30 +49,56 @@ static const std::string loop_nonman_edges =
|
||||
"v -1.15 -0.2 1.15\n"
|
||||
"v -1.05 -0.2 1.05\n"
|
||||
"\n"
|
||||
"f 1 8 2\n"
|
||||
"f 2 8 9\n"
|
||||
"f 2 9 3\n"
|
||||
"f 3 9 10\n"
|
||||
"f 3 10 4\n"
|
||||
"f 4 10 5\n"
|
||||
"f 5 10 11\n"
|
||||
"f 5 11 6\n"
|
||||
"f 6 11 12\n"
|
||||
"f 6 12 7\n"
|
||||
"f 13 8 9\n"
|
||||
"f 13 9 14\n"
|
||||
"f 14 9 10\n"
|
||||
"f 14 10 15\n"
|
||||
"f 15 10 11\n"
|
||||
"f 15 11 16\n"
|
||||
"f 16 11 12\n"
|
||||
"f 17 9 8\n"
|
||||
"f 17 18 9\n"
|
||||
"f 18 10 9\n"
|
||||
"f 18 19 10\n"
|
||||
"f 19 11 10\n"
|
||||
"f 19 20 11\n"
|
||||
"f 20 12 11\n"
|
||||
"vt 0.02 0.83\n"
|
||||
"vt 0.07 0.88\n"
|
||||
"vt 0.12 0.93\n"
|
||||
"vt 0.17 0.98\n"
|
||||
"vt 0.22 0.93\n"
|
||||
"vt 0.27 0.88\n"
|
||||
"vt 0.32 0.83\n"
|
||||
"vt 0.07 0.78\n"
|
||||
"vt 0.12 0.83\n"
|
||||
"vt 0.17 0.88\n"
|
||||
"vt 0.22 0.83\n"
|
||||
"vt 0.27 0.78\n"
|
||||
"vt 0.11 0.78\n"
|
||||
"vt 0.14 0.78\n"
|
||||
"vt 0.20 0.78\n"
|
||||
"vt 0.23 0.78\n"
|
||||
"vt 0.11 0.68\n"
|
||||
"vt 0.14 0.68\n"
|
||||
"vt 0.20 0.68\n"
|
||||
"vt 0.23 0.68\n"
|
||||
"vt 0.07 0.73\n"
|
||||
"vt 0.12 0.73\n"
|
||||
"vt 0.17 0.73\n"
|
||||
"vt 0.22 0.73\n"
|
||||
"vt 0.27 0.73\n"
|
||||
"\n"
|
||||
"f 1/1 8/8 2/2 \n"
|
||||
"f 2/2 8/8 9/9 \n"
|
||||
"f 2/2 9/9 3/3 \n"
|
||||
"f 3/3 9/9 10/10\n"
|
||||
"f 3/3 10/10 4/4 \n"
|
||||
"f 4/4 10/10 5/5 \n"
|
||||
"f 5/5 10/10 11/11\n"
|
||||
"f 5/5 11/11 6/6 \n"
|
||||
"f 6/6 11/11 12/12\n"
|
||||
"f 6/6 12/12 7/7 \n"
|
||||
"f 13/13 8/21 9/22\n"
|
||||
"f 13/13 9/22 14/14\n"
|
||||
"f 14/14 9/22 10/23\n"
|
||||
"f 14/14 10/23 15/15\n"
|
||||
"f 15/15 10/23 11/24\n"
|
||||
"f 15/15 11/24 16/16\n"
|
||||
"f 16/16 11/24 12/25\n"
|
||||
"f 17/17 9/22 8/21\n"
|
||||
"f 17/17 18/18 9/22\n"
|
||||
"f 18/18 10/23 9/22\n"
|
||||
"f 18/18 19/19 10/23\n"
|
||||
"f 19/19 11/24 10/23\n"
|
||||
"f 19/19 20/20 11/24\n"
|
||||
"f 20/20 12/25 11/24\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Shape 2: top-middle\n"
|
||||
@ -91,21 +117,37 @@ static const std::string loop_nonman_edges =
|
||||
"v 0.166667 0.0 1.68302\n"
|
||||
"v 0.0 -0.50 1.25\n"
|
||||
"\n"
|
||||
"f 21 22 25\n"
|
||||
"f 22 23 26\n"
|
||||
"f 21 25 24\n"
|
||||
"f 22 26 25\n"
|
||||
"f 23 27 26\n"
|
||||
"f 24 25 28\n"
|
||||
"f 25 26 29\n"
|
||||
"f 26 27 30\n"
|
||||
"f 25 29 28\n"
|
||||
"f 26 30 29\n"
|
||||
"f 28 29 31\n"
|
||||
"f 29 30 32\n"
|
||||
"f 29 32 31\n"
|
||||
"vt 0.40 0.68\n"
|
||||
"vt 0.50 0.68\n"
|
||||
"vt 0.60 0.68\n"
|
||||
"vt 0.35 0.77\n"
|
||||
"vt 0.45 0.77\n"
|
||||
"vt 0.55 0.77\n"
|
||||
"vt 0.65 0.77\n"
|
||||
"vt 0.40 0.85\n"
|
||||
"vt 0.50 0.85\n"
|
||||
"vt 0.60 0.85\n"
|
||||
"vt 0.45 0.93\n"
|
||||
"vt 0.55 0.93\n"
|
||||
"vt 0.50 1.00\n"
|
||||
"vt 0.45 0.94\n"
|
||||
"vt 0.55 0.94\n"
|
||||
"\n"
|
||||
"f 21/26 22/27 25/30\n"
|
||||
"f 22/27 23/28 26/31\n"
|
||||
"f 21/26 25/30 24/29\n"
|
||||
"f 22/27 26/31 25/30\n"
|
||||
"f 23/28 27/32 26/31\n"
|
||||
"f 24/29 25/30 28/33\n"
|
||||
"f 25/30 26/31 29/34\n"
|
||||
"f 26/31 27/32 30/35\n"
|
||||
"f 25/30 29/34 28/33\n"
|
||||
"f 26/31 30/35 29/34\n"
|
||||
"f 28/33 29/34 31/36\n"
|
||||
"f 29/34 30/35 32/37\n"
|
||||
"f 29/34 32/37 31/36\n"
|
||||
"# Add face to existing manifold edge, making it non-manifold:\n"
|
||||
"f 33 25 26\n"
|
||||
"f 33/38 25/39 26/40\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Shape 3: top-right\n"
|
||||
@ -121,14 +163,31 @@ static const std::string loop_nonman_edges =
|
||||
"v 1.75 0 1.25\n"
|
||||
"v 1.6 0 1.6\n"
|
||||
"\n"
|
||||
"f 34 35 36\n"
|
||||
"f 34 35 37\n"
|
||||
"f 34 35 38\n"
|
||||
"f 34 35 39\n"
|
||||
"f 35 34 40\n"
|
||||
"f 35 34 41\n"
|
||||
"f 35 34 42\n"
|
||||
"f 35 34 43\n"
|
||||
"vt 0.68 0.74\n"
|
||||
"vt 0.80 0.74\n"
|
||||
"vt 0.74 0.68\n"
|
||||
"vt 0.74 0.80\n"
|
||||
"vt 0.85 0.74\n"
|
||||
"vt 0.97 0.74\n"
|
||||
"vt 0.91 0.68\n"
|
||||
"vt 0.91 0.80\n"
|
||||
"vt 0.68 0.91\n"
|
||||
"vt 0.80 0.91\n"
|
||||
"vt 0.74 0.85\n"
|
||||
"vt 0.74 0.97\n"
|
||||
"vt 0.85 0.91\n"
|
||||
"vt 0.97 0.91\n"
|
||||
"vt 0.91 0.85\n"
|
||||
"vt 0.91 0.97\n"
|
||||
"\n"
|
||||
"f 34/41 35/42 36/44\n"
|
||||
"f 35/42 34/41 40/43\n"
|
||||
"f 34/45 35/46 37/48\n"
|
||||
"f 35/46 34/45 41/47\n"
|
||||
"f 34/49 35/50 38/52\n"
|
||||
"f 35/50 34/49 42/51\n"
|
||||
"f 34/53 35/54 39/56\n"
|
||||
"f 35/54 34/53 43/55\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Shape 4: center-left\n"
|
||||
@ -141,13 +200,21 @@ static const std::string loop_nonman_edges =
|
||||
"v -1.25 -0.2 0.15\n"
|
||||
"v -0.95 0 0.15\n"
|
||||
"\n"
|
||||
"f 44 45 48\n"
|
||||
"f 45 46 49\n"
|
||||
"f 46 47 50\n"
|
||||
"f 45 49 48\n"
|
||||
"f 46 50 49\n"
|
||||
"vt 0.04 0.46\n"
|
||||
"vt 0.12 0.46\n"
|
||||
"vt 0.22 0.46\n"
|
||||
"vt 0.31 0.46\n"
|
||||
"vt 0.08 0.55\n"
|
||||
"vt 0.17 0.55\n"
|
||||
"vt 0.26 0.55\n"
|
||||
"\n"
|
||||
"f 44/57 45/58 48/61\n"
|
||||
"f 45/58 46/59 49/62\n"
|
||||
"f 46/59 47/60 50/63\n"
|
||||
"f 45/58 49/62 48/61\n"
|
||||
"f 46/59 50/63 49/62\n"
|
||||
"# Add triangle with degenerate edge along existing edge:\n"
|
||||
"f 46 46 49\n"
|
||||
"f 46/59 46/59 49/62\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Shape 5: center-middle\n"
|
||||
@ -165,21 +232,34 @@ static const std::string loop_nonman_edges =
|
||||
"v -0.166667 0.0 0.43302\n"
|
||||
"v 0.166667 0.0 0.43302\n"
|
||||
"\n"
|
||||
"f 51 52 55\n"
|
||||
"f 52 53 56\n"
|
||||
"f 51 55 54\n"
|
||||
"f 52 56 55\n"
|
||||
"f 53 57 56\n"
|
||||
"f 54 55 58\n"
|
||||
"f 55 56 59\n"
|
||||
"f 56 57 60\n"
|
||||
"f 55 59 58\n"
|
||||
"f 56 60 59\n"
|
||||
"f 58 59 61\n"
|
||||
"f 59 60 62\n"
|
||||
"f 59 62 61\n"
|
||||
"vt 0.40 0.37\n"
|
||||
"vt 0.50 0.37\n"
|
||||
"vt 0.60 0.37\n"
|
||||
"vt 0.35 0.46\n"
|
||||
"vt 0.45 0.46\n"
|
||||
"vt 0.55 0.46\n"
|
||||
"vt 0.65 0.46\n"
|
||||
"vt 0.40 0.54\n"
|
||||
"vt 0.50 0.54\n"
|
||||
"vt 0.60 0.54\n"
|
||||
"vt 0.45 0.63\n"
|
||||
"vt 0.55 0.63\n"
|
||||
"\n"
|
||||
"f 51/64 52/65 55/68\n"
|
||||
"f 52/65 53/66 56/69\n"
|
||||
"f 51/64 55/68 54/67\n"
|
||||
"f 52/65 56/69 55/68\n"
|
||||
"f 53/66 57/70 56/69\n"
|
||||
"f 54/67 55/68 58/71\n"
|
||||
"f 55/68 56/69 59/72\n"
|
||||
"f 56/69 57/70 60/73\n"
|
||||
"f 55/68 59/72 58/71\n"
|
||||
"f 56/69 60/73 59/72\n"
|
||||
"f 58/71 59/72 61/74\n"
|
||||
"f 59/72 60/73 62/75\n"
|
||||
"f 59/72 62/75 61/74\n"
|
||||
"# Add a triangle with a degenerate edge to the interior:\n"
|
||||
"f 55 56 56\n"
|
||||
"f 55/68 56/69 56/69\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Shape 6: center-right\n"
|
||||
@ -197,29 +277,45 @@ static const std::string loop_nonman_edges =
|
||||
"v 1.083333 0.0 0.43302\n"
|
||||
"v 1.416667 0.0 0.43302\n"
|
||||
"\n"
|
||||
"f 63 64 67\n"
|
||||
"f 64 65 68\n"
|
||||
"f 63 67 66\n"
|
||||
"f 64 68 67\n"
|
||||
"f 65 69 68\n"
|
||||
"f 66 67 70\n"
|
||||
"f 67 68 71\n"
|
||||
"f 68 69 72\n"
|
||||
"f 67 71 70\n"
|
||||
"f 68 72 71\n"
|
||||
"f 70 71 73\n"
|
||||
"f 71 72 74\n"
|
||||
"f 71 74 73\n"
|
||||
"# Add a completely degenerate triangle to the interior:\n"
|
||||
"f 67 67 67\n"
|
||||
"vt 0.73 0.37\n"
|
||||
"vt 0.83 0.37\n"
|
||||
"vt 0.93 0.37\n"
|
||||
"vt 0.68 0.46\n"
|
||||
"vt 0.78 0.46\n"
|
||||
"vt 0.88 0.46\n"
|
||||
"vt 0.98 0.46\n"
|
||||
"vt 0.73 0.54\n"
|
||||
"vt 0.83 0.54\n"
|
||||
"vt 0.93 0.54\n"
|
||||
"vt 0.78 0.63\n"
|
||||
"vt 0.88 0.63\n"
|
||||
"\n"
|
||||
"f 63/76 64/77 67/80\n"
|
||||
"f 64/77 65/78 68/81\n"
|
||||
"f 63/76 67/80 66/79\n"
|
||||
"f 64/77 68/81 67/80\n"
|
||||
"f 65/78 69/82 68/81\n"
|
||||
"f 66/79 67/80 70/83\n"
|
||||
"f 67/80 68/81 71/84\n"
|
||||
"f 68/81 69/82 72/85\n"
|
||||
"f 67/80 71/84 70/83\n"
|
||||
"f 68/81 72/85 71/84\n"
|
||||
"f 70/83 71/84 73/86\n"
|
||||
"f 71/84 72/85 74/87\n"
|
||||
"f 71/84 74/87 73/86\n"
|
||||
"# Add a completely degenerate triangle to the interior:\n"
|
||||
"f 67/80 67/80 67/80\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Shape 7: bottom-left\n"
|
||||
"#\n"
|
||||
"v -1.25 0.0 -1.25\n"
|
||||
"\n"
|
||||
"f 1 1 1\n"
|
||||
"vt 0.12 0.12\n"
|
||||
"vt 0.22 0.12\n"
|
||||
"vt 0.17 0.22\n"
|
||||
"\n"
|
||||
"f 75/88 75/89 75/90\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Shape 8: bottom-middle\n"
|
||||
@ -234,14 +330,24 @@ static const std::string loop_nonman_edges =
|
||||
"v 0.125 -0.1 -1.15\n"
|
||||
"v 0.375 0 -1.15\n"
|
||||
"\n"
|
||||
"f 76 77 81\n"
|
||||
"f 77 82 81\n"
|
||||
"vt 0.35 0.14\n"
|
||||
"vt 0.43 0.14\n"
|
||||
"vt 0.50 0.14\n"
|
||||
"vt 0.57 0.14\n"
|
||||
"vt 0.65 0.14\n"
|
||||
"vt 0.39 0.20\n"
|
||||
"vt 0.46 0.20\n"
|
||||
"vt 0.54 0.20\n"
|
||||
"vt 0.61 0.20\n"
|
||||
"\n"
|
||||
"f 76/91 77/92 81/96\n"
|
||||
"f 77/92 82/97 81/96\n"
|
||||
"# Reverse winding of the 3 middle faces:\n"
|
||||
"f 82 78 77\n"
|
||||
"f 82 83 78\n"
|
||||
"f 83 79 78\n"
|
||||
"f 79 84 83\n"
|
||||
"f 79 80 84\n"
|
||||
"f 82/97 78/93 77/92\n"
|
||||
"f 82/97 83/98 78/93\n"
|
||||
"f 83/98 79/94 78/93\n"
|
||||
"f 79/94 84/99 83/98\n"
|
||||
"f 79/94 80/95 84/99\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Shape 9: bottom-right\n"
|
||||
@ -259,20 +365,33 @@ static const std::string loop_nonman_edges =
|
||||
"v 1.083333 0.0 -0.81698\n"
|
||||
"v 1.416667 0.0 -0.81698\n"
|
||||
"\n"
|
||||
"f 85 86 89\n"
|
||||
"f 86 87 90\n"
|
||||
"f 85 89 88\n"
|
||||
"f 86 90 89\n"
|
||||
"f 87 91 90\n"
|
||||
"f 88 89 92\n"
|
||||
"vt 0.73 0.04\n"
|
||||
"vt 0.83 0.04\n"
|
||||
"vt 0.93 0.04\n"
|
||||
"vt 0.68 0.13\n"
|
||||
"vt 0.78 0.13\n"
|
||||
"vt 0.88 0.13\n"
|
||||
"vt 0.98 0.13\n"
|
||||
"vt 0.73 0.21\n"
|
||||
"vt 0.83 0.21\n"
|
||||
"vt 0.93 0.21\n"
|
||||
"vt 0.78 0.30\n"
|
||||
"vt 0.88 0.30\n"
|
||||
"\n"
|
||||
"f 85/100 86/101 89/104\n"
|
||||
"f 86/101 87/102 90/105\n"
|
||||
"f 85/100 89/104 88/103\n"
|
||||
"f 86/101 90/105 89/104\n"
|
||||
"f 87/102 91/106 90/105\n"
|
||||
"f 88/103 89/104 92/107\n"
|
||||
"# Reverse the winding order of the interior face:\n"
|
||||
"f 93 90 89\n"
|
||||
"f 90 91 94\n"
|
||||
"f 89 93 92\n"
|
||||
"f 90 94 93\n"
|
||||
"f 92 93 95\n"
|
||||
"f 93 94 96\n"
|
||||
"f 93 96 95\n"
|
||||
"f 93/108 90/105 89/104\n"
|
||||
"f 90/105 91/106 94/109\n"
|
||||
"f 89/104 93/108 92/107\n"
|
||||
"f 90/105 94/109 93/108\n"
|
||||
"f 92/107 93/108 95/110\n"
|
||||
"f 93/108 94/109 96/111\n"
|
||||
"f 93/108 96/111 95/110\n"
|
||||
"\n"
|
||||
"t interpolateboundary 1/0/0 1\n"
|
||||
"\n"
|
||||
|
@ -28,18 +28,26 @@ static const std::string loop_nonman_verts =
|
||||
"#\n"
|
||||
"# Shape 1: top-left\n"
|
||||
"#\n"
|
||||
"v -1.25 0.0 0.75\n"
|
||||
"v -1.25 0.0 0.875\n"
|
||||
"v -0.75 -0.25 0.75\n"
|
||||
"v -0.25 0.0 0.75\n"
|
||||
"v -0.25 0.0 0.875\n"
|
||||
"v -1.0 0.0 1.25\n"
|
||||
"v -0.5 0.0 1.25\n"
|
||||
"v -1.0 0.0 0.25\n"
|
||||
"v -0.5 0.0 0.25\n"
|
||||
"#\n"
|
||||
"vt 0.05 0.80\n"
|
||||
"vt 0.25 0.75\n"
|
||||
"vt 0.45 0.80\n"
|
||||
"vt 0.15 0.95\n"
|
||||
"vt 0.35 0.95\n"
|
||||
"vt 0.15 0.55\n"
|
||||
"vt 0.35 0.55\n"
|
||||
"\n"
|
||||
"f 1 2 4\n"
|
||||
"f 2 5 4\n"
|
||||
"f 2 3 5\n"
|
||||
"f 2 6 7\n"
|
||||
"f 1/1 2/2 4/4\n"
|
||||
"f 2/2 5/5 4/4\n"
|
||||
"f 2/2 3/3 5/5\n"
|
||||
"f 2/2 6/6 7/7\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Shape 2: top-right\n"
|
||||
@ -53,13 +61,24 @@ static const std::string loop_nonman_verts =
|
||||
"v 0.5 0.0 0.25\n"
|
||||
"v 1.0 0.0 0.25\n"
|
||||
"v 1.25 0.0 0.625\n"
|
||||
"#\n"
|
||||
"vt 0.55 0.80\n"
|
||||
"vt 0.75 0.76\n"
|
||||
"vt 0.95 0.80\n"
|
||||
"vt 0.65 0.95\n"
|
||||
"vt 0.85 0.95\n"
|
||||
"vt 0.55 0.70\n"
|
||||
"vt 0.65 0.55\n"
|
||||
"vt 0.85 0.55\n"
|
||||
"vt 0.95 0.70\n"
|
||||
"vt 0.75 0.74\n"
|
||||
"\n"
|
||||
"f 8 9 11\n"
|
||||
"f 9 12 11\n"
|
||||
"f 9 10 12\n"
|
||||
"f 9 13 14\n"
|
||||
"f 15 9 14\n"
|
||||
"f 15 16 9\n"
|
||||
"f 8/8 9/9 11/11\n"
|
||||
"f 9/9 12/12 11/11\n"
|
||||
"f 9/9 10/10 12/12\n"
|
||||
"f 9/17 13/13 14/14\n"
|
||||
"f 15/15 9/17 14/14\n"
|
||||
"f 15/15 16/16 9/17\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Shape 3: bottom-left\n"
|
||||
@ -73,14 +92,25 @@ static const std::string loop_nonman_verts =
|
||||
"v -0.5 -0.433013 -1.0\n"
|
||||
"v -1.0 0.0 -0.5\n"
|
||||
"v -0.5 0.0 -0.5\n"
|
||||
"#\n"
|
||||
"vt 0.25 0.20\n"
|
||||
"vt 0.05 0.20\n"
|
||||
"vt 0.15 0.03\n"
|
||||
"vt 0.35 0.03\n"
|
||||
"vt 0.45 0.20\n"
|
||||
"vt 0.35 0.37\n"
|
||||
"vt 0.15 0.37\n"
|
||||
"vt 0.03 0.47\n"
|
||||
"vt 0.23 0.47\n"
|
||||
"vt 0.13 0.37\n"
|
||||
"\n"
|
||||
"f 17 18 19\n"
|
||||
"f 17 19 20\n"
|
||||
"f 17 20 21\n"
|
||||
"f 17 21 22\n"
|
||||
"f 17 22 23\n"
|
||||
"f 17 23 18\n"
|
||||
"f 17 25 24\n"
|
||||
"f 17/18 18/19 19/20\n"
|
||||
"f 17/18 19/20 20/21\n"
|
||||
"f 17/18 20/21 21/22\n"
|
||||
"f 17/18 21/22 22/23\n"
|
||||
"f 17/18 22/23 23/24\n"
|
||||
"f 17/18 23/24 18/19\n"
|
||||
"f 17/27 25/26 24/25\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Shape 4: bottom-right\n"
|
||||
@ -98,19 +128,34 @@ static const std::string loop_nonman_verts =
|
||||
"v 0.25 0.0 -0.5\n"
|
||||
"v 0.5 -0.433013 -0.5\n"
|
||||
"v 1.0 -0.433013 -0.5\n"
|
||||
"#\n"
|
||||
"vt 0.66 0.36\n"
|
||||
"vt 0.52 0.36\n"
|
||||
"vt 0.59 0.24\n"
|
||||
"vt 0.73 0.24\n"
|
||||
"vt 0.80 0.36\n"
|
||||
"vt 0.73 0.48\n"
|
||||
"vt 0.59 0.48\n"
|
||||
"vt 0.70 0.14\n"
|
||||
"vt 0.77 0.26\n"
|
||||
"vt 0.91 0.26\n"
|
||||
"vt 0.98 0.14\n"
|
||||
"vt 0.91 0.02\n"
|
||||
"vt 0.77 0.02\n"
|
||||
"vt 0.84 0.14\n"
|
||||
"\n"
|
||||
"f 26 27 28\n"
|
||||
"f 26 28 29\n"
|
||||
"f 26 29 30\n"
|
||||
"f 26 30 31\n"
|
||||
"f 26 31 32\n"
|
||||
"f 26 32 27\n"
|
||||
"f 26 34 33\n"
|
||||
"f 26 35 34\n"
|
||||
"f 26 36 35\n"
|
||||
"f 26 37 36\n"
|
||||
"f 26 38 37\n"
|
||||
"f 26 33 38\n"
|
||||
"f 26/28 27/29 28/30\n"
|
||||
"f 26/28 28/30 29/31\n"
|
||||
"f 26/28 29/31 30/32\n"
|
||||
"f 26/28 30/32 31/33\n"
|
||||
"f 26/28 31/33 32/34\n"
|
||||
"f 26/28 32/34 27/29\n"
|
||||
"f 26/41 34/36 33/35\n"
|
||||
"f 26/41 35/37 34/36\n"
|
||||
"f 26/41 36/38 35/37\n"
|
||||
"f 26/41 37/39 36/38\n"
|
||||
"f 26/41 38/40 37/39\n"
|
||||
"f 26/41 33/35 38/40\n"
|
||||
"\n"
|
||||
"#\n"
|
||||
"# Additional 'shape' 5: isolated non-manifold vertex in center\n"
|
||||
|
Loading…
Reference in New Issue
Block a user