Spec-Zone.ru › Qt 5.12

Тип QML Custom3DVolume

Добавляет объёмный объект с визуализацией по объёму в график. Подробнее...

Заявление импорта: import QtDataVisualization 1.2
С версии: QtDataVisualization 1.2
Создаёт: QCustom3DVolume
Наследует:

Custom3DItem

  • Список всех членов, включая унаследованные

Свойства

  • alphaMultiplier : real
  • drawSliceFrames : bool
  • drawSlices : bool
  • preserveOpacity : bool
  • цветРамкиСрезов : цвет
  • sliceFrameGaps : vector3d
  • sliceFrameThicknesses : vector3d
  • sliceFrameWidths : vector3d
  • sliceIndexX : int
  • sliceIndexY : int
  • sliceIndexZ : int
  • глубинаТекстуры : int
  • высотаТекстуры : int
  • ширинаТекстуры : int
  • использоватьShaderВысокогоРазрешения : bool

Подробное описание

Объект с визуализацией по объёму — это прямоугольник с 3D текстурой. Поддерживаются три плоскости срезов по основным осям объёма.

Визуализация объёмных объектов очень ресурсоёмка, особенно когда объект прозрачен, поскольку содержимое объёма просчитывается с помощью трассировки лучей. Производительность почти линейно зависит от количества пикселей, занимаемых объёмом на экране, поэтому уменьшение размера отображения или ограничение масштабирования графика — простые способы повышения производительности. Аналогичным образом, размеры текстуры объёма сильно влияют на производительность. Если частота кадров важнее точного отображения содержимого объёма, отключите высококачественный шейдер, установив свойство использоватьShaderВысокогоРазрешения в false.

Примечание: Заполнение данных объёма, как правило, неэффективно и непрактично чисто из QML, поэтому свойства, напрямую связанные с этим, не полностью поддерживаются из QML. Создайте гибридное приложение QML/C++, если хотите использовать объёмные объекты с интерфейсом Qt Quick.

Примечание: Объекты объёмного типа поддерживаются только с ортогональной проекцией.

Примечание: Объёмные объекты используют 3D текстуры, которые не поддерживаются в средах OpenGL ES2.

См. также AbstractGraph3D::orthoProjection и использоватьShaderВысокогоРазрешения.

Документация по свойствам

alphaMultiplier : real

Значение альфа каждого пикселя текстуры объёма умножается на это значение во время отрисовки. Это может быть использовано для введения равномерной прозрачности в объём. Если preserveOpacity равно true, только пиксели с определённой прозрачностью изначально затрагиваются, а полностью непрозрачные пиксели не затрагиваются. Значение не должно быть отрицательным. По умолчанию 1.0.

См. также preserveOpacity.

drawSliceFrames : bool

Если значение этого свойства true, вокруг объёма будут нарисованы рамки срезов, указанных индексами срезов. Если значение false, рамки срезов не будут нарисованы. Отрисовка рамок срезов не зависит от отрисовки самих срезов, поэтому вы можете отобразить весь объём и всё ещё нарисовать рамки срезов вокруг него. По умолчанию false.

См. также sliceIndexX, sliceIndexY, sliceIndexZ и drawSlices.

drawSlices : bool

Если значение этого свойства true, вместо всего объёма будут нарисованы срезы, указанные индексами срезов. Если значение false, всегда отображается весь объём. По умолчанию false.

Примечание: Срезы всегда рисуются вдоль осей элемента, поэтому если элемент повернут, срезы также поворачиваются.

См. также sliceIndexX, sliceIndexY и sliceIndexZ.

preserveOpacity : bool

Если значение этого свойства true, alphaMultiplier применяется только к пикселям, которые изначально обладают определённой прозрачностью. Если значение false, множитель применяется к значению альфа всех пикселей. По умолчанию true.

См. также alphaMultiplier.

sliceFrameColor : color

Цвет рамки среза. Прозрачный цвет рамки среза не поддерживается.

По умолчанию чёрный.

См. также drawSliceFrames.

sliceFrameGaps : vector3d

Размер воздушного зазора между самим объёмом и рамкой в каждой размерности. Зазор может быть разным для разных размерностей. Значения являются долями толщины объёма в той же размерности. Значения не могут быть отрицательными.

По умолчанию vector3d(0.01, 0.01, 0.01).

См. также drawSliceFrames.

sliceFrameThicknesses : vector3d

Толщина рамок срезов для каждой размерности. Значения являются долями толщины объёма в той же размерности. Значения не могут быть отрицательными.

По умолчанию vector3d(0.01, 0.01, 0.01).

См. также drawSliceFrames.

sliceFrameWidths : vector3d

Ширина рамки срезов. Ширина может отличаться для разных размерностей, например, вы можете не отображать рамки для определённых сторон объёма, установив для этой размерности значение ноль. Значения являются долями толщины объёма в той же размерности. Значения не могут быть отрицательными.

По умолчанию vector3d(0.01, 0.01, 0.01).

См. также drawSliceFrames.

sliceIndexX : int

Индекс x-мерности в данных текстуры, указывающий на вертикальный срез для отображения. Установка любой размерности в отрицательное значение указывает на отсутствие среза или рамки среза для этой размерности. Если все размерности отрицательные, не отображаются срезы или рамки срезов, и отображается весь объём. По умолчанию -1.

См. также QCustom3DVolume::textureData, drawSlices и drawSliceFrames.

sliceIndexY : int

Индекс y-мерности в данных текстуры, указывающий на горизонтальный срез для отображения. Установка любой размерности в отрицательное значение указывает на отсутствие среза или рамки среза для этой размерности. Если все размерности отрицательные, не отображаются срезы или рамки срезов, и отображается весь объём. По умолчанию -1.

См. также QCustom3DVolume::textureData, drawSlices и drawSliceFrames.

sliceIndexZ : int

Индекс z-мерности в данных текстуры, указывающий на вертикальный срез для отображения. Установка любой размерности в отрицательное значение указывает на отсутствие среза или рамки среза для этой размерности. Если все размерности отрицательные, не отображаются срезы или рамки срезов, и отображается весь объём. По умолчанию -1.

См. также QCustom3DVolume::textureData, drawSlices и drawSliceFrames.

textureDepth : int

Глубина 3D-текстуры, определяющей содержимое объёма в пикселях. По умолчанию 0.

Примечание: Изменение этого свойства из QML не поддерживается, так как данные текстуры не могут быть изменены соответствующим образом.

textureHeight : int

Высота 3D-текстуры, определяющей содержимое объёма в пикселях. По умолчанию 0.

Примечание: Изменение этого свойства из QML не поддерживается, так как данные текстуры не могут быть изменены соответствующим образом.

textureWidth : int

Ширина 3D-текстуры, определяющей содержимое объёма в пикселях. По умолчанию 0.

Примечание: Изменение этого свойства из QML не поддерживается, так как данные текстуры не могут быть изменены соответствующим образом.

useHighDefShader : bool

Если значение этого свойства true, используется высокодетализированный шейдер для отрисовки объёма. Если оно false, используется шейдер низкой детализации.

Высокодетализированный шейдер гарантирует, что каждый видимый тексел текстуры объёма будет сэмплирован при отрисовке объёма. Шейдер низкой детализации отрисовывает лишь приблизительное представление содержимого объёма, но с гораздо большей частотой кадров. Шейдер низкой детализации не гарантирует, что каждый тексел текстуры объёма будет сэмплирован, поэтому может наблюдаться мерцание, если объём содержит чётко выраженные тонкие детали.

Примечание: Это значение не влияет на уровень детализации при отрисовке срезов объёма.

По умолчанию true.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qml-qtdatavisualization-custom3dvolume.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API