Files
2026-04-29 07:19:21 +03:00

94 lines
2.2 KiB
QML

// Copyright (C) 2019 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtQuick3D
Node {
id: axisGrid_obj
property alias gridColor: gridMaterial.diffuseColor
property alias gridOpacity: gridMaterial.opacity
property alias enableXZGrid: gridXZ.visible
property alias enableXYGrid: gridXY.visible
property alias enableYZGrid: gridYZ.visible
property bool enableAxisLines: true
// Axis Lines
Model {
id: xAxis
source: "#Cube"
position: Qt.vector3d(5000, 0, 0)
scale: Qt.vector3d(100, .05, .05)
visible: axisGrid_obj.enableAxisLines
materials: DefaultMaterial {
lighting: DefaultMaterial.NoLighting
diffuseColor: "red"
}
}
Model {
id: yAxis
source: "#Cube"
position: Qt.vector3d(0, 5000, 0)
scale: Qt.vector3d(0.05, 100, 0.05)
visible: axisGrid_obj.enableAxisLines
materials: DefaultMaterial {
lighting: DefaultMaterial.NoLighting
diffuseColor: "green"
}
}
Model {
id: zAxis
source: "#Cube"
position: Qt.vector3d(0, 0, 5000)
scale: Qt.vector3d(0.05, 0.05, 100)
visible: axisGrid_obj.enableAxisLines
materials: DefaultMaterial {
lighting: DefaultMaterial.NoLighting
diffuseColor: "blue"
}
}
// Grid Lines
DefaultMaterial {
id: gridMaterial
lighting: DefaultMaterial.NoLighting
opacity: 0.5
diffuseColor: Qt.rgba(0.8, 0.8, 0.8, 1)
}
Model {
id: gridXZ
source: "meshes/axisGrid.mesh"
scale: Qt.vector3d(100, 100, 100)
materials: [
gridMaterial
]
}
Model {
id: gridXY
visible: false
source: "meshes/axisGrid.mesh"
scale: Qt.vector3d(100, 100, 100)
eulerRotation: Qt.vector3d(90, 0, 0)
materials: [
gridMaterial
]
}
Model {
id: gridYZ
visible: false
source: "meshes/axisGrid.mesh"
scale: Qt.vector3d(100, 100, 100)
eulerRotation: Qt.vector3d(0, 0, 90)
materials: [
gridMaterial
]
}
}