6#include <QtQuick3DAssetUtils/private/qssgscenedesc_p.h>
7#include <QtQuick3DAssetUtils/private/qssgqmlutilities_p.h>
8#include <QtQuick3DAssetUtils/private/qssgrtutilities_p.h>
9#include <QtQuick3DAssetImport/private/qssgassetimportmanager_p.h>
10#include <QtQuick3DRuntimeRender/private/qssgrenderbuffermanager_p.h>
92 if (m_source == newSource)
119 if (
auto *
model = qobject_cast<const QQuick3DModel *>(node)) {
121 for (
const QVector3D point :
b.bounds.toQSSGBoxPoints()) {
129 for (
auto *
child : node->childItems())
133template<
typename Func>
138 for (
auto *
child :
obj->childItems()) {
139 if (
auto *
model = qobject_cast<QQuick3DModel *>(
child))
145void QQuick3DRuntimeLoader::loadSource()
193 m_assetId =
scene.id;
194 m_boundsDirty =
true;
195 m_instancingChanged = m_instancing !=
nullptr;
201void QQuick3DRuntimeLoader::updateModels()
203 if (m_instancingChanged) {
205 model->setInstancing(m_instancing);
206 model->setInstanceRoot(m_imported);
208 m_instancingChanged =
false;
219 return m_errorString;
230void QQuick3DRuntimeLoader::calculateBounds()
232 if (!m_imported || !m_boundsDirty)
237 m_boundsDirty =
false;
244 that->calculateBounds();
245 return that->m_bounds;
258 if (m_instancing == newInstancing)
262 newInstancing, m_instancing);
264 m_instancing = newInstancing;
265 m_instancingChanged =
true;
The QQmlContext class defines a context within a QML engine.
\inmodule QtQuick3D \inherits QQuick3DObject
void componentComplete() override
Invoked after the root component that caused this instantiation has completed construction.
QSSGRenderGraphObject * updateSpatialNode(QSSGRenderGraphObject *node) override
static void attachWatcher(Context *context, Setter setter, Object3D *newO, Object3D *oldO)
Attach a object-destroyed-watcher to an object that's not owned.
\qmltype Object3D \inqmlmodule QtQuick3D \instantiates QQuick3DObject \inherits QtObject
bool isComponentComplete() const
QSSGRenderGraphObject * updateSpatialNode(QSSGRenderGraphObject *node) override
QQuick3DInstancing * instancing
QQuick3DRuntimeLoader(QQuick3DNode *parent=nullptr)
\qmltype RuntimeLoader \inherits Node \inqmlmodule QtQuick3D.AssetUtils
void setSource(const QUrl &newSource)
void setInstancing(QQuick3DInstancing *newInstancing)
void componentComplete() override
Invoked after the root component that caused this instantiation has completed construction.
void errorStringChanged()
ImportState importFile(const QString &filename, const QDir &outputPath, QString *error=nullptr)
Q_ALWAYS_INLINE void setEmpty()
Sets empty to true.
void include(const QVector3D &v)
expands the volume to include v
Q_ALWAYS_INLINE bool isEmpty() const
static void unregisterMeshData(const QString &assetId)
\macro QT_RESTRICTED_CAST_FROM_ASCII
bool isValid() const
Returns true if the URL is non-empty and valid; otherwise returns false.
void clear()
Resets the content of the QUrl.
The QVector3D class represents a vector or vertex in 3D space.
Q_QUICK3DASSETUTILS_EXPORT QQuick3DNode * createScene(QQuick3DNode &parent, const QSSGSceneDesc::Scene &scene)
Combined button and popup list for selecting options.
DBusConnection const char DBusError * error
T qobject_cast(QObject *object)
\variable QObject::staticMetaObject
GLboolean GLboolean GLboolean b
QQmlContext * qmlContext(const QObject *obj)
static void boxBoundsRecursive(const QQuick3DNode *baseNode, const QQuick3DNode *node, QQuick3DBounds3 &accBounds)
static void applyToModels(QQuick3DObject *obj, Func &&lambda)
static QUrl resolvedUrl(const QUrl &url, const QQmlRefPointer< QQmlContextData > &context)
#define QStringLiteral(str)
QSqlQueryModel * model
[16]
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent