scripts
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace TriangleNet
|
||||
{
|
||||
// Token: 0x02000010 RID: 16
|
||||
internal class Sampler
|
||||
{
|
||||
// Token: 0x06000090 RID: 144 RVA: 0x00010FFA File Offset: 0x0000F1FA
|
||||
public void Reset()
|
||||
{
|
||||
this.samples = 1;
|
||||
this.triangleCount = 0;
|
||||
}
|
||||
|
||||
// Token: 0x06000091 RID: 145 RVA: 0x0001100A File Offset: 0x0000F20A
|
||||
public void Update(Mesh mesh)
|
||||
{
|
||||
this.Update(mesh, false);
|
||||
}
|
||||
|
||||
// Token: 0x06000092 RID: 146 RVA: 0x00011014 File Offset: 0x0000F214
|
||||
public void Update(Mesh mesh, bool forceUpdate)
|
||||
{
|
||||
int count = mesh.triangles.Count;
|
||||
if (this.triangleCount != count || forceUpdate)
|
||||
{
|
||||
this.triangleCount = count;
|
||||
while (Sampler.samplefactor * this.samples * this.samples * this.samples < count)
|
||||
{
|
||||
this.samples++;
|
||||
}
|
||||
this.keys = mesh.triangles.Keys.ToArray<int>();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06000093 RID: 147 RVA: 0x00011088 File Offset: 0x0000F288
|
||||
public int[] GetSamples(Mesh mesh)
|
||||
{
|
||||
List<int> list = new List<int>(this.samples);
|
||||
int num = this.triangleCount / this.samples;
|
||||
for (int i = 0; i < this.samples; i++)
|
||||
{
|
||||
int num2 = Sampler.rand.Next(i * num, (i + 1) * num - 1);
|
||||
if (!mesh.triangles.Keys.Contains(this.keys[num2]))
|
||||
{
|
||||
this.Update(mesh, true);
|
||||
i--;
|
||||
}
|
||||
else
|
||||
{
|
||||
list.Add(this.keys[num2]);
|
||||
}
|
||||
}
|
||||
return list.ToArray();
|
||||
}
|
||||
|
||||
// Token: 0x0400007E RID: 126
|
||||
private static Random rand = new Random(DateTime.Now.Millisecond);
|
||||
|
||||
// Token: 0x0400007F RID: 127
|
||||
private int samples = 1;
|
||||
|
||||
// Token: 0x04000080 RID: 128
|
||||
private int triangleCount;
|
||||
|
||||
// Token: 0x04000081 RID: 129
|
||||
private static int samplefactor = 11;
|
||||
|
||||
// Token: 0x04000082 RID: 130
|
||||
private int[] keys;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user