v0.2.52..v0.2.53 changeset Relation.cpp
Garret Voltz edited this page Feb 12, 2020
·
1 revision
diff --git a/hoot-core/src/main/cpp/hoot/core/elements/Relation.cpp b/hoot-core/src/main/cpp/hoot/core/elements/Relation.cpp
index 87e3cb1..575bd91 100644
--- a/hoot-core/src/main/cpp/hoot/core/elements/Relation.cpp
+++ b/hoot-core/src/main/cpp/hoot/core/elements/Relation.cpp
@@ -22,7 +22,7 @@
* This will properly maintain the copyright information. DigitalGlobe
* copyrights will be updated automatically.
*
- * @copyright Copyright (C) 2015, 2016, 2017, 2018, 2019 DigitalGlobe (http://www.digitalglobe.com/)
+ * @copyright Copyright (C) 2015, 2016, 2017, 2018, 2019, 2020 DigitalGlobe (http://www.digitalglobe.com/)
*/
#include "Relation.h"
@@ -148,6 +148,21 @@ int Relation::numElementsByRole(const QString& role) const
return roleCtr;
}
+std::set<ElementId> Relation::getWayMemberIds() const
+{
+ std::set<ElementId> wayMemberIds;
+ const vector<RelationData::Entry>& members = getMembers();
+ for (size_t i = 0; i < members.size(); i++)
+ {
+ RelationData::Entry member = members[i];
+ if (member.getElementId().getType() == ElementType::Way)
+ {
+ wayMemberIds.insert(member.getElementId());
+ }
+ }
+ return wayMemberIds;
+}
+
Envelope* Relation::getEnvelope(const std::shared_ptr<const ElementProvider>& ep) const
{
return new Envelope(getEnvelopeInternal(ep));