示例#1
0
文件: vanet.py 项目: prabhujana/mn_dw
    def display_grid(self, aps, conn, nroads):

        for n in range(nroads):
            if n == 0:
                p = ginp(2)
                self.points[n] = p
                self.all_points = p
            else:
                p = ginp(1)
                self.points[n] = p
                self.all_points.append(p[0])

            x1 = [x[0] for x in self.points[n]]
            y1 = [x[1] for x in self.points[n]]
            if n == 0:
                # Get all the points in the line
                self.points[n] = self.get_line(int(x1[0]), int(y1[0]),
                                               int(x1[1]), int(y1[1]))
            else:
                self.points[n] = self.get_line(int(self.all_points[n][0]),
                                               int(self.all_points[n][1]),
                                               int(p[0][0]), int(p[0][1]))
            x1 = [x[0] for x in self.points[n]]
            y1 = [x[1] for x in self.points[n]]

            self.interX[n] = x1
            self.interY[n] = y1

            # Create a line object with the x y values of the points in a line
            self.roads[n] = plot2d.line2d(x1, y1, color='g')
            plot2d.line(self.roads[n])

        for bs in aps:
            bs.prop = ginp(1)[0]
            bs_x = round(bs.prop[0], 2)
            bs_y = round(bs.prop[1], 2)
            self.scatter = plot2d.scatter(float(bs_x), float(bs_y))
            bs.params['position'] = bs_x, bs_y, 0
            bs.set_pos_wmediumd(bs.params['position'])
            plot2d.instantiateNode(bs)
            plot2d.instantiateAnnotate(bs)
            plot2d.instantiateCircle(bs)
            plot2d.text(bs, float(bs_x), float(bs_y))
            plot2d.circle(bs, float(bs_x), float(bs_y))
            plot2d.draw()

        sleep(1)
        if 'src' in conn:
            for c in range(len(conn['src'])):
                line = plot2d.line2d([
                    conn['src'][c].params['position'][0],
                    conn['dst'][c].params['position'][0]
                ], [
                    conn['src'][c].params['position'][1],
                    conn['dst'][c].params['position'][1]
                ],
                                     'b',
                                     ls='dashed')
                plot2d.line(line)
示例#2
0
    def display_grid(self, aps, conn, nroads):

        for n in range(nroads):
            if n == 0:
                p = ginp(2)
                self.points[n] = p
                self.all_points = p
            else:
                p = ginp(1)
                self.points[n] = p
                self.all_points.append(p[0])

            x1 = [x[0] for x in self.points[n]]
            y1 = [x[1] for x in self.points[n]]
            if n == 0:
                # Get all the points in the line
                self.points[n] = self.get_line(int(x1[0]), int(y1[0]),
                                               int(x1[1]), int(y1[1]))
            else:
                self.points[n] = self.get_line(int(self.all_points[n][0]),
                                               int(self.all_points[n][1]),
                                               int(p[0][0]), int(p[0][1]))
            x1 = [x[0] for x in self.points[n]]
            y1 = [x[1] for x in self.points[n]]

            self.interX[n] = x1
            self.interY[n] = y1

            # Create a line object with the x y values of the points in a line
            self.roads[n] = plot2d.line2d(x1, y1, color='g')
            plot2d.line(self.roads[n])

        for bs in aps:
            bs.prop = ginp(1)[0]
            bs_x = '%.2f' % bs.prop[0]
            bs_y = '%.2f' % bs.prop[1]
            self.scatter = plot2d.scatter(float(bs_x), float(bs_y))
            bs.params['position'] = bs_x, bs_y, 0
            bs.set_pos_wmediumd(bs.params['position'])
            plot2d.instantiateNode(bs)
            plot2d.instantiateAnnotate(bs)
            plot2d.instantiateCircle(bs)
            plot2d.text(bs, float(bs_x), float(bs_y))
            plot2d.circle(bs, float(bs_x), float(bs_y))
            plot2d.draw()

        sleep(1)
        if 'src' in conn:
            for c in range(len(conn['src'])):
                line = plot2d.line2d([conn['src'][c].params['position'][0],
                                          conn['dst'][c].params['position'][0]], \
                                       [conn['src'][c].params['position'][1],
                                        conn['dst'][c].params['position'][1]],
                                         'b', ls='dashed')
                plot2d.line(line)