Skip to content
Snippets Groups Projects
Commit 91704d00 authored by Miikka Heikkinen's avatar Miikka Heikkinen
Browse files

Add import scene children if imported scene is outside viewport


Change-Id: I85bc47c126ed58597a12bbeb9af29571cf84b9f8
Fixes: QDS-1877
Reviewed-by: default avatarKaj Grönholm <kaj.gronholm@qt.io>
Reviewed-by: default avatarMahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: default avatarTomi Korpipää <tomi.korpipaa@qt.io>
parent 02d02acf
No related branches found
No related tags found
No related merge requests found
......@@ -342,10 +342,18 @@ void QQuick3DSceneRenderer::synchronize(QQuick3DViewport *item, const QSize &siz
removeNodeFromLayer(m_importRootNode);
if (importRootNode) {
// if root node has already parent at this point
// it means "importScene: MyScene { }" type of inclusion.
// if importScene has the rendered viewport as ancestor, it probably means
// "importScene: MyScene { }" type of inclusion.
// In this case don't duplicate content by adding it again.
const bool isEmbedded = importRootNode->parent;
QObject *sceneParent = importScene->parent();
bool isEmbedded = false;
while (sceneParent) {
if (sceneParent == item) {
isEmbedded = true;
break;
}
sceneParent = sceneParent->parent();
}
if (!isEmbedded)
m_layer->addChildrenToLayer(*importRootNode);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment