diff --git a/src/widgets/3dview/SceneEntity.qml b/src/widgets/3dview/SceneEntity.qml index 7a1c67e..941f0d6 100644 --- a/src/widgets/3dview/SceneEntity.qml +++ b/src/widgets/3dview/SceneEntity.qml @@ -1,83 +1,82 @@ import QtQuick 2.7 import Qt3D.Core 2.0 import Qt3D.Render 2.0 import Qt3D.Input 2.0 import Qt3D.Extras 2.0 import GridMesh 1.0 import LineMesh 1.0 Entity { id: sceneRoot - - function runLineMesh(path) { - lineMesh.readAndRun(path) - } + property string currentFile Camera { id: camera projectionType: CameraLens.PerspectiveProjection fieldOfView: 45 aspectRatio: 16/9 nearPlane : 0.01 farPlane : 1000.0 position: Qt.vector3d( 10.0, -10.0, 35.0 ) upVector: Qt.vector3d( 0.0, 0.85, 0.75 ) viewCenter: Qt.vector3d( 10.0, 10.0, 0.0 ) } FirstPersonCameraController { camera: camera } components: [ RenderSettings { activeFrameGraph: ClearBuffers { buffers: ClearBuffers.ColorDepthBuffer clearColor: "transparent" RenderSurfaceSelector { id: surfaceSelector ClearBuffers { buffers : ClearBuffers.ColorDepthBuffer NoDraw {} } Viewport { id: topLeftViewport CameraSelector { id: cameraSelectorTopLeftViewport camera: camera } } } } }, InputSettings { } ] GridMesh { id: gridMesh } LineMesh { id: lineMesh + readonly property string currentFile: sceneRoot.currentFile + onCurrentFileChanged: readAndRun(currentFile) } PhongMaterial { id: material ambient: "darkBlue" } PhongMaterial { id: lineMaterial ambient: "darkGreen" } Entity { id: gridEntity components: [ gridMesh, material ] } Entity { id: lineEntity components: [ lineMesh, lineMaterial ] } } diff --git a/src/widgets/3dview/viewer3d.qml b/src/widgets/3dview/viewer3d.qml index 0b781d8..f5c33f6 100644 --- a/src/widgets/3dview/viewer3d.qml +++ b/src/widgets/3dview/viewer3d.qml @@ -1,43 +1,43 @@ import QtQuick 2.0 import QtQuick.Scene3D 2.0 import LineMesh 1.0 Item { id: item width: 1000 height: 1000 signal droppedUrls (var urls) DropArea { id: dropArea anchors.fill: parent onDropped: if(drop.hasUrls) { droppedUrls(drop.urls) } } Rectangle { id: scene anchors.fill: parent Scene3D { id: scene3d anchors.fill: parent focus: true aspects: ["input", "logic"] cameraAspectRatioMode: Scene3D.AutomaticAspectRatio SceneEntity { id: entity } } } Text { objectName: "fileName" id: fileName text: "" onTextChanged: { - entity.runLineMesh(text) + entity.currentFile = text } } }