Esempio n. 1
0
        private Cluster[] getClusters(ManagedPoint point)
        {
            List <Cluster> output = new List <Cluster>();

            for (int z = 0; z < clusters.GetLength(2); z++)
            {
                lock (fillLocker)
                {
                    Cluster cl1 = getCluster(point.lpx, point.y, z);
                    Cluster cl2 = getCluster(point.rpx, point.y, z);
                    Cluster cl3 = getCluster(point.x, point.tpy, z);
                    Cluster cl4 = getCluster(point.x, point.bpy, z);
                    if (cl1 != null)
                    {
                        output.Add(cl1);
                    }
                    if (cl2 != null)
                    {
                        output.Add(cl2);
                    }
                    if (cl3 != null)
                    {
                        output.Add(cl3);
                    }
                    if (cl4 != null)
                    {
                        output.Add(cl4);
                    }
                }
            }
            return(output.ToArray()); //Distinct()?
        }
Esempio n. 2
0
 public PointSet(ManagedPoint point, double joinDist)
 {
     this.joinDist = joinDist;
     originX       = x = point.x;
     originY       = y = point.y;
     type          = point.type;
     hash          = 0;
     points.Add(point);
 }
Esempio n. 3
0
        public void addPoint(ManagedPoint point, double dx, double dy)
        {
            double weight = points.Count;

            x += dx / weight;
            y += dy / weight;
            lock (locker)
            {
                points.Add(point);
            }
        }
Esempio n. 4
0
        public ManagedPoint[] getAllPointsAsArray()
        {
            int size = 0;

            foreach (IDictionary dict in container.Values)
            {
                size += dict.Count;
            }
            ManagedPoint[] pnts  = new ManagedPoint[size];
            int            index = 0;

            foreach (IDictionary dict in container.Values)
            {
                dict.Values.CopyTo(pnts, index);
                index += dict.Count;
            }
            return(pnts);
        }
Esempio n. 5
0
 public void addPoint(ManagedPoint point)
 {
     addPoint(point, point.x - x, point.y - y);
 }