Beispiel #1
0
        private void init_inters()
        {
            this.inters = new Intersection[this.inter_num];
            ISignalControllerContainer scContain = this.vissim.Net.SignalControllers;

            ISignalController[] SC = new ISignalController[this.inter_num];
            this.dc = this.vissim.Net.Detectors;

            Dictionary <int, int> portno_key = new Dictionary <int, int>();

            for (int i = 1; i <= this.dc.Count; i++)
            {
                IDetector det = this.dc.get_ItemByKey(i);
                int       id  = det.get_AttValue("PORTNO");
                portno_key[id] = i;
            }
            int[] real_key = new int[this.dc.Count];
            for (int i = 0; i < this.dc.Count; i++)
            {
                real_key[i] = portno_key[i + 1];
            }

            for (int i = 0; i < this.inter_num; i++)
            {
                SC[i]          = scContain.get_ItemByKey(i + 1);
                this.inters[i] = new Intersection(this.vissim, i + 1, this.dc,
                                                  this.stpln_det_config[i], this.overflow_det_config[i],
                                                  SC[i], this.inter_graph, real_key);
            }

            foreach (var inter in this.inters)
            {
                inter.init_neighbors(this.inters);
            }
        }