using UnityEngine; using System.Collections; namespace Obi { public struct SimplexCounts { public int pointCount; public int edgeCount; public int triangleCount; public int simplexCount { get { return pointCount + edgeCount + triangleCount; } } public SimplexCounts(int pointCount, int edgeCount, int triangleCount) { this.pointCount = pointCount; this.edgeCount = edgeCount; this.triangleCount = triangleCount; } public int GetSimplexStartAndSize(int index, out int size) { if (index < triangleCount) { size = 3; return index * 3; } else if (index < triangleCount + edgeCount) { size = 2; return triangleCount * 3 + (index - triangleCount) * 2; } else if (index < simplexCount) { size = 1; return triangleCount * 3 + edgeCount * 2 + (index - triangleCount - edgeCount); } size = 0; return 0; } } }