示例#1
0
        private bool filteringfunc(Cluster cluster)
        {
            ModelingHistory hist = ModelingHistory.history;

            IndexedViewableAlpha[] vs = hist.GetViewables(cluster, false, true, true, false);
            bool[] selected           = new bool[hist.SnapshotCount];
            foreach (IndexedViewableAlpha viewable in vs)
            {
                for (int ivert = 0; ivert < viewable.nVerts; ivert++)
                {
                    if (viewable.Selected[ivert])
                    {
                        selected[viewable.VertUIDs[ivert]] = true;
                    }
                }
            }
            for (int ivert = 0; ivert < hist.UniqueVertCount; ivert++)
            {
                if (selected[ivert] && hist.GetVTags(ivert).Contains(tag))
                {
                    return(false);
                }
            }
            return(true);
        }
示例#2
0
        public void SetCluster(bool loop = false)
        {
            // update currentClusterLayer
            ClampHelper(ref currentClusterLayer, 0, hist.Layers.nlevels);
            //clusters = hist.Layers.GetClusteringLayer(currentClusterLayer).clusters;
            clusters = hist.Layers.GetClusteringLayer(currentClusterLayer).GetClusters();

            // update currentClusterIndex
            ClampHelper(ref currentClusterIndex, 0, clusters.Count, loop);

            viewables = hist.GetViewables(clusters[currentClusterIndex], false, false, false, false);

            // fire currenttime changed event
            if (CurrentIndexChanged != null)
            {
                CurrentIndexChanged((float)(currentClusterIndex) / (float)(clusters.Count - 1));
            }

            Console.WriteLine("layer index = {0}, cluster index = {1}.", currentClusterLayer, currentClusterIndex);
            RefreshControl();
        }