aboutsummaryrefslogtreecommitdiffstats
path: root/utils/makemhr/loaddef.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utils/makemhr/loaddef.cpp')
-rw-r--r--utils/makemhr/loaddef.cpp44
1 files changed, 22 insertions, 22 deletions
diff --git a/utils/makemhr/loaddef.cpp b/utils/makemhr/loaddef.cpp
index bb9799c6..ea38b8c9 100644
--- a/utils/makemhr/loaddef.cpp
+++ b/utils/makemhr/loaddef.cpp
@@ -1477,12 +1477,12 @@ static int ReadIndexTriplet(TokenReaderT *tr, const HrirDataT *hData, uint *fi,
{
*fi = 0;
}
- if(!TrReadInt(tr, 0, static_cast<int>(hData->mFds[*fi].mEvCount) - 1, &intVal))
+ if(!TrReadInt(tr, 0, static_cast<int>(hData->mFds[*fi].mEvs.size()-1), &intVal))
return 0;
*ei = static_cast<uint>(intVal);
if(!TrReadOperator(tr, ","))
return 0;
- if(!TrReadInt(tr, 0, static_cast<int>(hData->mFds[*fi].mEvs[*ei].mAzCount) - 1, &intVal))
+ if(!TrReadInt(tr, 0, static_cast<int>(hData->mFds[*fi].mEvs[*ei].mAzs.size()-1), &intVal))
return 0;
*ai = static_cast<uint>(intVal);
return 1;
@@ -1848,28 +1848,28 @@ static int ProcessSources(TokenReaderT *tr, HrirDataT *hData, const uint outRate
else
aer[0] = std::fmod(360.0f - aer[0], 360.0f);
- for(fi = 0;fi < hData->mFds.size();fi++)
- {
- double delta = aer[2] - hData->mFds[fi].mDistance;
- if(std::abs(delta) < 0.001) break;
- }
- if(fi >= hData->mFds.size())
+ auto field = std::find_if(hData->mFds.cbegin(), hData->mFds.cend(),
+ [&aer](const HrirFdT &fld) -> bool
+ { return (std::abs(aer[2] - fld.mDistance) < 0.001); });
+ if(field == hData->mFds.cend())
continue;
- double ef{(90.0 + aer[1]) / 180.0 * (hData->mFds[fi].mEvCount - 1)};
+ const double evscale{180.0 / static_cast<double>(field->mEvs.size()-1)};
+ double ef{(90.0 + aer[1]) / evscale};
ei = static_cast<uint>(std::round(ef));
- ef = (ef - ei) * 180.0 / (hData->mFds[fi].mEvCount - 1);
+ ef = (ef - ei) * evscale;
if(std::abs(ef) >= 0.1)
continue;
- double af{aer[0] / 360.0 * hData->mFds[fi].mEvs[ei].mAzCount};
+ const double azscale{360.0 / static_cast<double>(field->mEvs[ei].mAzs.size())};
+ double af{aer[0] / azscale};
ai = static_cast<uint>(std::round(af));
- af = (af - ai) * 360.0 / hData->mFds[fi].mEvs[ei].mAzCount;
- ai = ai % hData->mFds[fi].mEvs[ei].mAzCount;
+ af = (af - ai) * azscale;
+ ai %= static_cast<uint>(field->mEvs[ei].mAzs.size());
if(std::abs(af) >= 0.1)
continue;
- HrirAzT *azd = &hData->mFds[fi].mEvs[ei].mAzs[ai];
+ HrirAzT *azd = &field->mEvs[ei].mAzs[ai];
if(azd->mIrs[0] != nullptr)
{
TrErrorAt(tr, line, col, "Redefinition of source [ %d, %d, %d ].\n", fi, ei, ai);
@@ -1985,26 +1985,26 @@ static int ProcessSources(TokenReaderT *tr, HrirDataT *hData, const uint outRate
}
for(fi = 0;fi < hData->mFds.size();fi++)
{
- for(ei = 0;ei < hData->mFds[fi].mEvCount;ei++)
+ for(ei = 0;ei < hData->mFds[fi].mEvs.size();ei++)
{
- for(ai = 0;ai < hData->mFds[fi].mEvs[ei].mAzCount;ai++)
+ for(ai = 0;ai < hData->mFds[fi].mEvs[ei].mAzs.size();ai++)
{
HrirAzT *azd = &hData->mFds[fi].mEvs[ei].mAzs[ai];
if(azd->mIrs[0] != nullptr)
break;
}
- if(ai < hData->mFds[fi].mEvs[ei].mAzCount)
+ if(ai < hData->mFds[fi].mEvs[ei].mAzs.size())
break;
}
- if(ei >= hData->mFds[fi].mEvCount)
+ if(ei >= hData->mFds[fi].mEvs.size())
{
TrError(tr, "Missing source references [ %d, *, * ].\n", fi);
return 0;
}
hData->mFds[fi].mEvStart = ei;
- for(;ei < hData->mFds[fi].mEvCount;ei++)
+ for(;ei < hData->mFds[fi].mEvs.size();ei++)
{
- for(ai = 0;ai < hData->mFds[fi].mEvs[ei].mAzCount;ai++)
+ for(ai = 0;ai < hData->mFds[fi].mEvs[ei].mAzs.size();ai++)
{
HrirAzT *azd = &hData->mFds[fi].mEvs[ei].mAzs[ai];
@@ -2020,9 +2020,9 @@ static int ProcessSources(TokenReaderT *tr, HrirDataT *hData, const uint outRate
{
for(fi = 0;fi < hData->mFds.size();fi++)
{
- for(ei = 0;ei < hData->mFds[fi].mEvCount;ei++)
+ for(ei = 0;ei < hData->mFds[fi].mEvs.size();ei++)
{
- for(ai = 0;ai < hData->mFds[fi].mEvs[ei].mAzCount;ai++)
+ for(ai = 0;ai < hData->mFds[fi].mEvs[ei].mAzs.size();ai++)
{
HrirAzT *azd = &hData->mFds[fi].mEvs[ei].mAzs[ai];