Exemple #1
0
        private static SparseArray <IZone> InitializeZones(SparseArray <Node> nodes)
        {
            var        flatNodes = nodes.GetFlatData();
            List <int> centroids = new List <int>();

            for (int i = 0; i < flatNodes.Length; i++)
            {
                if (flatNodes[i].IsCentroid)
                {
                    centroids.Add(flatNodes[i].Number);
                }
            }
            var centroidIndexes = centroids.ToArray();
            var flatzones       = new IZone[centroidIndexes.Length];

            for (int i = 0; i < centroidIndexes.Length; i++)
            {
                HOTZone zone = new HOTZone();
                var     node = nodes[centroidIndexes[i]];
                // update the centroid indexes to the sparse space
                zone.ZoneNumber = (short)centroidIndexes[i];
                zone.X          = node.X;
                zone.Y          = node.Y;
                flatzones[i]    = zone;
            }
            return(SparseArray <IZone> .CreateSparseArray(centroidIndexes, flatzones));
        }
Exemple #2
0
 private static SparseArray<IZone> InitializeZones(SparseArray<Node> nodes)
 {
     var flatNodes = nodes.GetFlatData();
     List<int> centroids = new List<int>();
     for ( int i = 0; i < flatNodes.Length; i++ )
     {
         if ( flatNodes[i].IsCentroid )
         {
             centroids.Add( flatNodes[i].Number );
         }
     }
     var centroidIndexes = centroids.ToArray();
     var flatzones = new IZone[centroidIndexes.Length];
     for ( int i = 0; i < centroidIndexes.Length; i++ )
     {
         HOTZone zone = new HOTZone();
         var node = nodes[centroidIndexes[i]];
         // update the centroid indexes to the sparse space
         zone.ZoneNumber = (short)centroidIndexes[i];
         zone.X = node.X;
         zone.Y = node.Y;
         flatzones[i] = zone;
     }
     return SparseArray<IZone>.CreateSparseArray( centroidIndexes, flatzones );
 }