Перейти к содержанию

AnchorWidget

Пространственный якорь, привязывающий экранный UI-виджет к мировым координатам с масштабированием от зума, настройкой pivot и отсечением вне экрана.

Обзор

AnchorWidget — пространственный контроллер для UI-виджета, закрепленного за точкой в мировых координатах внутри WorldCanvas.

Возможности: - Позиционирование в мировых координатах (worldPosition, worldX, worldY). - Экранные размеры независимо от зума (screenSize) или пропорциональное масштабирование (zoomScaling). - Ограничения минимального и максимального размера для сохранения читаемости при экстремальном зуме. - Настройка опорной точки (pivot), диапазона зума видимости (visibleZoomRange) и отсечения вне экрана (cullOutsideViewport).

Настройка свойств пространственного якоря

AnchorWidget anchor = canvas.anchorLayer().add("pin", 100, 200, new Button("Marker"))
    .screenSize(64, 24)
    .pivot(0.5f, 1.0f);

Связанные ссылки

  • AnchorLayer: Слой управления экранными UI-виджетами, привязанными к мировым координатам внутри WorldCanvas.
  • WorldCanvas: Холст бесконечного 2D/3D пространства с поддержкой панорамирования, зума камеры, преобразования координат, фоновых слоев и привязанных экранных виджетов.

API

AnchorWidget::arrangedVisible()

Возвращает true, если якорь видим после проверок зума, отсечения и компоновки.

Возвращает boolean: True, если активно, включено или успешно..

AnchorWidget::cullOutsideViewport()

Возвращает true, если якорь автоматически отсекается вне области просмотра холста.

Возвращает boolean: True, если активно, включено или успешно..

AnchorWidget::cullOutsideViewport(boolean)

Включает или отключает автоматическое отсечение якоря вне видимой области экрана.

Параметр Тип Описание
cullOutsideViewport boolean Отсекать ли этот якорь автоматически при выходе за пределы области просмотра.

Возвращает AnchorWidget: Текущий экземпляр для цепочки вызовов..

AnchorWidget::id()

Возвращает уникальный идентификатор этого якоря в слое.

Возвращает String: Строковый идентификатор или текст..

AnchorWidget::maxScreenHeight()

Возвращает ограничение максимальной экранной высоты после зум-масштабирования.

Возвращает float: Координата или числовое значение с плавающей точкой..

AnchorWidget::maxScreenSize(float, float)

Устанавливает максимальные экранные размеры для предотвращения чрезмерного увеличения при приближении.

Параметр Тип Описание
width float Ширина.
height float Высота.

Возвращает AnchorWidget: Текущий экземпляр для цепочки вызовов..

AnchorWidget::maxScreenWidth()

Возвращает ограничение максимальной экранной ширины после зум-масштабирования.

Возвращает float: Координата или числовое значение с плавающей точкой..

AnchorWidget::maxVisibleZoom()

Возвращает верхний порог зума для видимости якоря.

Возвращает float: Координата или числовое значение с плавающей точкой..

AnchorWidget::minScreenHeight()

Возвращает ограничение минимальной экранной высоты после зум-масштабирования.

Возвращает float: Координата или числовое значение с плавающей точкой..

AnchorWidget::minScreenSize(float, float)

Устанавливает минимальные экранные размеры для предотвращения чрезмерного сжатия при отдалении.

Параметр Тип Описание
width float Ширина.
height float Высота.

Возвращает AnchorWidget: Текущий экземпляр для цепочки вызовов..

AnchorWidget::minScreenWidth()

Возвращает ограничение минимальной экранной ширины после зум-масштабирования.

Возвращает float: Координата или числовое значение с плавающей точкой..

AnchorWidget::minVisibleZoom()

Возвращает нижний порог зума для видимости якоря.

Возвращает float: Координата или числовое значение с плавающей точкой..

AnchorWidget::pivot(float, float)

Настраивает нормализованную точку привязки (pivot), совмещаемую с мировой позицией якоря.

Параметр Тип Описание
x float Горизонтальная координата X.
y float Вертикальная координата Y.

Возвращает AnchorWidget: Текущий экземпляр для цепочки вызовов..

AnchorWidget::pivotX()

Возвращает нормализованную горизонтальную координату pivot (0.0=слева, 0.5=центр, 1.0=справа).

Возвращает float: Координата или числовое значение с плавающей точкой..

AnchorWidget::pivotY()

Возвращает нормализованную вертикальную координату pivot (0.0=сверху, 0.5=центр, 1.0=снизу).

Возвращает float: Координата или числовое значение с плавающей точкой..

AnchorWidget::projectedRootX()

Возвращает последнюю рассчитанную экранную координату X точки привязки якоря.

Возвращает float: Координата или числовое значение с плавающей точкой..

AnchorWidget::projectedRootY()

Возвращает последнюю рассчитанную экранную координату Y точки привязки якоря.

Возвращает float: Координата или числовое значение с плавающей точкой..

AnchorWidget::referenceZoom()

Возвращает опорный коэффициент зума, при котором виджет отображается в базовом размере.

Возвращает float: Координата или числовое значение с плавающей точкой..

AnchorWidget::screenHeight()

Возвращает фиксированную экранную высоту в пикселях или -1 при использовании желаемого размера виджета.

Возвращает float: Координата или числовое значение с плавающей точкой..

AnchorWidget::screenSize(float, float)

Устанавливает фиксированные экранные размеры в пикселях интерфейса для этого якоря.

Параметр Тип Описание
width float Ширина.
height float Высота.

Возвращает AnchorWidget: Текущий экземпляр для цепочки вызовов..

AnchorWidget::screenWidth()

Возвращает фиксированную экранную ширину в пикселях или -1 при использовании желаемого размера виджета.

Возвращает float: Координата или числовое значение с плавающей точкой..

AnchorWidget::visible()

Возвращает флаг ручной видимости этого якоря.

Возвращает boolean: True, если активно, включено или успешно..

AnchorWidget::visible(boolean)

Вручную устанавливает состояние видимости этого якоря.

Параметр Тип Описание
visible boolean Флаг видимости.

Возвращает AnchorWidget: Текущий экземпляр для цепочки вызовов..

AnchorWidget::visibleZoomRange(float, float)

Ограничивает видимость якоря заданным диапазоном зума области просмотра.

Параметр Тип Описание
minZoom float Минимально допустимый масштаб зума.
maxZoom float Максимально допустимый масштаб зума.

Возвращает AnchorWidget: Текущий экземпляр для цепочки вызовов..

AnchorWidget::widget()

Возвращает вложенный UI-виджет, позиционируемый этим якорем.

Возвращает Widget: Вложенный UI-виджет..

AnchorWidget::worldPosition(float, float)

Обновляет положение якоря в мировых координатах.

Параметр Тип Описание
x float Горизонтальная координата X.
y float Вертикальная координата Y.

Возвращает AnchorWidget: Текущий экземпляр для цепочки вызовов..

AnchorWidget::worldX()

Возвращает мировую координату X якоря.

Возвращает float: Координата или числовое значение с плавающей точкой..

AnchorWidget::worldY()

Возвращает мировую координату Y якоря.

Возвращает float: Координата или числовое значение с плавающей точкой..

AnchorWidget::zoomScaling()

Возвращает true, если размеры виджета масштабируются пропорционально зуму области просмотра.

Возвращает boolean: True, если активно, включено или успешно..

AnchorWidget::zoomScaling(boolean, float)

Настраивает динамическое масштабирование размеров виджета в зависимости от зума области просмотра.

Параметр Тип Описание
zoomScaling boolean True для динамического масштабирования размера виджета от зума.
referenceZoom float Опорный коэффициент зума, при котором виджет имеет базовый экранный размер.

Возвращает AnchorWidget: Текущий экземпляр для цепочки вызовов..