Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

ClipPlane in qml



  • Hi everyone !

    I am looking for a way to display a cut view (to see the section) of a 3D model and I found the ClipPlane qml type but after a try in the "simple qml" example I didn't saw anything.

    Do you have any idea of how to use this class ?

    Here is the qml code I ran :

    
        id: sceneRoot
    
        Camera {
            id: camera
            projectionType: CameraLens.PerspectiveProjection
            fieldOfView: 45
            aspectRatio: 16/9
            nearPlane : 0.1
            farPlane : 1000.0
            position: Qt.vector3d( 0.0, 0.0, -40.0 )
            upVector: Qt.vector3d( 0.0, 1.0, 0.0 )
            viewCenter: Qt.vector3d( 0.0, 0.0, 0.0 )
        }
    
        ClipPlane {
            normal: Qt.vector3d(0,0,1)
            distance: 0
            planeIndex: 0
        }
    
        OrbitCameraController {
            camera: camera
        }
    
        components: [
            RenderSettings {
                activeFrameGraph: ForwardRenderer {
                    clearColor: Qt.rgba(0, 0.5, 1, 1)
                    camera: camera
                    showDebugOverlay: true
                }
            },
            // Event Source will be set by the Qt3DQuickWindow
            InputSettings { }
        ]
    
        PhongMaterial {
            id: material
        }
    
        TorusMesh {
            id: torusMesh
            radius: 5
            minorRadius: 1
            rings: 100
            slices: 20
        }
    
        Transform {
            id: torusTransform
            scale3D: Qt.vector3d(1.5, 1, 0.5)
            rotation: fromAxisAndAngle(Qt.vector3d(1, 0, 0), 45)
        }
    
        Entity {
            id: torusEntity
            components: [ torusMesh, material, torusTransform ]
        }
    
        SphereMesh {
            id: sphereMesh
            radius: 3
        }
    
        Transform {
            id: sphereTransform
            property real userAngle: 0.0
            matrix: {
                var m = Qt.matrix4x4();
                m.rotate(userAngle, Qt.vector3d(0, 1, 0));
                m.translate(Qt.vector3d(20, 0, 0));
                return m;
            }
        }
    
        QQ2.NumberAnimation {
            target: sphereTransform
            property: "userAngle"
            duration: 10000
            from: 0
            to: 360
    
            loops: QQ2.Animation.Infinite
            running: true
        }
    
        Entity {
            id: sphereEntity
            components: [ sphereMesh, material, sphereTransform ]
        }
    }
    

Log in to reply