Skip to content

v0.2.54..v0.2.55 changeset CreatorDescription.cpp

Garret Voltz edited this page Aug 14, 2020 · 1 revision
diff --git a/hoot-core/src/main/cpp/hoot/core/info/CreatorDescription.cpp b/hoot-core/src/main/cpp/hoot/core/info/CreatorDescription.cpp
index eb69ac5..05023ba 100644
--- a/hoot-core/src/main/cpp/hoot/core/info/CreatorDescription.cpp
+++ b/hoot-core/src/main/cpp/hoot/core/info/CreatorDescription.cpp
@@ -34,18 +34,20 @@
 #include <hoot/core/criterion/LinearWaterwayCriterion.h>
 #include <hoot/core/criterion/HighwayCriterion.h>
 #include <hoot/core/criterion/poi-polygon/PoiPolygonPoiCriterion.h>
-#include <hoot/core/criterion/poi-polygon/PoiPolygonPolyCriterion.h>
 #include <hoot/core/criterion/NonBuildingAreaCriterion.h>
 #include <hoot/core/criterion/RailwayCriterion.h>
 #include <hoot/core/criterion/PowerLineCriterion.h>
 #include <hoot/core/criterion/PointCriterion.h>
 #include <hoot/core/criterion/LinearCriterion.h>
+#include <hoot/core/criterion/CollectionRelationCriterion.h>
+#include <hoot/core/criterion/PolygonCriterion.h>
 
 namespace hoot
 {
 
 CreatorDescription::CreatorDescription() :
-experimental()
+experimental(),
+baseFeatureType(BaseFeatureType::Unknown)
 {
 }
 
@@ -53,7 +55,8 @@ CreatorDescription::CreatorDescription(std::string className, QString descriptio
                                        bool experimental) :
 experimental(experimental),
 className(className),
-description(description)
+description(description),
+baseFeatureType(BaseFeatureType::Unknown)
 {
 }
 
@@ -92,6 +95,8 @@ QString CreatorDescription::baseFeatureTypeToString(BaseFeatureType t)
       return "Point";
     case Line:
       return "Line";
+    case CollectionRelation:
+      return "Collection Relation";
     default:
       return "Unknown";
   }
@@ -122,6 +127,8 @@ CreatorDescription::BaseFeatureType CreatorDescription::stringToBaseFeatureType(
     return Point;
   else if (0 == s.compare("line"))
     return Line;
+  else if (0 == s.compare("collectionrelation"))
+    return CollectionRelation;
   else
     return Unknown;
 }
@@ -152,6 +159,8 @@ CreatorDescription::FeatureCalcType CreatorDescription::getFeatureCalcType(BaseF
       return CalcTypeNone;
     case Line:
       return CalcTypeLength;
+    case CollectionRelation:
+      return CalcTypeArea;
     default:
       return CalcTypeNone;
   }
@@ -172,17 +181,19 @@ ElementCriterionPtr CreatorDescription::getElementCriterion(BaseFeatureType t, C
     case PoiPolygonPOI:
       return ElementCriterionPtr(new PoiPolygonPoiCriterion());
     case Polygon:
-      return ElementCriterionPtr(new PoiPolygonPolyCriterion());
+      return ElementCriterionPtr(new /*PoiPolygonPolyCriterion()*/PolygonCriterion());
     case Area:
-      return ElementCriterionPtr(new NonBuildingAreaCriterion());
+      return ElementCriterionPtr(new NonBuildingAreaCriterion(map));
     case Railway:
       return ElementCriterionPtr(new RailwayCriterion());
     case PowerLine:
       return ElementCriterionPtr(new PowerLineCriterion());
     case Point:
-      return ElementCriterionPtr(new PointCriterion());
+      return ElementCriterionPtr(new PointCriterion(map));
     case Line:
       return ElementCriterionPtr(new LinearCriterion());
+    case CollectionRelation:
+      return ElementCriterionPtr(new CollectionRelationCriterion());
     default:
       return ElementCriterionPtr();
   }
Clone this wiki locally