Temukan pusat massa mesh yang diimpor dalam aplikasi QML

Dalam aplikasi QML saya, saya menampilkan mesh khusus yang dihasilkan dari gambar medis. Sekarang saya ingin kamera berputar di sekitar tengah jerat ini.

Menurut jawaban dalam pertanyaan ini saya harus menyetel viewCenter kamera ke terjemahan jaring. Namun, jerat yang saya miliki sudah diterjemahkan (pusat massanya tidak berada di [0, 0, 0]) karena berada dalam sistem koordinat pemindai CT/MR.

Bagaimana saya bisa mendapatkan pusat massa dari mesh yang diimpor untuk mengatur viewCenter yang sesuai?

Dalam file QML saya, saya memiliki:

import Qt3D.Core 2.0
import Qt3D.Render 2.0
import Qt3D.Input 2.0
import Qt3D.Extras 2.0
import QtQuick 2.0 as QQ2

Entity {
    id: sceneRoot

    Camera {
        id: camera
        projectionType: CameraLens.PerspectiveProjection
        fieldOfView: 45
        nearPlane : 0.1
        farPlane : 1000.0
        position: Qt.vector3d(0, 0, 20)
        upVector: Qt.vector3d( 0.0, 1.0, 0.0 )
        viewCenter: Qt.vector3d( 0.0, 0.0, 0.0 ) // here I should set the viewcenter to the centroid of "organModel"
    }

    OrbitCameraController  { camera: camera }

    components: [
        RenderSettings {
            activeFrameGraph: ForwardRenderer {
                camera: camera
                clearColor: "transparent"
            }
        },
        InputSettings { }
    ]

    PhongMaterial {
        id: material
        ambient: "darkRed"
    }

    Mesh {
        id: organModel
        source: "qrc:/organModel.obj"
    }

    Transform {
        id: transformLiver
    }

    Entity {
        id: torusEntity
        components: [ liver, material, transformLiver ]
    }

}

person ipa    schedule 21.03.2018    source sumber