[geometry] revised solution for robustness, we don't go to integer which was shortly done. This is partly a revert of r85867, where we scaled to integer. Now we make side information consistent by iteratively selecting a larger epsilon. This will be moved into a separate class. All tests pass now, also the complete ticket_9081 test which failed before

[SVN r86368]
This commit is contained in:
Barend Gehrels
2013-10-20 15:30:21 +00:00
parent 8ea1f1000b
commit 3a6ae0bacb
12 changed files with 547 additions and 211 deletions

View File

@@ -15,8 +15,6 @@
#include <iostream>
#include <string>
#define TEST_ISOVIST
#include <boost/geometry/geometries/point_xy.hpp>
#include <boost/geometry/geometries/register/linestring.hpp>
@@ -161,21 +159,14 @@ void test_areal()
bool const open = bg::closure<Polygon>::value == bg::open;
#ifdef TEST_ISOVIST
#ifdef _MSC_VER
test_one<Polygon, Polygon, Polygon>("isovist",
isovist1[0], isovist1[1],
1, if_typed<ct, double>(18, 20), 88.19203,
1, 19, 88.19203,
if_typed_tt<ct>(0.01, 0.1));
// SQL Server gives: 88.1920416352664
// PostGIS gives: 88.19203677911
#endif
#endif
//std::cout << typeid(ct).name() << std::endl;
if (! ccw && open)
{
// Pointcount for ttmath/double (both 5) or float (4)