public DependencyZoneRelationships(DependencyZone zone, DependencyZones allZones)
        {
            this.Zone = zone;
            foreach (DependencyZone aZone in allZones.AllZones)
            {
                HashSet <Vertex> overlap;
                if (aZone != this.Zone)
                {
                    switch (aZone.GetRelationship(this.Zone, out overlap))
                    {
                    case DependencyZone.Relationship.Super:
                        this.SuperZones.Add(aZone.Id, aZone);
                        break;

                    case DependencyZone.Relationship.Sub:
                        this.SubZones.Add(aZone.Id, aZone);
                        break;

                    case DependencyZone.Relationship.Overlap:
                        this.OverlappingZones.Add(aZone.Id, aZone);
                        break;

                    case DependencyZone.Relationship.Alternative:
                        this.AlternativeZones.Add(aZone.Id, aZone);
                        break;
                    }
                }
            }
        }
Пример #2
0
        public ZoneGroups(DependencyZones zones, GroupingStrategy strategy, bool nonZonesOnly, double dependencyThreshold)
        {
            this.zones            = zones;
            this.DUPLICITY_FILTER = this.zones.DUPLICITY_FILTER;
            if (this.DUPLICITY_FILTER == DependencyZone.DuplicityFilter.MultiEgo)
            {
                this.DUPLICITY_FILTER = DependencyZone.DuplicityFilter.All;
            }

            this.AllGroups           = new List <ZoneGroup>();
            this.Strategy            = strategy;
            this.NonZonesOnly        = nonZonesOnly;
            this.DependencyThreshold = dependencyThreshold;

            this.calculateGroups();
            this.CompleteAndFilterDuplicities();
        }
Пример #3
0
        public int SumCommZoneOverlapSize = 0;     //

        public Statistics(WeightedNetwork.DependencyZones zones)
        {
            this.NodesCount = zones.Network.Vertices.Count;
            this.EdgesCount = zones.Network.Edges.Count;
            this.ZonesCount = zones.AllZones.Count;
        }