Esempio n. 1
0
    def update_mouse_item(self, pos = None):
        rotation = 0.0
        if self.mouse_item is not None:
            rotation = self.mouse_item.rotation()
            self.removeFromGroup(self.mouse_item)
            self.scene().removeItem(self.mouse_item)
        # Ghost robot
        ghost_pen = QPen(QColor(self.color))
        if self.is_main_robot:
            (self.mouse_item, robot_item, gyration_item) = helpers.create_main_robot_base_item(ghost_pen, QBrush(), ghost_pen)
        else:
            (self.mouse_item, robot_item, gyration_item) = helpers.create_secondary_robot_base_item(ghost_pen, QBrush(), ghost_pen)

        line = QGraphicsLineItem(-50.0, 0.0, 50.0, 0.0)
        line.setPen(ghost_pen)
        self.mouse_item.addToGroup(line)

        line = QGraphicsLineItem(0.0, -50.0, 0.0, 50.0)
        line.setPen(ghost_pen)
        self.mouse_item.addToGroup(line)

        self.mouse_item.setRotation(rotation)
        if pos is None:
            self.mouse_item.setVisible(False)
        else:
            self.mouse_item.setPos(pos.x(), pos.y())
        self.addToGroup(self.mouse_item)
Esempio n. 2
0
    def update_mouse_item(self, pos = None):
        rotation = 0.0
        if self.mouse_item is not None:
            rotation = self.mouse_item.rotation()
            self.removeFromGroup(self.mouse_item)
            self.scene().removeItem(self.mouse_item)
        # Ghost robot
        ghost_pen = QPen(QColor(self.color))
        if self.is_main_robot:
            (self.mouse_item, robot_item, gyration_item) = helpers.create_main_robot_base_item(ghost_pen, QBrush(), ghost_pen)
        else:
            (self.mouse_item, robot_item, gyration_item) = helpers.create_secondary_robot_base_item(ghost_pen, QBrush(), ghost_pen)

        line = QGraphicsLineItem(-50.0, 0.0, 50.0, 0.0)
        line.setPen(ghost_pen)
        self.mouse_item.addToGroup(line)

        line = QGraphicsLineItem(0.0, -50.0, 0.0, 50.0)
        line.setPen(ghost_pen)
        self.mouse_item.addToGroup(line)

        self.mouse_item.setRotation(rotation)
        if pos is None:
            self.mouse_item.setVisible(False)
        else:
            self.mouse_item.setPos(pos.x(), pos.y())
        self.addToGroup(self.mouse_item)
    def setup(self):
        if self.item is not None:
            for elt in self.carried_elements:
                self.item.removeFromGroup(elt)
            self.carried_elements = []

            self.layer.field_view_controller.field_scene.removeItem(self.item)
            del self.item

        self.item = QGraphicsItemGroup(self.layer)

        dark_metal = QColor("#838383")
        light_metal = QColor("#e9eaff")

        if self.layer.robot_controller.is_main:
            (self.structure, self.robot_item,
             self.gyration_item) = helpers.create_main_robot_base_item(
                 dark_metal, light_metal,
                 QColor(self.layer.color).darker(150))
        else:
            (self.structure, self.robot_item,
             self.gyration_item) = helpers.create_secondary_robot_base_item(
                 dark_metal, light_metal,
                 QColor(self.layer.color).darker(150))
        self.item.addToGroup(self.structure)

        tower = QGraphicsRectItem(-40.0, -40.0, 80.0, 80.0)
        tower.setPen(QPen(0))
        tower.setBrush(dark_metal)
        self.item.addToGroup(tower)

        self.team_indicator = QGraphicsEllipseItem(-25.0, -25.0, 50.0, 50.0)
        self.team_indicator.setBrush(QColor(self.layer.color))
        self.team_indicator.setPen(QPen(0))
        self.item.addToGroup(self.team_indicator)

        detection_radius = (TURRET_DETECTION_RANGE_START +
                            TURRET_DETECTION_RANGE_END) / 2.0 * 100.0
        self.short_detection_circle = QGraphicsEllipseItem(
            -detection_radius, -detection_radius, 2.0 * detection_radius,
            2.0 * detection_radius)
        self.short_detection_circle.setPen(
            QPen(QColor(self.layer.color), 2, Qt.DashLine))
        self.item.addToGroup(self.short_detection_circle)

        detection_radius = (TURRET_DETECTION_RANGE_START +
                            TURRET_DETECTION_RANGE_END) / 2.0 * 100.0
        self.long_detection_circle = QGraphicsEllipseItem(
            -detection_radius, -detection_radius, 2.0 * detection_radius,
            2.0 * detection_radius)
        self.long_detection_circle.setPen(
            QPen(QColor(self.layer.color), 2, Qt.DashLine))
        self.item.addToGroup(self.long_detection_circle)

        self.item.setVisible(False)
        self.item.setPos(0.0, 0.0)
        self.set_rotation(0.0)
Esempio n. 4
0
    def setup(self):
        if self.item is not None:
            for elt in self.carried_elements:
                self.item.removeFromGroup(elt)
            self.carried_elements = []

            self.layer.field_view_controller.field_scene.removeItem(self.item)
            del self.item

        self.item = QGraphicsItemGroup(self.layer)

        dark_metal = QColor("#838383")
        light_metal = QColor("#e9eaff")

        if self.layer.robot_controller.is_main:
            (self.structure, self.robot_item, self.gyration_item) = helpers.create_main_robot_base_item(dark_metal, light_metal, QColor(self.layer.color).darker(150))
        else:
            (self.structure, self.robot_item, self.gyration_item) = helpers.create_secondary_robot_base_item(dark_metal, light_metal, QColor(self.layer.color).darker(150))
        self.item.addToGroup(self.structure)

        tower = QGraphicsRectItem(-40.0, -40.0, 80.0, 80.0)
        tower.setPen(QPen(0))
        tower.setBrush(dark_metal)
        self.item.addToGroup(tower)

        self.team_indicator = QGraphicsEllipseItem(-25.0, -25.0, 50.0, 50.0)
        self.team_indicator.setBrush(QColor(self.layer.color))
        self.team_indicator.setPen(QPen(0))
        self.item.addToGroup(self.team_indicator)

        detection_radius = TURRET_SHORT_DISTANCE_DETECTION_RANGE * 1000.0
        self.short_detection_circle = QGraphicsEllipseItem(-detection_radius, -detection_radius, 2.0 * detection_radius, 2.0 * detection_radius)
        self.short_detection_circle.setPen(QPen(QColor(self.layer.color), 2, Qt.DashLine))
        self.item.addToGroup(self.short_detection_circle)

        detection_radius = TURRET_LONG_DISTANCE_DETECTION_RANGE * 1000.0
        self.long_detection_circle = QGraphicsEllipseItem(-detection_radius, -detection_radius, 2.0 * detection_radius, 2.0 * detection_radius)
        self.long_detection_circle.setPen(QPen(QColor(self.layer.color), 2, Qt.DashLine))
        self.item.addToGroup(self.long_detection_circle)

        self.item.setVisible(False)
        self.item.setPos(0.0, 0.0)
        self.set_rotation(0.0)