Path: blob/main/tools/neteditTestFunctions/frames/move.py
169679 views
# -*- coding: utf-8 -*-1# Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo2# Copyright (C) 2009-2025 German Aerospace Center (DLR) and others.3# This program and the accompanying materials are made available under the4# terms of the Eclipse Public License 2.0 which is available at5# https://www.eclipse.org/legal/epl-2.0/6# This Source Code may also be made available under the following Secondary7# Licenses when the conditions for such availability set forth in the Eclipse8# Public License 2.0 are satisfied: GNU General Public License, version 29# or later which is available at10# https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html11# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later1213# @file move.py14# @author Pablo Alvarez Lopez15# @date 28-05-251617# imports18from ..enums.attributesEnum import attrs19from ..general.functions import focusOnFrame20from ..input.keyboard import typeKey21from ..input.mouse import dragDrop, leftClick222324def moveElementHorizontal(referencePosition, originalPosition, radius):25"""26@brief move element in horizontal27"""28leftClick(referencePosition, originalPosition)29# move element30dragDrop(referencePosition, originalPosition.x, originalPosition.y,31originalPosition.x + radius.right, originalPosition.y)32dragDrop(referencePosition, originalPosition.x + radius.right,33originalPosition.y, originalPosition.x + radius.left, originalPosition.y)343536def moveElementVertical(referencePosition, originalPosition, radius):37"""38@brief move element in vertical39"""40# move element41if (radius.up != 0):42dragDrop(referencePosition, originalPosition.x, originalPosition.y,43originalPosition.x, originalPosition.y + radius.up)44if (radius.down != 0):45dragDrop(referencePosition, originalPosition.x, originalPosition.y + radius.up,46originalPosition.x, originalPosition.y + radius.down)474849def moveElement(referencePosition, originalPosition, radius):50"""51@brief move element52"""53# move element54dragDrop(referencePosition,55originalPosition.x,56originalPosition.y,57originalPosition.x + radius.right,58originalPosition.y)59dragDrop(referencePosition,60originalPosition.x + radius.right,61originalPosition.y,62originalPosition.x + radius.right,63originalPosition.y + radius.down)64dragDrop(referencePosition,65originalPosition.x + radius.right,66originalPosition.y + radius.down,67originalPosition.x + radius.left,68originalPosition.y + radius.down)69dragDrop(referencePosition,70originalPosition.x + radius.left,71originalPosition.y + radius.down,72originalPosition.x + radius.left,73originalPosition.y + radius.up)747576def moveGeometryPoint(referencePosition, originalPosition, destinyPositionA, destinyPositionB):77"""78@brief move geometry point79"""80leftClick(referencePosition, originalPosition)81# move element82dragDrop(referencePosition, originalPosition.x, originalPosition.y, destinyPositionA.x, destinyPositionA.y)83dragDrop(referencePosition, destinyPositionA.x, destinyPositionA.y, destinyPositionB.x, destinyPositionB.y)848586def toggleMoveEntireShape():87"""88@brief toggle move entire shape89"""90# focus current frame91focusOnFrame()92for _ in range(attrs.move.moveWholePolygon):93typeKey('tab')94# type space to create crossing95typeKey('space')969798