示例#1
0
        public void DirtyGeo()
        {
            lock (GeoLocker)
                Geometry = null;

            lock (StatusLocker)
                Status = Statuses.Generated;

            ClusterDirty?.Invoke(this, this);
        }
示例#2
0
        public void UpdateGeo(ClusterGeometry geo)
        {
            lock (GeoLocker)
                Geometry = geo;

            lock (StatusLocker)
                Status = Statuses.GeometryCreated;

            ClusterGeoRefresh?.Invoke(this, this);
        }
示例#3
0
 public static void GenerateGeometry(Cluster theCluster, object tag, GeoLoadCallback callback)
 {
     if (UseThreads)
     {
         ThreadPool.QueueUserWorkItem(new WaitCallback(o =>
         {
             ClusterGeometry.BuildGeometry(theCluster);
             callback?.Invoke(theCluster, tag);
         }));
     }
     else
     {
         ClusterGeometry.BuildGeometry(theCluster);
         callback?.Invoke(theCluster, tag);
     }
 }