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();
}