2D
This commit is contained in:
91
refer/gcode_view2.qml
Normal file
91
refer/gcode_view2.qml
Normal file
@@ -0,0 +1,91 @@
|
||||
import QtQuick
|
||||
import QtQuick.Window
|
||||
import QtQuick3D
|
||||
|
||||
Window {
|
||||
visible: true
|
||||
visibility: Window.FullScreen
|
||||
width: 1280
|
||||
height: 720
|
||||
|
||||
color: "black"
|
||||
|
||||
View3D {
|
||||
anchors.fill: parent
|
||||
|
||||
environment: SceneEnvironment {
|
||||
clearColor: "#202020"
|
||||
backgroundMode: SceneEnvironment.Color
|
||||
}
|
||||
|
||||
PerspectiveCamera {
|
||||
id: camera
|
||||
position: Qt.vector3d(0, 100, 300)
|
||||
eulerRotation.x: -20
|
||||
}
|
||||
|
||||
DirectionalLight {
|
||||
eulerRotation.x: -45
|
||||
brightness: 2
|
||||
}
|
||||
|
||||
Node {
|
||||
id: rootNode
|
||||
|
||||
Repeater3D {
|
||||
model: gcodeData
|
||||
|
||||
delegate: Model {
|
||||
property real dx: modelData.x2 - modelData.x1
|
||||
property real dy: modelData.y2 - modelData.y1
|
||||
property real dz: modelData.z2 - modelData.z1
|
||||
|
||||
property real length: Math.sqrt(dx*dx + dy*dy + dz*dz)
|
||||
|
||||
source: "#Cylinder"
|
||||
|
||||
position: Qt.vector3d(
|
||||
(modelData.x1 + modelData.x2)/2,
|
||||
(modelData.z1 + modelData.z2)/2,
|
||||
(modelData.y1 + modelData.y2)/2
|
||||
)
|
||||
|
||||
scale: Qt.vector3d(0.2, length / 100.0, 0.2)
|
||||
|
||||
materials: [
|
||||
DefaultMaterial {
|
||||
diffuseColor: "#00ff88"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
|
||||
property real lastX
|
||||
property real lastY
|
||||
|
||||
onPressed: {
|
||||
lastX = mouse.x
|
||||
lastY = mouse.y
|
||||
}
|
||||
|
||||
onPositionChanged: {
|
||||
let dx = mouse.x - lastX
|
||||
let dy = mouse.y - lastY
|
||||
|
||||
rootNode.eulerRotation.y += dx * 0.3
|
||||
rootNode.eulerRotation.x += dy * 0.3
|
||||
|
||||
lastX = mouse.x
|
||||
lastY = mouse.y
|
||||
}
|
||||
|
||||
onWheel: {
|
||||
camera.position.z += wheel.angleDelta.y * -0.1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user