// Boost.Geometry (aka GGL, Generic Geometry Library)
// Unit Test
-// Copyright (c) 2014-2015, Oracle and/or its affiliates.
+// Copyright (c) 2014-2017, Oracle and/or its affiliates.
// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle
+// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
// Licensed under the Boost Software License version 1.0.
// http://www.boost.org/users/license.html
{
bool const irrelevant = true;
bg::is_valid_default_policy<irrelevant, AllowSpikes> visitor;
- return bg::is_valid(geometry, visitor);
+ return bg::is_valid(geometry, visitor, bg::default_strategy());
}
template <typename Geometry>
bool const irrelevant = true;
std::ostringstream oss;
bg::failing_reason_policy<irrelevant, AllowSpikes> visitor(oss);
- bg::is_valid(geometry, visitor);
+ bg::is_valid(geometry, visitor, bg::default_strategy());
return oss.str();
}
};
static inline bool apply(Geometry const& geometry)
{
bg::is_valid_default_policy<AllowDuplicates> visitor;
- return bg::is_valid(geometry, visitor);
+ return bg::is_valid(geometry, visitor, bg::default_strategy());
}
template <typename Geometry>
{
std::ostringstream oss;
bg::failing_reason_policy<AllowDuplicates> visitor(oss);
- bg::is_valid(geometry, visitor);
+ bg::is_valid(geometry, visitor, bg::default_strategy());
+ return oss.str();
+ }
+
+};
+
+
+template <bool AllowDuplicates>
+struct validity_tester_geo_areal
+{
+ template <typename Geometry>
+ static inline bool apply(Geometry const& geometry)
+ {
+ bg::is_valid_default_policy<AllowDuplicates> visitor;
+ bg::strategy::intersection::geographic_segments<> s;
+ return bg::is_valid(geometry, visitor, s);
+ }
+
+ template <typename Geometry>
+ static inline std::string reason(Geometry const& geometry)
+ {
+ std::ostringstream oss;
+ bg::failing_reason_policy<AllowDuplicates> visitor(oss);
+ bg::strategy::intersection::geographic_segments<> s;
+ bg::is_valid(geometry, visitor, s);
return oss.str();
}
bool expected_result)
{
std::stringstream sstr;
- sstr << case_id << "-original";
+ sstr << case_id << "-original"; // which is: CCW open
base_test(sstr.str(), geometry, expected_result);
if ( is_convertible_to_closed<Geometry>::apply(geometry) )