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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!m_camera->cameraNode()) {
|
if (!QQuick3DObjectPrivate::get(m_camera)->spatialNode) {
|
||||||
// Doing explicit viewport mapping forces cameraNode creation
|
// Doing explicit viewport mapping forces cameraNode creation
|
||||||
m_camera->mapToViewport({}, m_viewPortRect.width(), m_viewPortRect.height());
|
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());
|
auto indexPtr = reinterpret_cast<quint16 *>(indexData.data());
|
||||||
|
|
||||||
QMatrix4x4 m;
|
QMatrix4x4 m;
|
||||||
QSSGRenderCamera *camera = m_camera->cameraNode();
|
QSSGRenderCamera *camera = static_cast<QSSGRenderCamera *>(QQuick3DObjectPrivate::get(m_camera)->spatialNode);
|
||||||
if (camera) {
|
if (camera) {
|
||||||
QRectF rect = m_viewPortRect;
|
QRectF rect = m_viewPortRect;
|
||||||
if (rect.isNull())
|
if (rect.isNull())
|
||||||
|
@@ -818,7 +818,8 @@ QVector3D MouseArea3D::getMousePosInPlane(const MouseArea3D *helper,
|
|||||||
const DoubleVec3D rayPos0 = m_view3D->mapTo3DScene(mousePos1.toVec3());
|
const DoubleVec3D rayPos0 = m_view3D->mapTo3DScene(mousePos1.toVec3());
|
||||||
DoubleVec3D rayPos1;
|
DoubleVec3D rayPos1;
|
||||||
if (qobject_cast<QQuick3DOrthographicCamera *>(m_view3D->camera())) {
|
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 {
|
} else {
|
||||||
DoubleVec3D dir;
|
DoubleVec3D dir;
|
||||||
DoubleVec3D camPos = m_view3D->camera()->scenePosition();
|
DoubleVec3D camPos = m_view3D->camera()->scenePosition();
|
||||||
|
Reference in New Issue
Block a user