Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qquick3dorthographiccamera.cpp
Go to the documentation of this file.
1// Copyright (C) 2019 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
5
6#include <QtQuick3DRuntimeRender/private/qssgrendercamera_p.h>
7
8#include <QtMath>
9#include <QtQuick3DUtils/private/qssgutils_p.h>
10
11#include "qquick3dutils_p.h"
12
13#include "qquick3dnode_p_p.h"
14
16
57
69{
70 return m_clipNear;
71}
72
84{
85 return m_clipFar;
86}
87
98{
99 return m_horizontalMagnification;
100}
101
112{
113 return m_verticalMagnification;
114}
115
117{
118 if (qFuzzyCompare(m_clipNear, clipNear))
119 return;
120
121 m_clipNear = clipNear;
123 update();
124}
125
127{
128 if (qFuzzyCompare(m_clipFar, clipFar))
129 return;
130
131 m_clipFar = clipFar;
133 update();
134}
135
137{
138 if (horizontalMagnification <= 0.0) {
139 qWarning("OrthographicCamera: magnification must be greater than zero.");
140 return;
141 }
142
143 if (qFuzzyCompare(m_horizontalMagnification, horizontalMagnification))
144 return;
145
146 m_horizontalMagnification = horizontalMagnification;
148 update();
149}
150
152{
153 if (verticalMagnification <= 0.0) {
154 qWarning("OrthographicCamera: magnification must be greater than zero.");
155 return;
156 }
157
158 if (qFuzzyCompare(m_verticalMagnification, verticalMagnification))
159 return;
160
161 m_verticalMagnification = verticalMagnification;
163 update();
164}
165
167{
169 if (camera) {
170 const bool changed = ((int(qUpdateIfNeeded(camera->clipNear, m_clipNear))
171 | int(qUpdateIfNeeded(camera->clipFar, m_clipFar))
172 | int(qUpdateIfNeeded(camera->horizontalMagnification, m_horizontalMagnification))
173 | int(qUpdateIfNeeded(camera->verticalMagnification, m_verticalMagnification))) != 0);
174 if (changed)
176 }
177
178 return camera;
179}
180
QSSGRenderGraphObject * updateSpatialNode(QSSGRenderGraphObject *node) override
void setVerticalMagnification(float horizontalMagnification)
void setHorizontalMagnification(float horizontalMagnification)
QQuick3DOrthographicCamera(QQuick3DNode *parent=nullptr)
\qmltype OrthographicCamera \inherits Camera \inqmlmodule QtQuick3D
QSSGRenderGraphObject * updateSpatialNode(QSSGRenderGraphObject *node) override
QCamera * camera
Definition camera.cpp:19
Combined button and popup list for selecting options.
bool qFuzzyCompare(qfloat16 p1, qfloat16 p2) noexcept
Definition qfloat16.h:333
#define qWarning
Definition qlogging.h:166
QT_BEGIN_NAMESPACE bool qUpdateIfNeeded(T &orig, T updated)
#define emit
Definition moc.h:23