Eclipse GEF/draw2d Преобразование системы координат
Может кто-нибудь объяснить мне, как преобразования координат работают в draw2d? У меня есть иерархическая диаграмма, где фигура может содержать фигуры, которые также содержат фигуры. Сначала я добавил внутренние цифры, используя запрос getLocation
, выбирая главную фигуру EditPolicy
и применяя hostFigure.translateToRelative(location)
но не работает! ни комбинации translateToParent
и другие вещи.
В конце я скопировал реализацию из примера Logic, который использует getConstraintFor
метод, предоставляемый политикой, которая выполняет сам перевод. Я проверил это мог, но также не мог понять, как это работает.
Я читал в нескольких темах на форумах Eclipse на эту тему, но до сих пор не понимаю, почему такой простой метод, как translateToAbsolute
не ведет себя так, как ожидалось. Может ли кто-нибудь объяснить, пожалуйста? Спасибо
1 ответ
Две информации, которые могут пролить свет на вашу проблему:
- В зависимости от типа запроса, я ожидаю, что местоположение уже будет в абсолютных координатах.
- Если явно не реализовано иное, фигуры не имеют локальной системы координат для своих детей. Таким образом, преобразование местоположения вверх и вниз по иерархии рисунка не обязательно меняет координаты.