Krita Source Code Documentation
Loading...
Searching...
No Matches
KisSampleRectIterator.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2023 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
7
8#include <kis_algebra_2d.h>
9
23
30
32 : m_rect(rect)
33{
34}
35
37 return m_index + 1;
38}
39
41 m_index++;
42
43 if (m_index >= 9) {
44 if (m_index == 9) {
47 }
48 m_sampler->step();
49 }
50}
51
53 switch (m_index) {
54 case 0:
55 return m_rect.topLeft();
56 case 1:
57 return m_rect.topRight();
58 case 2:
59 return m_rect.bottomRight();
60 case 3:
61 return m_rect.bottomLeft();
62 case 4:
63 return 0.5 * (m_rect.bottomLeft() + m_rect.topLeft());
64 case 5:
65 return 0.5 * (m_rect.topRight() + m_rect.topLeft());
66 case 6:
67 return 0.5 * (m_rect.topRight() + m_rect.bottomRight());
68 case 7:
69 return 0.5 * (m_rect.bottomLeft() + m_rect.bottomRight());
70 case 8:
71 return m_rect.center();
72 default:
75 QPointF(m_sampler->x.currentValue(), m_sampler->y.currentValue()),
76 m_rect);
77 }
78
79 Q_UNREACHABLE();
80}
a simple class to generate Halton sequence
QSharedDataPointer< HaltonSampler > m_sampler
KisSampleRectIterator & operator=(const KisSampleRectIterator &rhs)
#define KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE(cond, val)
Definition kis_assert.h:129
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
Definition kis_assert.h:128
QPointF relativeToAbsolute(const QPointF &pt, const QRectF &rc)
KisAlgebra2D::HaltonSequenceGenerator x
HaltonSampler(HaltonSampler &&rhs)=default
HaltonSampler(const HaltonSampler &rhs)=default
KisAlgebra2D::HaltonSequenceGenerator y