forked from qt-creator/qt-creator
Fix building with Quick 3D dev
Adjust to camera changes b74fde27@qtquick3d Task-number: QTBUG-95932 Change-Id: Id7408541caaebb0ee18240e7bc4208ac416fb0b9 Reviewed-by: Christian Strømme <christian.stromme@qt.io> Reviewed-by: Jonas Karlsson <jonas.karlsson@qt.io> Reviewed-by: Knud Dollereder <knud.dollereder@qt.io>
This commit is contained in:
@@ -139,7 +139,7 @@ void CameraGeometry::doUpdateGeometry()
|
||||
return;
|
||||
}
|
||||
|
||||
if (!m_camera->cameraNode()) {
|
||||
if (!QQuick3DObjectPrivate::get(m_camera)->spatialNode) {
|
||||
// Doing explicit viewport mapping forces cameraNode creation
|
||||
m_camera->mapToViewport({}, m_viewPortRect.width(), m_viewPortRect.height());
|
||||
}
|
||||
@@ -171,7 +171,7 @@ void CameraGeometry::fillVertexData(QByteArray &vertexData, QByteArray &indexDat
|
||||
auto indexPtr = reinterpret_cast<quint16 *>(indexData.data());
|
||||
|
||||
QMatrix4x4 m;
|
||||
QSSGRenderCamera *camera = m_camera->cameraNode();
|
||||
QSSGRenderCamera *camera = static_cast<QSSGRenderCamera *>(QQuick3DObjectPrivate::get(m_camera)->spatialNode);
|
||||
if (camera) {
|
||||
QRectF rect = m_viewPortRect;
|
||||
if (rect.isNull())
|
||||
|
@@ -818,7 +818,8 @@ QVector3D MouseArea3D::getMousePosInPlane(const MouseArea3D *helper,
|
||||
const DoubleVec3D rayPos0 = m_view3D->mapTo3DScene(mousePos1.toVec3());
|
||||
DoubleVec3D rayPos1;
|
||||
if (qobject_cast<QQuick3DOrthographicCamera *>(m_view3D->camera())) {
|
||||
rayPos1 = rayPos0 - rayPos0.length() * DoubleVec3D(m_view3D->camera()->cameraNode()->getDirection());
|
||||
if (auto cameraNode = static_cast<QSSGRenderCamera *>(QQuick3DObjectPrivate::get(m_view3D->camera())->spatialNode))
|
||||
rayPos1 = rayPos0 - rayPos0.length() * DoubleVec3D(cameraNode->getDirection());
|
||||
} else {
|
||||
DoubleVec3D dir;
|
||||
DoubleVec3D camPos = m_view3D->camera()->scenePosition();
|
||||
|
Reference in New Issue
Block a user