Spec-Zone.ru › Qt 5.9

Класс QNode

(Qt3DCore::QNode)

QNode — базовый класс всех классов узлов Qt3D, используемых для построения сцены Qt3D. Подробнее...

Заголовок: #include <QNode>
qmake: QT += 3dcore
С тех пор: Qt 5.5
Наследует: QObject
Наследуется от:

Qt3DAnimation::QAbstractAnimationClip, Qt3DAnimation::QAbstractClipBlendNode, Qt3DCore::QComponent, Qt3DCore::QEntity, Qt3DInput::QAbstractActionInput, Qt3DInput::QAbstractAxisInput, Qt3DInput::QAbstractPhysicalDevice, Qt3DInput::QAction, Qt3DInput::QAxis, Qt3DInput::QAxisSetting, Qt3DRender::QAbstractTexture, Qt3DRender::QAbstractTextureImage, Qt3DRender::QAttribute, Qt3DRender::QBuffer, Qt3DRender::QEffect, Qt3DRender::QFilterKey, Qt3DRender::QFrameGraphNode, Qt3DRender::QGeometry, Qt3DRender::QParameter, Qt3DRender::QPickingSettings, Qt3DRender::QRenderPass, Qt3DRender::QRenderState, Qt3DRender::QRenderTargetOutput, Qt3DRender::QShaderProgram, Qt3DRender::QTechnique и Qt3DRender::Quick::QScene2D

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

Открытые типы

Перечисление PropertyTrackingMode { TrackFinalValues, DontTrackValues, TrackAllValues }

Свойства

  • defaultPropertyTrackingMode : PropertyTrackingMode
  • enabled : bool
  • parent : Qt3DCore::QNode *
  • 1 свойство унаследовано от QObject

Открытые функции

QNode(QNode *parent = nullptr)
bool blockNotifications(bool block)
QNodeVector childNodes() const
void clearPropertyTracking(const QString &propertyName)
void clearPropertyTrackings()
PropertyTrackingMode defaultPropertyTrackingMode() const
QNodeId id() const
bool isEnabled() const
bool notificationsBlocked() const
QNode * parentNode() const
PropertyTrackingMode propertyTracking(const QString &propertyName) const
void setPropertyTracking(const QString &propertyName, PropertyTrackingMode trackMode)
  • 32 открытых функции унаследованы от QObject

Открытые слоты

void setDefaultPropertyTrackingMode(PropertyTrackingMode mode)
void setEnabled(bool isEnabled)
void setParent(QNode *parent)
  • 1 открытый слот унаследован от QObject

Сигналы

void defaultPropertyTrackingModeChanged(PropertyTrackingMode mode)
void enabledChanged(bool enabled)
void nodeDestroyed()
void parentChanged(QObject *parent)
  • 2 сигнала унаследованы от QObject

Защищенные функции

void notifyObservers(const QSceneChangePtr &change)
virtual void sceneChangeEvent(const QSceneChangePtr &change)
  • 9 защищенных функций унаследованы от QObject

Связанные нечлены

typedef QNodePtr
typedef QNodeVector
QNodeId qIdForNode(QNode *node)
QNodeIdVector qIdsForNodes(const T &nodes)

Дополнительные унаследованные члены

  • 11 статических открытых членов унаследованы от QObject

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

QNode — базовый класс всех классов узлов Qt3D, используемых для построения сцены Qt3D.

Владение QNode определяется отношением родитель/ребенок QObject между узлами. Сам по себе QNode не имеет визуального представления и не имеет определенного смысла; он служит для построения древовидной структуры узлов.

Родителем экземпляра QNode может быть только другой экземпляр QNode.

Каждый экземпляр QNode имеет уникальный идентификатор, который позволяет различать его от других экземпляров.

Когда свойства определены для подкласса QNode, их сигнал NOTIFY автоматически генерирует уведомления, которые будут получены аспектами Qt3D backend.

См. также QEntity и QComponent.

Документация по типу члена

Перечисление QNode::PropertyTrackingMode

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

defaultPropertyTrackingMode : PropertyTrackingMode

Содержит режим отслеживания свойств по умолчанию, определяющий, должна ли QNode следить за обновлениями свойств. Это относится только к свойствам, которые не были переопределены вызовом setPropertyTracking.

По умолчанию он установлен в QNode::TrackFinalValues

Функции доступа:

PropertyTrackingMode defaultPropertyTrackingMode() const
void setDefaultPropertyTrackingMode(PropertyTrackingMode mode)

Сигнал уведомления:

void defaultPropertyTrackingModeChanged(PropertyTrackingMode mode)

enabled : bool

Содержит флаг включения QNode. По умолчанию QNode всегда включён.

Примечание: интерпретация того, что означает включение, зависит от аспекта. Даже если включение установлено в false, некоторые аспекты могут всё ещё рассматривать узел каким-либо образом. Это документировано для каждого класса по отдельности.

Функции доступа:

bool isEnabled() const
void setEnabled(bool isEnabled)

Сигнал уведомления:

void enabledChanged(bool enabled)

parent : Qt3DCore::QNode *

Содержит непосредственного родительского QNode, или null, если у узла нет родителя.

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

Примечание: если parent равен null, это фактически уведомит о том, что текущий экземпляр QNode был удалён из сцены.

Функции доступа:

QNode * parentNode() const
void setParent(QNode *parent)

Сигнал уведомления:

void parentChanged(QObject *parent)

Документация по членам-функциям

QNode::QNode(QNode *parent = nullptr)

Создаёт новый экземпляр QNode с родителем parent.

Примечание: бэкенд-аспекты будут уведомлены о том, что экземпляр QNode является частью сцены только если у него есть родитель; если это не корневой узел сцены Qt3D.

См. также setParent().

bool QNode::blockNotifications(bool block)

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

Возвращаемое значение — предыдущее значение notificationsBlocked().

Обратите внимание, что другие типы уведомлений будут отправлены, даже если уведомления для этого объекта были заблокированы.

См. также notificationsBlocked().

QNodeVector QNode::childNodes() const

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

void QNode::clearPropertyTracking(const QString &propertyName)

void QNode::clearPropertyTrackings()

QNodeId QNode::id() const

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

[signal] void QNode::nodeDestroyed()

вызывается, когда узел уничтожен.

bool QNode::notificationsBlocked() const

Возвращает true если уведомления аспектов заблокированы; в противном случае возвращает false. По умолчанию уведомления не заблокированы.

См. также blockNotifications().

[protected] void QNode::notifyObservers(const QSceneChangePtr &change)

Отправляет QSceneChangePtr change любым QBackendNodes в зарегистрированных аспектах, которые соответствуют этому QNode.

В общем случае изменения свойства QObject, QNode обрабатывает это автоматически, отправляя событие QPropertyUpdatedChange в бэкенд-узлы. Вам нужно вызывать эту функцию только если вы хотите отправить определённый тип изменения вместо автоматической обработки.

PropertyTrackingMode QNode::propertyTracking(const QString &propertyName) const

См. также setPropertyTracking().

[virtual protected] void QNode::sceneChangeEvent(const QSceneChangePtr &change)

Вызывается, когда один или несколько бэкенд-аспектов отправляют уведомление change текущему экземпляру Qt3DCore::QNode.

Примечание: Этот метод должен быть переопределён в ваших подклассах для правильной обработки change.

void QNode::setPropertyTracking(const QString &propertyName, PropertyTrackingMode trackMode)

См. также propertyTracking().

Связанные нечлены

typedef Qt3DCore::QNodePtr

Указатель на общий ресурс для QNode.

typedef Qt3DCore::QNodeVector

Список указателей на QNode.

QNodeId Qt3DCore::qIdForNode(QNode *node)

Возвращает идентификатор узла для node.

QNodeIdVector Qt3DCore::qIdsForNodes(const T &nodes)

Возвращает вектор идентификаторов узлов для nodes.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qt3dcore-qnode.html

Spec-Zone.ru

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