mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
cleanup: const-ify DivePlotDataModel::*max() functions
These functions return the maximum partial pressures in the given dive. Obviously, being pure accessors, they should be const. This commit also replaces the macro generating these functions by a call to a function taking a pointer-to-member. Arguably, C++'s pointer-to-member syntax is just as horrible as macros, but at least it doesn't mess with syntax highlighting of my editor and should be better to debug. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
f3ac9c96c6
commit
f4103e4998
2 changed files with 25 additions and 15 deletions
|
@ -199,20 +199,30 @@ unsigned int DivePlotDataModel::dcShown() const
|
||||||
return dcNr;
|
return dcNr;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define MAX_PPGAS_FUNC(GAS, GASFUNC) \
|
static double max_gas(const plot_info &pi, double gas_pressures::*gas)
|
||||||
double DivePlotDataModel::GASFUNC() \
|
{
|
||||||
{ \
|
double ret = -1;
|
||||||
double ret = -1; \
|
for (int i = 0; i < pi.nr; ++i) {
|
||||||
for (int i = 0, count = rowCount(); i < count; i++) { \
|
if (pi.entry[i].pressures.*gas > ret)
|
||||||
if (pInfo.entry[i].pressures.GAS > ret) \
|
ret = pi.entry[i].pressures.*gas;
|
||||||
ret = pInfo.entry[i].pressures.GAS; \
|
|
||||||
} \
|
|
||||||
return ret; \
|
|
||||||
}
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
MAX_PPGAS_FUNC(he, pheMax);
|
double DivePlotDataModel::pheMax() const
|
||||||
MAX_PPGAS_FUNC(n2, pn2Max);
|
{
|
||||||
MAX_PPGAS_FUNC(o2, po2Max);
|
return max_gas(pInfo, &gas_pressures::he);
|
||||||
|
}
|
||||||
|
|
||||||
|
double DivePlotDataModel::pn2Max() const
|
||||||
|
{
|
||||||
|
return max_gas(pInfo, &gas_pressures::n2);
|
||||||
|
}
|
||||||
|
|
||||||
|
double DivePlotDataModel::po2Max() const
|
||||||
|
{
|
||||||
|
return max_gas(pInfo, &gas_pressures::o2);
|
||||||
|
}
|
||||||
|
|
||||||
void DivePlotDataModel::emitDataChanged()
|
void DivePlotDataModel::emitDataChanged()
|
||||||
{
|
{
|
||||||
|
|
|
@ -82,9 +82,9 @@ public:
|
||||||
void setDive(struct dive *d, const plot_info &pInfo);
|
void setDive(struct dive *d, const plot_info &pInfo);
|
||||||
const plot_info &data() const;
|
const plot_info &data() const;
|
||||||
unsigned int dcShown() const;
|
unsigned int dcShown() const;
|
||||||
double pheMax();
|
double pheMax() const;
|
||||||
double pn2Max();
|
double pn2Max() const;
|
||||||
double po2Max();
|
double po2Max() const;
|
||||||
void emitDataChanged();
|
void emitDataChanged();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue