libpappsomspp
Library for mass spectrometry
Toggle main menu visibility
Loading...
Searching...
No Matches
integrationscope.cpp
Go to the documentation of this file.
1
// Copyright 2021 Filippo Rusconi
2
// GPLv3+
3
4
5
/////////////////////// StdLib includes
6
#include <limits>
7
#include <cmath>
8
9
10
/////////////////////// Qt includes
11
#include <QDebug>
12
13
14
/////////////////////// Local includes
15
#include "
integrationscope.h
"
16
17
18
namespace
pappso
19
{
20
21
IntegrationScope::IntegrationScope
()
22
{
23
// qDebug() << "Constructing" << this;
24
}
25
26
IntegrationScope::IntegrationScope
(
const
QPointF &
point
,
double
width)
27
:
m_point
(
point
),
m_width
(width)
28
{
29
// qDebug() << "Constructing" << this << "point:" << point << "width:" << width;
30
}
31
32
IntegrationScope::IntegrationScope
(
const
QPointF &
point
,
double
width,
Enums::DataKind
data_kind)
33
:
m_point
(
point
),
m_width
(width),
m_dataKindX
(data_kind)
34
{
35
// qDebug() << "Constructing" << this << "point:" << point << "width:" << width;
36
}
37
38
IntegrationScope::IntegrationScope
(
const
IntegrationScope
&other)
39
:
IntegrationScopeBase
(other),
40
m_point
(other.
m_point
),
41
m_width
(other.
m_width
),
42
m_dataKindX
(other.
m_dataKindX
)
43
{
44
// qDebug() << "Constructing" << this << "point:" << m_point << "width:" << m_width
45
// << "datakindx:" << m_dataKindX;
46
}
47
48
IntegrationScope::~IntegrationScope
()
49
{
50
// qDebug() << "Destructing" << this;
51
}
52
53
IntegrationScope
*
54
IntegrationScope::clone
()
const
55
{
56
IntegrationScope
*new_p =
new
IntegrationScope
(*
this
);
57
58
// if(dynamic_cast<const IntegrationScope *>(new_p) != nullptr)
59
// qDebug() << "Copy scope is IntegrationScope.";
60
61
return
new_p;
62
}
63
64
IntegrationScope
&
65
IntegrationScope::operator=
(
const
IntegrationScope
&other)
66
{
67
68
if
(
this
== &other)
69
return
*
this
;
70
71
IntegrationScopeBase::operator=
(other);
72
73
m_point
= other.
m_point
;
74
m_width
= other.
m_width
;
75
76
return
*
this
;
77
}
78
79
void
80
IntegrationScope::setPoint
(
const
QPointF &
point
)
81
{
82
m_point
=
point
;
83
}
84
85
bool
86
IntegrationScope::getPoint
(QPointF &
point
)
const
87
{
88
point
=
m_point
;
89
return
true
;
90
}
91
92
IntegrationScopeFeatures
93
IntegrationScope::getLeftMostPoint
(QPointF &
point
)
const
94
{
95
point
=
m_point
;
96
return
IntegrationScopeFeatures::SUCCESS
;
97
}
98
99
IntegrationScopeFeatures
100
IntegrationScope::getRightMostPoint
(QPointF &
point
)
const
101
{
102
point
= QPointF(
m_point
.x() +
m_width
,
m_point
.y());
103
return
IntegrationScopeFeatures::SUCCESS
;
104
}
105
106
IntegrationScopeFeatures
107
IntegrationScope::getTopMostPoint
(QPointF &
point
)
const
108
{
109
point
=
m_point
;
110
return
IntegrationScopeFeatures::SUCCESS
;
111
}
112
113
IntegrationScopeFeatures
114
IntegrationScope::getBottomMostPoint
(QPointF &
point
)
const
115
{
116
point
=
m_point
;
117
return
IntegrationScopeFeatures::SUCCESS
;
118
}
119
120
void
121
IntegrationScope::setWidth
(
double
width)
122
{
123
m_width
= width;
124
}
125
126
IntegrationScopeFeatures
127
IntegrationScope::getWidth
(
double
&width)
const
128
{
129
width =
m_width
;
130
return
IntegrationScopeFeatures::SUCCESS
;
131
}
132
133
bool
134
IntegrationScope::range
(
Enums::Axis
axis,
double
&start,
double
&end)
const
135
{
136
if
(axis ==
Enums::Axis::x
)
137
{
138
start =
m_point
.x();
139
end = start +
m_width
;
140
141
return
true
;
142
}
143
144
return
false
;
145
}
146
147
void
148
IntegrationScope::setDataKindX
([[maybe_unused]]
Enums::DataKind
data_kind)
149
{
150
m_dataKindX
= data_kind;
151
}
152
153
bool
154
IntegrationScope::getDataKindX
([[maybe_unused]]
Enums::DataKind
&data_kind)
155
{
156
data_kind =
m_dataKindX
;
157
return
true
;
158
}
159
160
bool
161
IntegrationScope::is1D
()
const
162
{
163
return
true
;
164
}
165
166
bool
167
IntegrationScope::is2D
()
const
168
{
169
return
!
is1D
();
170
}
171
172
bool
173
IntegrationScope::isRectangle
()
const
174
{
175
return
false
;
176
}
177
178
bool
179
IntegrationScope::isRhomboid
()
const
180
{
181
return
false
;
182
}
183
184
bool
185
IntegrationScope::transpose
()
186
{
187
return
false
;
188
}
189
190
void
191
IntegrationScope::update
(
const
QPointF &
point
,
double
width)
192
{
193
m_point
=
point
;
194
m_width
= width;
195
}
196
197
bool
198
IntegrationScope::contains
(
const
QPointF &
point
)
const
199
{
200
return
(
point
.x() >=
m_point
.x() &&
point
.x() <=
m_point
.x() +
m_width
);
201
}
202
203
QString
204
IntegrationScope::toString
()
const
205
{
206
return
QString(
"(%1, %2)"
).arg(
m_point
.x(), 0,
'f'
, 3).arg(
m_point
.x() +
m_width
, 0,
'f'
, 3);
207
}
208
209
void
210
IntegrationScope::reset
()
211
{
212
m_point
.rx() = 0;
213
m_point
.ry() = 0;
214
215
m_width
= 0;
216
}
217
218
}
// namespace pappso
pappso::IntegrationScopeBase::IntegrationScopeBase
IntegrationScopeBase()
Definition
integrationscopebase.cpp:21
pappso::IntegrationScopeBase::operator=
virtual IntegrationScopeBase & operator=(const IntegrationScopeBase &other)
Definition
integrationscopebase.cpp:45
pappso::IntegrationScope
Definition
integrationscope.h:38
pappso::IntegrationScope::range
virtual bool range(Enums::Axis axis, double &start, double &end) const override
Definition
integrationscope.cpp:134
pappso::IntegrationScope::setDataKindX
virtual void setDataKindX(Enums::DataKind data_kind) override
Definition
integrationscope.cpp:148
pappso::IntegrationScope::m_dataKindX
Enums::DataKind m_dataKindX
Definition
integrationscope.h:94
pappso::IntegrationScope::getPoint
virtual bool getPoint(QPointF &point) const override
Definition
integrationscope.cpp:86
pappso::IntegrationScope::point
QPointF point
Definition
integrationscope.h:39
pappso::IntegrationScope::getDataKindX
virtual bool getDataKindX(Enums::DataKind &data_kind) override
Definition
integrationscope.cpp:154
pappso::IntegrationScope::clone
virtual IntegrationScope * clone() const
Definition
integrationscope.cpp:54
pappso::IntegrationScope::getRightMostPoint
virtual IntegrationScopeFeatures getRightMostPoint(QPointF &point) const override
Definition
integrationscope.cpp:100
pappso::IntegrationScope::getTopMostPoint
virtual IntegrationScopeFeatures getTopMostPoint(QPointF &point) const override
Definition
integrationscope.cpp:107
pappso::IntegrationScope::IntegrationScope
WRITE setPoint() NOTIFY pointChanged() FINAL) Q_PROPERTY(double width READ getWidth() WRITE setWidth() NOTIFY widthChanged() FINAL) public IntegrationScope(const QPointF &point, double width)
Definition
integrationscope.cpp:26
pappso::IntegrationScope::contains
virtual bool contains(const QPointF &point) const override
Definition
integrationscope.cpp:198
pappso::IntegrationScope::~IntegrationScope
virtual ~IntegrationScope()
Definition
integrationscope.cpp:48
pappso::IntegrationScope::m_width
double m_width
Definition
integrationscope.h:93
pappso::IntegrationScope::toString
virtual QString toString() const override
Definition
integrationscope.cpp:204
pappso::IntegrationScope::is1D
bool is1D() const override
Definition
integrationscope.cpp:161
pappso::IntegrationScope::getBottomMostPoint
virtual IntegrationScopeFeatures getBottomMostPoint(QPointF &point) const override
Definition
integrationscope.cpp:114
pappso::IntegrationScope::isRhomboid
virtual bool isRhomboid() const override
Definition
integrationscope.cpp:179
pappso::IntegrationScope::is2D
bool is2D() const override
Definition
integrationscope.cpp:167
pappso::IntegrationScope::setWidth
virtual void setWidth(double width)
Definition
integrationscope.cpp:121
pappso::IntegrationScope::update
virtual void update(const QPointF &point, double width)
Definition
integrationscope.cpp:191
pappso::IntegrationScope::getWidth
virtual IntegrationScopeFeatures getWidth(double &width) const override
Definition
integrationscope.cpp:127
pappso::IntegrationScope::transpose
virtual bool transpose() override
Definition
integrationscope.cpp:185
pappso::IntegrationScope::m_point
QPointF m_point
Definition
integrationscope.h:92
pappso::IntegrationScope::operator=
virtual IntegrationScope & operator=(const IntegrationScope &other)
Definition
integrationscope.cpp:65
pappso::IntegrationScope::setPoint
virtual void setPoint(const QPointF &point)
Definition
integrationscope.cpp:80
pappso::IntegrationScope::getLeftMostPoint
virtual IntegrationScopeFeatures getLeftMostPoint(QPointF &point) const override
Definition
integrationscope.cpp:93
pappso::IntegrationScope::isRectangle
virtual bool isRectangle() const override
Definition
integrationscope.cpp:173
pappso::IntegrationScope::reset
virtual void reset() override
Definition
integrationscope.cpp:210
integrationscope.h
pappso::Enums::DataKind
DataKind
Definition
types.h:238
pappso::Enums::Axis
Axis
Definition
types.h:246
pappso::Enums::Axis::x
@ x
Definition
types.h:248
pappso
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition
aa.cpp:39
pappso::IntegrationScopeFeatures
IntegrationScopeFeatures
Definition
integrationscopebase.h:47
pappso::SUCCESS
@ SUCCESS
Definition
integrationscopebase.h:51
pappsomspp
core
processing
combiners
integrationscope.cpp
Generated on
for libpappsomspp by
1.17.0