RibbonLayer
Слой WorldCanvas для отрисовки текстурированных или сплошных лент, маршрутов и полилиний в мировых координатах.
Обзор
RibbonLayer отрисовывает непрерывные текстурированные или сплошные ленты, маршруты и геометрические пути внутри WorldCanvas.
Ключевые возможности:
- Текстурированные или однотонные ленты с настраиваемой шириной и шагом повтора текстуры (width, textureLength).
- Кэширование меша: геометрия переиспользуется до изменения точек пути, камеры или параметров оформления.
- Расширенная настройка через RibbonOptions: замкнутые контуры, miter limits, инверсия/обмен UV и скругленные стыки.
- Управление точками пути: path, addPoint, clear.
Отрисовка текстурированного пути ленты
RibbonLayer ribbon = new RibbonLayer()
.width(16.0f)
.addPoint(0, 0)
.addPoint(100, 150);
canvas.addWorldLayer(ribbon);
Связанные ссылки
- WorldCanvas: Холст бесконечного 2D/3D пространства с поддержкой панорамирования, зума камеры, преобразования координат, фоновых слоев и привязанных экранных виджетов.
- WorldLayer: Функциональный контракт для фоновых или декоративных слоев отрисовки внутри WorldCanvas.
API
RibbonLayer::addPoint(float, float)
Добавляет новую точку в мировых координатах в конец пути ленты.
| Параметр | Тип | Описание |
|---|---|---|
worldX |
float |
Мировая координата X. |
worldY |
float |
Мировая координата Y. |
Возвращает RibbonLayer: Текущий экземпляр для цепочки вызовов..
RibbonLayer::cacheHits()
Возвращает количество успешных обращений к кэшу меша ленты.
Возвращает long: Числовое количество..
RibbonLayer::cacheRebuilds()
Возвращает количество перестроений кэша меша ленты.
Возвращает long: Числовое количество..
RibbonLayer::clear()
Удаляет все точки из пути ленты.
Возвращает RibbonLayer: Текущий экземпляр для цепочки вызовов..
RibbonLayer::closed()
Возвращает true, если путь ленты образует замкнутый контур.
Возвращает boolean: True, если активно, включено или успешно..
RibbonLayer::closed(boolean)
Настраивает замыкание конца ленты обратно в ее начало.
| Параметр | Тип | Описание |
|---|---|---|
closed |
boolean |
Замкнут ли путь ленты в кольцо. |
Возвращает RibbonLayer: Текущий экземпляр для цепочки вызовов..
RibbonLayer::flipU()
Возвращает true, если горизонтальная координата текстуры U инвертирована.
Возвращает boolean: True, если активно, включено или успешно..
RibbonLayer::flipU(boolean)
Настраивает инверсию горизонтальной координаты текстуры U.
| Параметр | Тип | Описание |
|---|---|---|
flipU |
boolean |
Инвертировать ли горизонтальную координату текстуры U. |
Возвращает RibbonLayer: Текущий экземпляр для цепочки вызовов..
RibbonLayer::flipV()
Возвращает true, если вертикальная координата текстуры V инвертирована.
Возвращает boolean: True, если активно, включено или успешно..
RibbonLayer::flipV(boolean)
Настраивает инверсию вертикальной координаты текстуры V.
| Параметр | Тип | Описание |
|---|---|---|
flipV |
boolean |
Инвертировать ли вертикальную координату текстуры V. |
Возвращает RibbonLayer: Текущий экземпляр для цепочки вызовов..
RibbonLayer::invalidateCache()
Принудительно инвалидирует закэшированную геометрию меша ленты.
RibbonLayer::jointDots()
Возвращает true, если на стыках вершин пути отрисовываются скругленные точки.
Возвращает boolean: True, если активно, включено или успешно..
RibbonLayer::jointDots(boolean)
Настраивает отрисовку скругленных точек на стыках вершин пути.
| Параметр | Тип | Описание |
|---|---|---|
jointDots |
boolean |
Отрисовывать ли скругленные точки на стыках вершин. |
Возвращает RibbonLayer: Текущий экземпляр для цепочки вызовов..
RibbonLayer::jointSegments()
Возвращает количество сегментов для скругления угловых стыков.
Возвращает int: Числовое количество..
RibbonLayer::jointSegments(int)
Задает количество сегментов для скругления угловых стыков.
| Параметр | Тип | Описание |
|---|---|---|
jointSegments |
int |
Количество сегментов для скругления угловых стыков. |
Возвращает RibbonLayer: Текущий экземпляр для цепочки вызовов..
RibbonLayer::miterLimit()
Возвращает порог скоса угловых стыков (miter limit).
Возвращает float: Координата или числовое значение с плавающей точкой..
RibbonLayer::miterLimit(float)
Устанавливает порог скоса угловых стыков (miter limit).
| Параметр | Тип | Описание |
|---|---|---|
miterLimit |
float |
Порог ограничения скоса угловых стыков (miter limit). |
Возвращает RibbonLayer: Текущий экземпляр для цепочки вызовов..
RibbonLayer::options()
Возвращает активные параметры генерации ленты.
Возвращает RibbonOptions: Активные параметры ленты RibbonOptions..
RibbonLayer::options(RibbonOptions)
Устанавливает параметры генерации ленты.
| Параметр | Тип | Описание |
|---|---|---|
options |
RibbonOptions |
Параметры ленты, управляющие отрисовкой и триангуляцией. |
Возвращает RibbonLayer: Текущий экземпляр для цепочки вызовов..
RibbonLayer::path()
Возвращает неизменяемый список всех мировых точек вдоль пути ленты.
Возвращает List: Неизменяемый список точек пути в мировых координатах..
RibbonLayer::path(List)
Заменяет весь путь ленты переданным списком точек в мировых координатах.
| Параметр | Тип | Описание |
|---|---|---|
points |
List |
Список точек в мировых координатах, задающих путь ленты. |
Возвращает RibbonLayer: Текущий экземпляр для цепочки вызовов..
RibbonLayer::render(WorldCanvas, DrawScope)
Отрисовывает меш ленты в область рисования холста.
| Параметр | Тип | Описание |
|---|---|---|
canvas |
WorldCanvas |
WorldCanvas, содержащий этот слой ленты. |
draw |
DrawScope |
DrawScope для записи команд отрисовки меша ленты. |
RibbonLayer::resetCacheStats()
Сбрасывает диагностическую статистику кэширования меша.
RibbonLayer::swapUv()
Возвращает true, если координаты текстуры U и V поменяны местами.
Возвращает boolean: True, если активно, включено или успешно..
RibbonLayer::swapUv(boolean)
Настраивает обмен осей текстуры U и V.
| Параметр | Тип | Описание |
|---|---|---|
swapUv |
boolean |
Менять ли местами оси текстуры U и V. |
Возвращает RibbonLayer: Текущий экземпляр для цепочки вызовов..
RibbonLayer::texture()
Возвращает дескриптор текстуры ленты или null при сплошной цветной заливке.
Возвращает TextureHandle: Дескриптор текстуры..
RibbonLayer::texture(TextureHandle)
Устанавливает текстуру, применяемую к ленте.
| Параметр | Тип | Описание |
|---|---|---|
texture |
TextureHandle |
Дескриптор текстуры. |
Возвращает RibbonLayer: Текущий экземпляр для цепочки вызовов..
RibbonLayer::textureLength()
Возвращает расстояние в мировых единицах для одного полного повтора тайла текстуры.
Возвращает float: Координата или числовое значение с плавающей точкой..
RibbonLayer::textureLength(float)
Устанавливает расстояние в мировых единицах для одного полного повтора тайла текстуры.
| Параметр | Тип | Описание |
|---|---|---|
textureLength |
float |
Расстояние в мировых единицах для одного полного повтора тайла текстуры. |
Возвращает RibbonLayer: Текущий экземпляр для цепочки вызовов..
RibbonLayer::tint()
Возвращает изменяемый цвет тонирования вершин ленты.
Возвращает MutableColor: Экземпляр изменяемого цвета..
RibbonLayer::tint(ColorView)
Устанавливает цвет тонирования вершин ленты.
| Параметр | Тип | Описание |
|---|---|---|
tint |
ColorView |
Цвет тонирования. |
Возвращает RibbonLayer: Текущий экземпляр для цепочки вызовов..
RibbonLayer::width()
Возвращает ширину ленты в мировых единицах.
Возвращает float: Координата или числовое значение с плавающей точкой..
RibbonLayer::width(float)
Устанавливает ширину ленты в мировых единицах.
| Параметр | Тип | Описание |
|---|---|---|
width |
float |
Ширина. |
Возвращает RibbonLayer: Текущий экземпляр для цепочки вызовов..