Beispiel #1
0
 void InsertIntoChunkMaybe(StabilityChunk[,] ary, int x, int y, IceStabilityTriangle tri, Rectangle box)
 {
     if (x >= 0 && y >= 0 && x < ary.GetLength(0) && y < ary.GetLength(1))
     {
         var chunk = ary[x, y];
         if (box.IntersectsWith(chunk.BoundingBox))
         {
             chunk.Triangles.Add(tri);
         }
     }
 }
Beispiel #2
0
        void InsertIntoChunks(StabilityChunk[,] ary, int x, int y, IceStabilityTriangle tri, Rectangle box)
        {
            InsertIntoChunkMaybe(ary, x, y, tri, box);
            InsertIntoChunkMaybe(ary, x - 1, y, tri, box);
            InsertIntoChunkMaybe(ary, x + 1, y, tri, box);

            InsertIntoChunkMaybe(ary, x, y - 1, tri, box);
            InsertIntoChunkMaybe(ary, x - 1, y - 1, tri, box);
            InsertIntoChunkMaybe(ary, x + 1, y - 1, tri, box);

            InsertIntoChunkMaybe(ary, x, y + 1, tri, box);
            InsertIntoChunkMaybe(ary, x - 1, y + 1, tri, box);
            InsertIntoChunkMaybe(ary, x + 1, y + 1, tri, box);
        }