Eclipse GEF/draw2d Преобразование системы координат

Может кто-нибудь объяснить мне, как преобразования координат работают в draw2d? У меня есть иерархическая диаграмма, где фигура может содержать фигуры, которые также содержат фигуры. Сначала я добавил внутренние цифры, используя запрос getLocation, выбирая главную фигуру EditPolicy и применяя hostFigure.translateToRelative(location) но не работает! ни комбинации translateToParent и другие вещи.

В конце я скопировал реализацию из примера Logic, который использует getConstraintForметод, предоставляемый политикой, которая выполняет сам перевод. Я проверил это мог, но также не мог понять, как это работает.

Я читал в нескольких темах на форумах Eclipse на эту тему, но до сих пор не понимаю, почему такой простой метод, как translateToAbsolute не ведет себя так, как ожидалось. Может ли кто-нибудь объяснить, пожалуйста? Спасибо

1 ответ

Решение

Две информации, которые могут пролить свет на вашу проблему:

  1. В зависимости от типа запроса, я ожидаю, что местоположение уже будет в абсолютных координатах.
  2. Если явно не реализовано иное, фигуры не имеют локальной системы координат для своих детей. Таким образом, преобразование местоположения вверх и вниз по иерархии рисунка не обязательно меняет координаты.
Другие вопросы по тегам