QSceneLoader Class
class Qt3DRender::QSceneLoaderBietet die Möglichkeit, eine bestehende Szene zu laden. Mehr...
Kopfzeile: | #include <QSceneLoader> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake: | QT += 3drender |
In QML: | SceneLoader |
Vererbt: | Qt3DCore::QComponent |
Status: | Veraltet |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QSceneLoader ist Teil von Input/Output und Networking.
Öffentliche Typen
enum | ComponentType { UnknownComponent, GeometryRendererComponent, TransformComponent, MaterialComponent, LightComponent, CameraLensComponent } |
enum | Status { None, Loading, Ready, Error } |
Eigenschaften
Öffentliche Funktionen
QSceneLoader(Qt3DCore::QNode *parent = nullptr) | |
Qt3DCore::QComponent * | component(const QString &entityName, Qt3DRender::QSceneLoader::ComponentType componentType) const |
Qt3DCore::QEntity * | entity(const QString &entityName) const |
QStringList | entityNames() const |
QUrl | source() const |
Qt3DRender::QSceneLoader::Status | status() const |
Öffentliche Slots
void | setSource(const QUrl &arg) |
Signale
void | sourceChanged(const QUrl &source) |
void | statusChanged(Qt3DRender::QSceneLoader::Status status) |
Detaillierte Beschreibung
Ausgehend von einer 3D-Quelldatei versucht Qt3DRender::QSceneLoader, diese zu analysieren und einen Baum von Qt3DCore::QEntity Objekten mit den entsprechenden Komponenten Qt3DRender::QGeometryRenderer, Qt3DCore::QTransform und Qt3DRender::QMaterial zu erstellen.
Der Lader versucht, anhand der Eigenschaften der Modelldatei das am besten zu verwendende Material zu bestimmen. Wenn Sie ein benutzerdefiniertes Material verwenden möchten, müssen Sie die Baumstruktur durchlaufen und die standardmäßig zugeordneten Materialien durch Ihr eigenes ersetzen.
Wie der Name schon sagt, lädt Qt3DRender::QSceneLoader einen kompletten Teilbaum der Szene. Wenn Sie ein einzelnes Stück Geometrie laden möchten, sollten Sie stattdessen Qt3DRender::QMesh verwenden.
Qt3DRender::QSceneLoader Das Programm ist intern auf die Verwendung von Plugins angewiesen, um eine breite Palette von 3D-Dateiformaten zu unterstützen. Hier ist eine Liste der Formate, die von Qt3D unterstützt werden.
Hinweis: Diese Komponente sollte nicht von mehreren Qt3DCore::QEntity Instanzen gemeinsam genutzt werden. Undefiniertes Verhalten ist die Folge.
Siehe auch Qt3DRender::QMesh und Qt3DRender::QGeometryRenderer.
Dokumentation der Mitgliedstypen
enum QSceneLoader::ComponentType
Diese Aufzählung gibt einen Komponententyp an.
Konstante | Wert | Beschreibung |
---|---|---|
Qt3DRender::QSceneLoader::UnknownComponent | 0 | Unbekannter Komponententyp |
Qt3DRender::QSceneLoader::GeometryRendererComponent | 1 | Qt3DRender::QGeometryRenderer Komponente |
Qt3DRender::QSceneLoader::TransformComponent | 2 | Qt3DCore::QTransform Komponente |
Qt3DRender::QSceneLoader::MaterialComponent | 3 | Qt3DRender::QMaterial Komponente |
Qt3DRender::QSceneLoader::LightComponent | 4 | Qt3DRender::QAbstractLight Komponente |
Qt3DRender::QSceneLoader::CameraLensComponent | 5 | Qt3DRender::QCameraLens Komponente |
enum QSceneLoader::Status
Diese Aufzählung identifiziert den Zustand des Ladens
Konstante | Wert | Beschreibung |
---|---|---|
Qt3DRender::QSceneLoader::None | 0 | Die Qt3DRender::QSceneLoader wurde noch nicht verwendet. |
Qt3DRender::QSceneLoader::Loading | 1 | Die Qt3DRender::QSceneLoader lädt gerade die Szenendatei. |
Qt3DRender::QSceneLoader::Ready | 2 | Die Qt3DRender::QSceneLoader hat die Szenendatei erfolgreich geladen. |
Qt3DRender::QSceneLoader::Error | 3 | Die Qt3DRender::QSceneLoader ist beim Laden der Szenendatei auf einen Fehler gestoßen. |
Eigenschaft Dokumentation
source : QUrl
Enthält die Url der zu ladenden Quelle.
Zugriffsfunktionen:
QUrl | source() const |
void | setSource(const QUrl &arg) |
Benachrichtigungssignal:
void | sourceChanged(const QUrl &source) |
[read-only]
status : const Status
Enthält den Status des Laden der Szene.
- SceneLoader.keine
- SceneLoader.Laden
- SceneLoader.bereit
- SceneLoader.Fehler
Zugriffsfunktionen:
Qt3DRender::QSceneLoader::Status | status() const |
Benachrichtigungssignal:
void | statusChanged(Qt3DRender::QSceneLoader::Status status) |
Siehe auch Qt3DRender::QSceneLoader::Status.
Dokumentation der Mitgliedsfunktionen
[explicit]
QSceneLoader::QSceneLoader(Qt3DCore::QNode *parent = nullptr)
Der Konstruktor erzeugt eine Instanz mit dem angegebenen parent.
[invokable]
Qt3DCore::QComponent *QSceneLoader::component(const QString &entityName, Qt3DRender::QSceneLoader::ComponentType componentType) const
Gibt eine passende Komponente componentType einer geladenen Entität mit einem Objektnamen zurück, der mit entityName übereinstimmt. Wenn die Entität mehrere passende Komponenten hat, wird die erste Übereinstimmung in der Komponentenliste der Entität zurückgegeben. Wenn es keine Übereinstimmung gibt, wird ein Null-Zeiger zurückgegeben.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[invokable]
Qt3DCore::QEntity *QSceneLoader::entity(const QString &entityName) const
Gibt eine geladene Entität mit einem objectName
zurück, der mit dem Parameter entityName übereinstimmt. Wenn mehrere Entitäten den gleichen Namen haben, ist es undefiniert, welche von ihnen zurückgegeben wird, aber es wird immer die gleiche sein.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[invokable]
QStringList QSceneLoader::entityNames() const
Gibt eine Liste der objectNames
der geladenen Entitäten zurück.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.