refactor(GeodesicMesh): simplify HCF and face addition logic

master
hoba 10 months ago
parent 3b9bf33499
commit c2607a257a
  1. 22
      Assets/UltraCombos.Metamesh/Editor/GeodesicMesh.cs

@ -76,15 +76,6 @@ namespace Metamesh
private int HighestCommonFactor(int a, int b) private int HighestCommonFactor(int a, int b)
{ {
while (b != 0)
{
var r = a % b;
a = b;
b = r;
}
return a;
/*
var r = a % b; var r = a % b;
if (r == 0) if (r == 0)
{ {
@ -92,7 +83,6 @@ namespace Metamesh
} }
return HighestCommonFactor(b, r); return HighestCommonFactor(b, r);
*/
} }
@ -693,8 +683,7 @@ namespace Metamesh
} }
} }
this.face.Add(new List<int> this.face.Add(Enumerable.Range(0, 3).Select(i => primTri.vecToidx[temp[i]]).ToList());
{ primTri.vecToidx[temp[0]], primTri.vecToidx[temp[1]], primTri.vecToidx[temp[2]] });
} }
} }
@ -716,8 +705,7 @@ namespace Metamesh
} }
} }
this.face.Add(new List<int> this.face.Add(Enumerable.Range(0, 3).Select(i => primTri.vecToidx[temp[i]]).ToList());
{ primTri.vecToidx[temp[0]], primTri.vecToidx[temp[1]], primTri.vecToidx[temp[2]] });
} }
} }
@ -739,8 +727,7 @@ namespace Metamesh
} }
} }
this.face.Add(new List<int> this.face.Add(Enumerable.Range(0, 3).Select(i => primTri.vecToidx[temp[i]]).ToList());
{ primTri.vecToidx[temp[0]], primTri.vecToidx[temp[1]], primTri.vecToidx[temp[2]] });
} }
} }
@ -767,8 +754,7 @@ namespace Metamesh
nearTo[12].Add(new List<int> { i, close[i][0] }); nearTo[12].Add(new List<int> { i, close[i][0] });
} }
} }
//var near = Enumerable.Range(0, 12).ToList();
var near = Enumerable.Range(0, 12).ToDictionary(i => i); var near = Enumerable.Range(0, 12).ToDictionary(i => i);
var nearIndex = 12; var nearIndex = 12;
for (var i = 0; i < 12; i++) for (var i = 0; i < 12; i++)