コード例 #1
0
        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]]);
            }
        }
コード例 #2
0
 public int RaycastNormalized(Vector3d direction)
 {
     return(IcoCommon.RaycastVertex(direction, level, true));
 }
コード例 #3
0
 public int Raycast(Vector3d direction)
 {
     return(IcoCommon.RaycastVertex(direction, level, false));
 }
コード例 #4
0
 public IcoSphere(int level)
 {
     this.level = level;
     verticies  = IcoCommon.GetVerticesCopy(level);
     faces      = IcoCommon.GetFacesCopy(level);
 }
コード例 #5
0
 public int[] GetNeighboursIndex(int index)
 {
     return(IcoCommon.GetNeighboursVertexIndex(level, index));
 }
コード例 #6
0
 public IcoCollection(int level)
 {
     this.level = level;
     points     = (int)IcoCommon.VerticiesInLevel(level);
     values     = new T[points];
 }