summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnur Nigmetov <a.nigmetov@gmail.com>2017-04-06 12:21:30 +0200
committerArnur Nigmetov <a.nigmetov@gmail.com>2017-04-06 12:21:30 +0200
commit211b596991529e2c7f4458454faa92bede554d80 (patch)
treee36322f9589d8a6561ee4d5c7de427332b08f4de
parent478642224bca43ebe2c878159fb5b7989ed2641e (diff)
Minor changes
-rw-r--r--geom_bottleneck/bottleneck/src/bottleneck.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/geom_bottleneck/bottleneck/src/bottleneck.cpp b/geom_bottleneck/bottleneck/src/bottleneck.cpp
index e41e131..da0c425 100644
--- a/geom_bottleneck/bottleneck/src/bottleneck.cpp
+++ b/geom_bottleneck/bottleneck/src/bottleneck.cpp
@@ -101,7 +101,9 @@ void sampleDiagramForHeur(const DiagramPointSet& dgmIn, DiagramPointSet& dgmOut)
};
std::unordered_map<std::pair<double, double>, int, pair_hash> m;
for(auto ptIter = dgmIn.cbegin(); ptIter != dgmIn.cend(); ++ptIter) {
- m[std::make_pair(ptIter->getRealX(), ptIter->getRealY())]++;
+ if (ptIter->isNormal()) {
+ m[std::make_pair(ptIter->getRealX(), ptIter->getRealY())]++;
+ }
}
if (m.size() < 2) {
dgmOut = dgmIn;
@@ -122,6 +124,9 @@ void sampleDiagramForHeur(const DiagramPointSet& dgmIn, DiagramPointSet& dgmOut)
}
}
std::vector<std::pair<double, double>> vv;
+ // keep points whose multiplicites are at most cutVal
+ // quick-and-dirty: fill in vv with copies of each point
+ // to construct DiagramPointSet from it later
for(const auto& ptQty : m) {
if (ptQty.second < cutVal) {
for(int i = 0; i < ptQty.second; ++i) {
@@ -129,7 +134,6 @@ void sampleDiagramForHeur(const DiagramPointSet& dgmIn, DiagramPointSet& dgmOut)
}
}
}
- // keep points whose multiplicites are at most cutVal
dgmOut.clear();
dgmOut = DiagramPointSet(vv.begin(), vv.end());
}