public IEnumerable <T> GetNeighbours(int index) { yield return(values[IcoCommon.GetNeighboursVertexRaw(level)[index * 6]]); yield return(values[IcoCommon.GetNeighboursVertexRaw(level)[index * 6 + 1]]); yield return(values[IcoCommon.GetNeighboursVertexRaw(level)[index * 6 + 2]]); yield return(values[IcoCommon.GetNeighboursVertexRaw(level)[index * 6 + 3]]); yield return(values[IcoCommon.GetNeighboursVertexRaw(level)[index * 6 + 4]]); if (IcoCommon.GetNeighboursVertexRaw(level)[index * 6 + 5] != -1) { yield return(values[IcoCommon.GetNeighboursVertexRaw(level)[index * 6 + 5]]); } }
public int RaycastNormalized(Vector3d direction) { return(IcoCommon.RaycastVertex(direction, level, true)); }
public int Raycast(Vector3d direction) { return(IcoCommon.RaycastVertex(direction, level, false)); }
public IcoSphere(int level) { this.level = level; verticies = IcoCommon.GetVerticesCopy(level); faces = IcoCommon.GetFacesCopy(level); }
public int[] GetNeighboursIndex(int index) { return(IcoCommon.GetNeighboursVertexIndex(level, index)); }
public IcoCollection(int level) { this.level = level; points = (int)IcoCommon.VerticiesInLevel(level); values = new T[points]; }