Renamed linear_ring to ring (linear_ring is still available)

[SVN r68387]
This commit is contained in:
Barend Gehrels 2011-01-23 16:20:01 +00:00
parent 1e823499b6
commit e0a240b770
51 changed files with 164 additions and 164 deletions

View File

@ -72,7 +72,7 @@ int main(void)
// Let's add one
{
poly.inners().resize(1);
model::linear_ring<point_2d>& inner = poly.inners().back();
model::ring<point_2d>& inner = poly.inners().back();
const double coor[][2] = { {4.0, 2.0}, {4.2, 1.4}, {4.8, 1.9}, {4.4, 2.2}, {4.0, 2.0} };
assign(inner, coor);

View File

@ -97,7 +97,7 @@ int main()
//boost::geometry::union<ring_type>(a, b, unioned);
/* This once worked, using pointers, but has to be fixed or deprecated
typedef boost::geometry::model::linear_ring<boost::geometry::model::d2::point_xy<double> > ring_2d;
typedef boost::geometry::model::ring<boost::geometry::model::d2::point_xy<double> > ring_2d;
std::vector<ring_2d> unioned;
std::vector<ring_2d> intersected;

View File

@ -136,7 +136,7 @@ int main()
geometry_of = {{{}}};
// Initialize a ring:
typedef bg::model::linear_ring<bg::model::d2::point_xy<double> > ring_type;
typedef bg::model::ring<bg::model::d2::point_xy<double> > ring_type;
ring_type ring = geometry_of(16, 1)(15,2)(14, 3)(13,4)(12, 3.14)(1,6);
std::cout << bg::wkt(ring) << std::endl;

View File

@ -27,12 +27,12 @@ template<typename Geometry>
class shape_creator : public boost::geometry::shape_creator<Geometry>
{
public :
shape_creator(std::string const& name)
: boost::geometry::shape_creator<Geometry>(name)
{}
shape_creator(std::string const& name)
: boost::geometry::shape_creator<Geometry>(name)
{}
// Name inspired on OGC "STGeomFromText"
int AddGeomFromText(std::string const& wkt)
int AddGeomFromText(std::string const& wkt)
{
Geometry geometry;
boost::geometry::read_wkt(wkt, geometry);
@ -50,53 +50,53 @@ int main()
typedef bg::model::point<double, 2, bg::cs::cartesian> point_type;
try
{
{
shape_creator<bg::model::linear_ring<point_type> > sc("out/pol");
sc.AddField<int>("dummy", 10);
int r = sc.AddGeomFromText("POLYGON((0 0,0 1,1 1,1 0,0 0))");
sc.WriteField(r, 0, 10);
}
{
shape_creator<bg::model::ring<point_type> > sc("out/pol");
sc.AddField<int>("dummy", 10);
int r = sc.AddGeomFromText("POLYGON((0 0,0 1,1 1,1 0,0 0))");
sc.WriteField(r, 0, 10);
}
{
shape_creator<bg::model::polygon<point_type> > sc("out/donut");
sc.AddField<int>("dummy", 10);
int r = sc.AddGeomFromText("POLYGON((0 0,0 7,4 2,2 0,0 0),(1 1,2 1,1 2,1 1))");
sc.WriteField(r, 0, 10);
}
{
shape_creator<bg::model::polygon<point_type> > sc("out/donut");
sc.AddField<int>("dummy", 10);
int r = sc.AddGeomFromText("POLYGON((0 0,0 7,4 2,2 0,0 0),(1 1,2 1,1 2,1 1))");
sc.WriteField(r, 0, 10);
}
{
shape_creator<bg::model::polygon<point_type> > sc("out/donut2");
sc.AddField<int>("dummy", 10);
int r = sc.AddGeomFromText("POLYGON ((174618.3423614502 504723.43828582764, 174658.97901153564 504727.76149749756, 174655.07703399658 504763.57702636719, 174655.89733123779 504767.03034210205, 174657.70821380615 504770.11280822754, 174660.34678649902 504772.52502441406, 174663.55408477783 504774.04540252686, 174871.51212310791 504793.95350646973, 174809.82281494141 504969.10485076904, 174592.13478088379 504995.37437438965, 174596.52947998047 504954.86187744141, 174596.31950378418 504951.57875061035, 174595.33219909668 504948.68436431885, 174597.70560455322 504928.34646606445, 174618.3423614502 504723.43828582764), (174658.489402771 504823.78255462646, 174646.87094116211 504938.40633392334, 174772.98456573486 504923.18756866455, 174803.11683654785 504837.63452911377, 174658.489402771 504823.78255462646))");
sc.WriteField(r, 0, 10);
}
{
shape_creator<bg::model::polygon<point_type> > sc("out/donut2");
sc.AddField<int>("dummy", 10);
int r = sc.AddGeomFromText("POLYGON ((174618.3423614502 504723.43828582764, 174658.97901153564 504727.76149749756, 174655.07703399658 504763.57702636719, 174655.89733123779 504767.03034210205, 174657.70821380615 504770.11280822754, 174660.34678649902 504772.52502441406, 174663.55408477783 504774.04540252686, 174871.51212310791 504793.95350646973, 174809.82281494141 504969.10485076904, 174592.13478088379 504995.37437438965, 174596.52947998047 504954.86187744141, 174596.31950378418 504951.57875061035, 174595.33219909668 504948.68436431885, 174597.70560455322 504928.34646606445, 174618.3423614502 504723.43828582764), (174658.489402771 504823.78255462646, 174646.87094116211 504938.40633392334, 174772.98456573486 504923.18756866455, 174803.11683654785 504837.63452911377, 174658.489402771 504823.78255462646))");
sc.WriteField(r, 0, 10);
}
{
shape_creator<bg::model::linestring<point_type> > sc("out/ls");
sc.AddField<int>("dummy", 10);
int r = sc.AddGeomFromText("LINESTRING(0 0,3 3,5 4,7 1)");
sc.WriteField(r, 0, 10);
}
{
shape_creator<bg::model::linestring<point_type> > sc("out/ls");
sc.AddField<int>("dummy", 10);
int r = sc.AddGeomFromText("LINESTRING(0 0,3 3,5 4,7 1)");
sc.WriteField(r, 0, 10);
}
{
shape_creator<point_type> sc("out/pnt");
sc.AddField<int>("dummy", 10);
{
shape_creator<point_type> sc("out/pnt");
sc.AddField<int>("dummy", 10);
// Write three points including attribute
int r = sc.AddGeomFromText("POINT(2 2)"); sc.WriteField(r, 0, 22);
r = sc.AddGeomFromText("POINT(3 2)"); sc.WriteField(r, 0, 32);
r = sc.AddGeomFromText("POINT(2 3)"); sc.WriteField(r, 0, 23);
}
int r = sc.AddGeomFromText("POINT(2 2)"); sc.WriteField(r, 0, 22);
r = sc.AddGeomFromText("POINT(3 2)"); sc.WriteField(r, 0, 32);
r = sc.AddGeomFromText("POINT(2 3)"); sc.WriteField(r, 0, 23);
}
{
shape_creator<bg::model::box<point_type> > sc("out/box");
sc.AddField<int>("dummy", 10);
int r = sc.AddGeomFromText("POLYGON((1 1,2 2))");
}
{
shape_creator<bg::model::box<point_type> > sc("out/box");
sc.AddField<int>("dummy", 10);
int r = sc.AddGeomFromText("POLYGON((1 1,2 2))");
}
{
shape_creator<bg::model::segment<point_type> > sc("out/seg");
sc.AddField<short>("dummy", 10);
{
shape_creator<bg::model::segment<point_type> > sc("out/seg");
sc.AddField<short>("dummy", 10);
// This time, write to shape as geometry and not as WKT
// (because bg::segment is currently const -> no WKT support)
@ -106,29 +106,29 @@ int main()
bg::model::segment<point_type> s(p1, p2);
int r = sc.AddShape(s);
sc.WriteField(r, 0, 10);
sc.WriteField(r, 0, 10);
}
{
shape_creator<bg::model::multi_point<point_type> > sc("out/mpnt");
sc.AddField<float>("dummy", 10);
int r = sc.AddGeomFromText("MULTIPOINT((0 0),(1 1),(5 2),(7 3))");
sc.WriteField(r, 0, 10.1f);
}
{
shape_creator<bg::model::multi_point<point_type> > sc("out/mpnt");
sc.AddField<float>("dummy", 10);
int r = sc.AddGeomFromText("MULTIPOINT((0 0),(1 1),(5 2),(7 3))");
sc.WriteField(r, 0, 10.1f);
}
{
shape_creator<bg::model::multi_linestring<bg::model::linestring<point_type> > > sc("out/ml");
sc.AddField<double>("dummy", 10);
int r = sc.AddGeomFromText("MULTILINESTRING((0 0,1 1,2 0,3 1),(4 4,5 3,6 5))");
sc.WriteField(r, 0, 10.2);
}
{
shape_creator<bg::model::multi_linestring<bg::model::linestring<point_type> > > sc("out/ml");
sc.AddField<double>("dummy", 10);
int r = sc.AddGeomFromText("MULTILINESTRING((0 0,1 1,2 0,3 1),(4 4,5 3,6 5))");
sc.WriteField(r, 0, 10.2);
}
{
shape_creator<bg::model::multi_polygon<bg::model::polygon<point_type> > > sc("out/mp");
sc.AddField<std::string>("dummy", 10);
int r = sc.AddGeomFromText("MULTIPOLYGON(((0 0,0 7,4 2,2 0,0 0),(1 1,2 1,1 2,1 1)),((10 10,10 11,11 11,11 10,10 10)))");
sc.WriteField(r, 0, "test");
}
{
shape_creator<bg::model::multi_polygon<bg::model::polygon<point_type> > > sc("out/mp");
sc.AddField<std::string>("dummy", 10);
int r = sc.AddGeomFromText("MULTIPOLYGON(((0 0,0 7,4 2,2 0,0 0),(1 1,2 1,1 2,1 1)),((10 10,10 11,11 11,11 10,10 10)))");
sc.WriteField(r, 0, "test");
}
}
catch(std::exception const& e)
{

View File

@ -105,7 +105,7 @@ int main()
BOOST_FOREACH(polygon_type const& polygon, country)
{
// Ignore holes, so take only exterior ring
bg::model::linear_ring<point_type> const& ring = bg::exterior_ring(polygon);
bg::model::ring<point_type> const& ring = bg::exterior_ring(polygon);
// If wished, suppress too small polygons.
// (Note that even in latlong, area is calculated in square meters)

View File

@ -43,7 +43,7 @@ template <typename P>
void test_all()
{
test_geometry<bg::model::linestring<P> >();
test_geometry<bg::model::linear_ring<P> >();
test_geometry<bg::model::ring<P> >();
test_geometry<bg::model::polygon<P> >();
test_geometry<std::vector<P> >();

View File

@ -13,7 +13,7 @@
#include <boost/geometry/geometries/point.hpp>
#include <boost/geometry/geometries/box.hpp>
#include <boost/geometry/geometries/linear_ring.hpp>
#include <boost/geometry/geometries/ring.hpp>
#include <boost/geometry/geometries/polygon.hpp>
//#define GEOMETRY_TEST_DEBUG
@ -30,8 +30,8 @@ void test_all()
// clockwise rings (second is wrongly ordered)
test_geometry<bg::model::linear_ring<P> >("POLYGON((0 0,0 7,4 2,2 0,0 0))", 16.0);
test_geometry<bg::model::linear_ring<P> >("POLYGON((0 0,2 0,4 2,0 7,0 0))", -16.0);
test_geometry<bg::model::ring<P> >("POLYGON((0 0,0 7,4 2,2 0,0 0))", 16.0);
test_geometry<bg::model::ring<P> >("POLYGON((0 0,2 0,4 2,0 7,0 0))", -16.0);
test_geometry<bg::model::polygon<P> >("POLYGON((0 0,0 7,4 2,2 0,0 0))", 16.0);
test_geometry<bg::model::polygon<P> >("POLYGON((1 1,2 1,2 2,1 2,1 1))", -1.0);

View File

@ -20,7 +20,7 @@ void test_2d()
test_centroid<bg::model::linestring<P> >("LINESTRING(0 0,0 4, 4 4)", 1.0, 3.0);
test_centroid<bg::model::linestring<P> >("LINESTRING(0 0,3 3,0 6,3 9,0 12)", 1.5, 6.0);
test_centroid<bg::model::linear_ring<P> >(
test_centroid<bg::model::ring<P> >(
"POLYGON((2 1.3,2.4 1.7,2.8 1.8,3.4 1.2"
",3.7 1.6,3.4 2,4.1 3,5.3 2.6,5.4 1.2,4.9 0.8,2.9 0.7,2 1.3))",
4.06923363095238, 1.65055803571429);
@ -39,15 +39,15 @@ void test_2d()
// ccw
test_centroid<bg::model::linear_ring<P, false> >(
test_centroid<bg::model::ring<P, false> >(
"POLYGON((2 1.3,2.9 0.7,4.9 0.8,5.4 1.2,5.3 2.6,4.1 3,3.4 2"
",3.7 1.6,3.4 1.2,2.8 1.8,2.4 1.7,2 1.3))",
4.06923363095238, 1.65055803571429);
// open / closed
test_centroid<bg::model::linear_ring<P, true, true> >(
test_centroid<bg::model::ring<P, true, true> >(
"POLYGON((1 1,2 2,3 1,2 0,1 1))", 2.0, 1.0);
test_centroid<bg::model::linear_ring<P, true, false> >(
test_centroid<bg::model::ring<P, true, false> >(
"POLYGON((1 1,2 2,3 1,2 0))", 2.0, 1.0);
test_centroid<bg::model::box<P> >("POLYGON((1 2,3 4))", 2, 3);

View File

@ -43,7 +43,7 @@ void test_std()
test_all<P>();
typedef bg::model::box<P> box_type;
typedef bg::model::linear_ring<P> ring_type;
typedef bg::model::ring<P> ring_type;
typedef bg::model::polygon<P> polygon_type;
box_type b;

View File

@ -20,7 +20,7 @@
#include <boost/geometry/geometries/point_xy.hpp>
#include <boost/geometry/geometries/box.hpp>
#include <boost/geometry/geometries/linear_ring.hpp>
#include <boost/geometry/geometries/ring.hpp>
#include <boost/geometry/geometries/polygon.hpp>
@ -73,34 +73,34 @@ void test_all()
std::string ccw_open_ring = "POLYGON((0 0,1 0,1 1,0 1))";
// already cw_ring
test_geometry<bg::model::linear_ring<P> >(cw_ring, cw_ring);
test_geometry<bg::model::ring<P> >(cw_ring, cw_ring);
// wrong order
test_geometry<bg::model::linear_ring<P> >(ccw_ring, cw_ring);
test_geometry<bg::model::ring<P> >(ccw_ring, cw_ring);
// ccw-ring, input ccw-ring, already correct
test_geometry<bg::model::linear_ring<P, false> >(ccw_ring, ccw_ring);
test_geometry<bg::model::ring<P, false> >(ccw_ring, ccw_ring);
// ccw-ring, input cw-ring, corrected
test_geometry<bg::model::linear_ring<P, false> >(cw_ring, ccw_ring);
test_geometry<bg::model::ring<P, false> >(cw_ring, ccw_ring);
// open-ring, input ccw-ring, already correct
test_geometry<bg::model::linear_ring<P, true, false> >(cw_open_ring, cw_open_ring);
test_geometry<bg::model::ring<P, true, false> >(cw_open_ring, cw_open_ring);
// ccw-ring, input cw-ring, corrected
test_geometry<bg::model::linear_ring<P, true, false> >(ccw_open_ring, "POLYGON((0 1,1 1,1 0,0 0))");
test_geometry<bg::model::ring<P, true, false> >(ccw_open_ring, "POLYGON((0 1,1 1,1 0,0 0))");
// not closed
test_geometry<bg::model::linear_ring<P> >(
test_geometry<bg::model::ring<P> >(
ccw_open_ring,
cw_ring);
// counter clockwise, cw_ring
test_geometry<bg::model::linear_ring<P, false> >(ccw_ring, ccw_ring);
test_geometry<bg::model::ring<P, false> >(ccw_ring, ccw_ring);
test_geometry<bg::model::linear_ring<P, false> >(cw_ring, ccw_ring);
test_geometry<bg::model::ring<P, false> >(cw_ring, ccw_ring);
// polygon: cw_ring

View File

@ -76,7 +76,7 @@ void test_all()
// Note that intersections are tested elsewhere, they don't need
// thorough test at this place
typedef bg::model::polygon<P> polygon;
typedef bg::model::linear_ring<P> ring;
typedef bg::model::ring<P> ring;
// Four times same test with other types
test_disjoint<polygon, polygon>("disjoint_simplex_pp", disjoint_simplex[0], disjoint_simplex[1], true);

View File

@ -16,7 +16,7 @@
template <typename P>
void test_all()
{
typedef bg::model::linear_ring<P> ring;
typedef bg::model::ring<P> ring;
typedef bg::model::polygon<P> polygon;
// Simplex

View File

@ -177,12 +177,12 @@ void test_all()
test_geometry<bg::model::linestring<P>, P>("LINESTRING(1 1,4 4)", "POINT(1 3)", sqrt(2.0));
// Rings
test_geometry<P, bg::model::linear_ring<P> >("POINT(1 3)", "POLYGON((1 1,4 4,5 0,1 1))", sqrt(2.0));
test_geometry<P, bg::model::linear_ring<P> >("POINT(3 1)", "POLYGON((1 1,4 4,5 0,1 1))", 0.0);
test_geometry<P, bg::model::ring<P> >("POINT(1 3)", "POLYGON((1 1,4 4,5 0,1 1))", sqrt(2.0));
test_geometry<P, bg::model::ring<P> >("POINT(3 1)", "POLYGON((1 1,4 4,5 0,1 1))", 0.0);
// other way round
test_geometry<bg::model::linear_ring<P>, P>("POLYGON((1 1,4 4,5 0,1 1))", "POINT(3 1)", 0.0);
test_geometry<bg::model::ring<P>, P>("POLYGON((1 1,4 4,5 0,1 1))", "POINT(3 1)", 0.0);
// open ring
test_geometry<P, bg::model::linear_ring<P, true, false> >("POINT(1 3)", "POLYGON((4 4,5 0,1 1))", sqrt(2.0));
test_geometry<P, bg::model::ring<P, true, false> >("POINT(1 3)", "POLYGON((4 4,5 0,1 1))", sqrt(2.0));
// Polygons
test_geometry<P, bg::model::polygon<P> >("POINT(1 3)", "POLYGON((1 1,4 4,5 0,1 1))", sqrt(2.0));

View File

@ -23,16 +23,16 @@ void test_2d()
test_envelope<bg::model::linestring<P> >("LINESTRING(1 1,2 2)", 1, 2, 1, 2);
test_envelope<bg::model::polygon<P> >("POLYGON((1 1,1 3,3 3,3 1,1 1))", 1, 3, 1, 3);
test_envelope<bg::model::linear_ring<P> >("POLYGON((1 1,1 3,3 3,3 1,1 1))", 1, 3, 1, 3);
test_envelope<bg::model::ring<P> >("POLYGON((1 1,1 3,3 3,3 1,1 1))", 1, 3, 1, 3);
test_envelope<bg::model::box<P> >("BOX(1 1,3 3)", 1, 3, 1, 3);
// Triangle, closed and open, and CCW.
// Note that for the envelope algorithm,
// Triangle, closed and open, and CCW.
// Note that for the envelope algorithm,
// these combinations should theoretically not differ
test_envelope<bg::model::linear_ring<P> >("POLYGON((4 1,0 7,7 9,4 1))", 0, 7, 1, 9);
test_envelope<bg::model::linear_ring<P, true, false> >("POLYGON((4 1,0 7,7 9))", 0, 7, 1, 9);
test_envelope<bg::model::linear_ring<P, false> >("POLYGON((4 1,7 9,0 7,4 1))", 0, 7, 1, 9);
test_envelope<bg::model::linear_ring<P, false, false> >("POLYGON((4 1,7 9,0 7))", 0, 7, 1, 9);
test_envelope<bg::model::ring<P> >("POLYGON((4 1,0 7,7 9,4 1))", 0, 7, 1, 9);
test_envelope<bg::model::ring<P, true, false> >("POLYGON((4 1,0 7,7 9))", 0, 7, 1, 9);
test_envelope<bg::model::ring<P, false> >("POLYGON((4 1,7 9,0 7,4 1))", 0, 7, 1, 9);
test_envelope<bg::model::ring<P, false, false> >("POLYGON((4 1,7 9,0 7))", 0, 7, 1, 9);
typedef std::pair<P, P> segment_type;
test_envelope<segment_type>("SEGMENT(1 1,3 3)", 1, 3, 1, 3);

View File

@ -16,7 +16,7 @@ template <typename P>
void test_all()
{
typedef bg::model::box<P> box;
typedef bg::model::linear_ring<P> ring;
typedef bg::model::ring<P> ring;
typedef bg::model::polygon<P> polygon;
typedef bg::model::linestring<P> linestring;

View File

@ -40,7 +40,7 @@ void test_all()
, std::sqrt(2.0)
, "LINESTRING(10 1,2 2)"
);
test_geometry<bg::model::linear_ring<P> >
test_geometry<bg::model::ring<P> >
(
"POLYGON((1 1,1 4,4 4,4 1,1 1))"

View File

@ -55,7 +55,7 @@ inline typename bg::coordinate_type<Geometry1>::type intersect(Geometry1 const&
bg::enrich_intersection_points<rev<Geometry1>::value, rev<Geometry2>::value >(turns, bg::detail::overlay::operation_intersection,
g1, g2, side_strategy_type());
typedef bg::model::linear_ring<typename bg::point_type<Geometry1>::type> ring_type;
typedef bg::model::ring<typename bg::point_type<Geometry1>::type> ring_type;
typedef std::deque<ring_type> out_vector;
out_vector v;

View File

@ -57,10 +57,10 @@
# include <boost/geometry/extensions/io/svg/svg_mapper.hpp>
#endif
template
template
<
bg::detail::overlay::operation_type Direction,
bool Reverse1 = false,
bg::detail::overlay::operation_type Direction,
bool Reverse1 = false,
bool Reverse2 = false
>
struct test_traverse
@ -144,7 +144,7 @@ struct test_traverse
: bg::detail::overlay::operation_intersection,
g1, g2, side_strategy_type());
typedef bg::model::linear_ring<typename bg::point_type<G2>::type> ring_type;
typedef bg::model::ring<typename bg::point_type<G2>::type> ring_type;
typedef std::vector<ring_type> out_vector;
out_vector v;

View File

@ -71,7 +71,7 @@ void test_traverse(std::string const& caseid, G1 const& g1, G2 const& g2)
bg::get_turns<false, false, bg::detail::overlay::calculate_distance_policy>(g1, g2, ips);
bg::enrich_intersection_points(ips, g1, g2, strategy_type());
typedef bg::model::linear_ring<typename bg::point_type<G2>::type> ring_type;
typedef bg::model::ring<typename bg::point_type<G2>::type> ring_type;
typedef std::vector<ring_type> out_vector;
out_vector v;

View File

@ -17,7 +17,7 @@ void test_all()
// 3-4-5 triangle
//test_geometry<std::pair<P, P> >("LINESTRING(0 0,3 4)", 5);
test_geometry<bg::model::linear_ring<P> >(
test_geometry<bg::model::ring<P> >(
"POLYGON((0 0,0 1,1 1,1 0,0 0))", 4);
test_geometry<bg::model::polygon<P> >(
"POLYGON((0 0,0 1,1 0,0 0))", 1.0 + 1.0 + sqrt(2.0));

View File

@ -38,7 +38,7 @@ void test_all()
// Check compilation
test_geometry<Point>("POINT(0 0)", "POINT(0 0)");
test_geometry<bg::model::linear_ring<Point> >(
test_geometry<bg::model::ring<Point> >(
"POLYGON((4 0,8 2,8 7,4 9,0 7,0 2,2 1,4 0))",
"POLYGON((4 0,2 1,0 2,0 7,4 9,8 7,8 2,4 0))");
}

View File

@ -36,7 +36,7 @@ void test_all()
"LINESTRING(0 0,5 5,7 5,10 10)",
"LINESTRING(0 0,5 5,7 5,10 10)", 1.0);
test_geometry<bg::model::linear_ring<P> >(
test_geometry<bg::model::ring<P> >(
"POLYGON((4 0,8 2,8 7,4 9,0 7,0 2,2 1,4 0))",
"POLYGON((4 0,8 2,8 7,4 9,0 7,0 2,4 0))", 1.0);
@ -65,7 +65,7 @@ union all select astext(ST_Simplify(geomfromtext('POLYGON((4 0, 8 2, 8 7, 4 9, 0
"POINT(0 0)", 1.0);
test_geometry<bg::model::linear_ring<P> >(
test_geometry<bg::model::ring<P> >(
"POLYGON((4 0,8 2,8 7,4 9,0 7,0 2,2 1,4 0))",
"POLYGON((4 0,8 2,8 7,4 9,0 7,0 2,4 0))", 1.0);
}

View File

@ -14,7 +14,7 @@
#include <boost/geometry/core/ring_type.hpp>
#include <boost/geometry/algorithms/intersects.hpp>
#include <boost/geometry/strategies/strategies.hpp>
#include <boost/geometry/geometries/linear_ring.hpp>
#include <boost/geometry/geometries/ring.hpp>
#include <boost/geometry/geometries/polygon.hpp>
#include <boost/geometry/extensions/gis/io/wkt/read_wkt.hpp>

View File

@ -14,7 +14,7 @@
#include <boost/geometry/core/ring_type.hpp>
#include <boost/geometry/algorithms/overlaps.hpp>
#include <boost/geometry/strategies/strategies.hpp>
#include <boost/geometry/geometries/linear_ring.hpp>
#include <boost/geometry/geometries/ring.hpp>
#include <boost/geometry/geometries/polygon.hpp>
#include <boost/geometry/extensions/gis/io/wkt/read_wkt.hpp>

View File

@ -14,7 +14,7 @@
#include <boost/geometry/core/ring_type.hpp>
#include <boost/geometry/algorithms/within.hpp>
#include <boost/geometry/strategies/strategies.hpp>
#include <boost/geometry/geometries/linear_ring.hpp>
#include <boost/geometry/geometries/ring.hpp>
#include <boost/geometry/geometries/polygon.hpp>
#include <boost/geometry/extensions/gis/io/wkt/read_wkt.hpp>
@ -44,7 +44,7 @@ template <typename Point, bool Clockwise, bool Closed>
void test_ordered_ring(std::string const& wkt_point,
std::string const& wkt_geometry, bool expected, bool on_border)
{
typedef bg::model::linear_ring<Point, Clockwise, Closed> ring_type;
typedef bg::model::ring<Point, Clockwise, Closed> ring_type;
ring_type ring;
Point point;

View File

@ -223,19 +223,19 @@ template <typename P>
void test_all()
{
typedef bg::model::polygon<P> polygon;
typedef bg::model::linear_ring<P> ring;
typedef bg::model::ring<P> ring;
typedef bg::model::box<P> box;
test_areal<ring, polygon>();
// Open
test_areal<bg::model::linear_ring<P, true, false>, bg::model::polygon<P, true, false> >();
test_areal<bg::model::ring<P, true, false>, bg::model::polygon<P, true, false> >();
// Counter clockwise
test_areal<bg::model::linear_ring<P, false>, bg::model::polygon<P, false> >();
test_areal<bg::model::ring<P, false>, bg::model::polygon<P, false> >();
// Counter clockwise and open
test_areal<bg::model::linear_ring<P, false, false>, bg::model::polygon<P, false, false> >();
test_areal<bg::model::ring<P, false, false>, bg::model::polygon<P, false, false> >();
test_one<polygon, box, polygon>("box_ring", example_box, example_ring,
1, 1, 15, 6.38875);

View File

@ -32,7 +32,7 @@ void test_all()
"LINESTRING(0 0,1 1)");
// Other types
test_geometry<bg::model::linear_ring<Point> >(
test_geometry<bg::model::ring<Point> >(
"POLYGON((0 0,0 1,1 1,1 1,1 1,1 0,0 0,0 0))",
"POLYGON((0 0,0 1,1 1,1 0,0 0))");

View File

@ -36,7 +36,7 @@ void test_all()
test_geometry<P, D>();
test_geometry<P const, D>();
test_geometry<bg::model::linestring<P> , D>();
test_geometry<bg::model::linear_ring<P> , D>();
test_geometry<bg::model::ring<P> , D>();
test_geometry<bg::model::polygon<P> , D>();
test_geometry<bg::model::box<P> , D>();
test_geometry<bg::model::segment<P> , D>();

View File

@ -37,7 +37,7 @@ void test_all()
test_geometry<P, Expected>();
test_geometry<P const, Expected>();
test_geometry<bg::model::linestring<P> , Expected>();
test_geometry<bg::model::linear_ring<P> , Expected>();
test_geometry<bg::model::ring<P> , Expected>();
test_geometry<bg::model::polygon<P> , Expected>();
test_geometry<bg::model::box<P> , Expected>();
test_geometry<bg::model::segment<P> , Expected>();

View File

@ -37,7 +37,7 @@ void test_all()
test_geometry<P, Expected>();
test_geometry<P const, Expected>();
test_geometry<bg::model::linestring<P> , Expected>();
test_geometry<bg::model::linear_ring<P> , Expected>();
test_geometry<bg::model::ring<P> , Expected>();
test_geometry<bg::model::polygon<P> , Expected>();
test_geometry<bg::model::box<P> , Expected>();
test_geometry<bg::model::segment<P> , Expected>();

View File

@ -35,7 +35,7 @@ void test_all()
test_geometry<P, 1>();
test_geometry<P const, 1>();
test_geometry<bg::model::linestring<P> , 2>();
test_geometry<bg::model::linear_ring<P> , 93>();
test_geometry<bg::model::ring<P> , 93>();
test_geometry<bg::model::polygon<P> , 3>();
test_geometry<bg::model::box<P> , 94>();
test_geometry<bg::model::segment<P> , 92>();

View File

@ -36,7 +36,7 @@ void test_all()
test_geometry<P, P>();
test_geometry<P const, P>();
test_geometry<bg::model::linestring<P> , P>();
test_geometry<bg::model::linear_ring<P> , P>();
test_geometry<bg::model::ring<P> , P>();
test_geometry<bg::model::polygon<P> , P>();
test_geometry<bg::model::box<P> , P>();
test_geometry<bg::model::segment<P> , P>();

View File

@ -30,9 +30,9 @@ void test_all()
test_reversed<P, P, false>();
test_reversed<P, bg::model::linestring<P>, false>();
test_reversed<bg::model::linestring<P>, P, true>();
test_reversed<bg::model::linear_ring<P>, P, true>();
test_reversed<bg::model::linestring<P>, bg::model::linear_ring<P>, false>();
test_reversed<bg::model::linear_ring<P>, bg::model::linestring<P>, true>();
test_reversed<bg::model::ring<P>, P, true>();
test_reversed<bg::model::linestring<P>, bg::model::ring<P>, false>();
test_reversed<bg::model::ring<P>, bg::model::linestring<P>, true>();
}
template <typename P1, typename P2>

View File

@ -35,7 +35,7 @@ void test_all()
test_geometry<P, bg::point_tag>();
test_geometry<P const, bg::point_tag>();
test_geometry<bg::model::linestring<P> , bg::linestring_tag>();
test_geometry<bg::model::linear_ring<P> , bg::ring_tag>();
test_geometry<bg::model::ring<P> , bg::ring_tag>();
test_geometry<bg::model::polygon<P> , bg::polygon_tag>();
test_geometry<bg::model::box<P> , bg::box_tag>();
test_geometry<bg::model::segment<P> , bg::segment_tag>();

View File

@ -34,7 +34,7 @@ void test_all()
test_geometry<P, 0>();
test_geometry<P const, 0>();
test_geometry<bg::model::linestring<P> , 1>();
test_geometry<bg::model::linear_ring<P> , 2>(); // being discussed
test_geometry<bg::model::ring<P> , 2>(); // being discussed
test_geometry<bg::model::polygon<P> , 2>();
test_geometry<bg::model::box<P> , 2>();
test_geometry<bg::model::segment<P> , 1>();

View File

@ -62,7 +62,7 @@ inline void test_remove_indentations(std::string const& id,
if (marked)
{
std::cout << " MARKED"
<< ", new area=" << detected_area
<< ", new area=" << detected_area
<< " new perimeter=" << detected_perimeter;
//std::cout << std::endl << std::setprecision(16) << " new WKT:" << bg::wkt(processed);
@ -85,7 +85,7 @@ inline void test_remove_indentations(std::string const& id,
}
template <typename Geometry, typename Policy>
void test_geometry(std::string const& id, std::string const& wkt, Policy const& policy,
void test_geometry(std::string const& id, std::string const& wkt, Policy const& policy,
double expected_area, double expected_perimeter)
{
Geometry geometry;
@ -100,29 +100,29 @@ void test_geometry(std::string const& id, std::string const& wkt, Policy const&
template <typename P>
void test_all()
{
typedef bg::model::linear_ring<P> ring;
typedef bg::model::ring<P> ring;
typedef bg::model::polygon<P> polygon;
typedef bg::model::multi_polygon<polygon> mp;
test_geometry<polygon>("case1",
"POLYGON((0 0,0 100,100 100,100 51,150 51,150 90,151 90,151 50,100 50,100 0,0 0))",
"POLYGON((0 0,0 100,100 100,100 51,150 51,150 90,151 90,151 50,100 50,100 0,0 0))",
bg::select_gapped_spike<>(2.0, 0.5), 10000.0, 400.0);
test_geometry<mp>("texel_183836",
"MULTIPOLYGON( ((114766.45300292969 560935.37800598145, 114839.08099365234 560958.13200378418, 114919.38200378418 560983.13500976562, 114945.70799255371 560990.80799865723, 114946.2380065918 560992.39601135254, 114930.75900268555 561046.63500976562, 114923.41007995606 561073.32402038574, 114924.41039576962 561073.6148228565, 114903.32929992676 561145.36410522461, 114895.68840026856 561171.36880493164, 114894.6575012207 561174.46450805664, 114894.59449768066 561174.43589782715, 114894.31700134277 561175.496307373, 114894.01480102539 561178.669998169, 114894.57029724121 561179.59580993652, 114969.90060575516 561202.33975150948, 114969.85419015621 561202.51050945686, 114942.83399963379 561194.24600219727, 114895.87001037598 561180.091003418, 114893.3570098877 561179.16500854492, 114872.97556998512 561162.44151731138, 114893.35699462891 561179.16400146484, 114894.90800476074 561173.2380065918, 114892.52699279785 561174.03199768066, 114889.74899291992 561171.51899719238, 114879.56199645996 561162.78800964355, 114844.50500488281 561131.30200195312, 114809.71200561523 561099.1549987793, 114787.22300720215 561079.17900085449, 114771.87699890137 561065.68499755859, 114753.62100219727 561048.4880065918, 114727.0299987793 561029.17300415039, 114717.10800170898 561021.5, 114701.89500427246 561011.04901123047, 114700.83599853516 561009.59400939941, 114701.89500427246 561006.94799804688, 114715.38800048828 560981.28300476074, 114729.9409942627 560953.370010376, 114738.27499389648 560937.62699890137, 114739.46600341797 560937.75900268555, 114766.45300292969 560935.37800598145), (114825.04400634766 560971.37200927734, 114823.72099304199 560971.76800537109, 114822.66299438477 560971.90100097656, 114821.07600402832 560973.22399902344, 114821.07600402832 560975.33999633789, 114821.47200012207 560976.26600646973, 114823.19200134277 560978.11799621582, 114825.04400634766 560978.51499938965, 114827.42599487305 560978.25100708008, 114828.48399353027 560976.796005249, 114828.61599731445 560974.15000915527, 114827.82200622559 560972.8270111084, 114825.04400634766 560971.37200927734), (114893.16600036621 561141.21200561523, 114891.51400756836 561142.51000976562, 114890.68800354004 561144.2799987793, 114890.92399597168 561146.9940032959, 114893.04200744629 561149.43600463867, 114897.01100158691 561148.77500915527, 114898.59399414063 561145.10600280762, 114898.00399780273 561142.9820098877, 114895.64399719238 561141.56600952148, 114893.16600036621 561141.21200561523)))",
"MULTIPOLYGON( ((114766.45300292969 560935.37800598145, 114839.08099365234 560958.13200378418, 114919.38200378418 560983.13500976562, 114945.70799255371 560990.80799865723, 114946.2380065918 560992.39601135254, 114930.75900268555 561046.63500976562, 114923.41007995606 561073.32402038574, 114924.41039576962 561073.6148228565, 114903.32929992676 561145.36410522461, 114895.68840026856 561171.36880493164, 114894.6575012207 561174.46450805664, 114894.59449768066 561174.43589782715, 114894.31700134277 561175.496307373, 114894.01480102539 561178.669998169, 114894.57029724121 561179.59580993652, 114969.90060575516 561202.33975150948, 114969.85419015621 561202.51050945686, 114942.83399963379 561194.24600219727, 114895.87001037598 561180.091003418, 114893.3570098877 561179.16500854492, 114872.97556998512 561162.44151731138, 114893.35699462891 561179.16400146484, 114894.90800476074 561173.2380065918, 114892.52699279785 561174.03199768066, 114889.74899291992 561171.51899719238, 114879.56199645996 561162.78800964355, 114844.50500488281 561131.30200195312, 114809.71200561523 561099.1549987793, 114787.22300720215 561079.17900085449, 114771.87699890137 561065.68499755859, 114753.62100219727 561048.4880065918, 114727.0299987793 561029.17300415039, 114717.10800170898 561021.5, 114701.89500427246 561011.04901123047, 114700.83599853516 561009.59400939941, 114701.89500427246 561006.94799804688, 114715.38800048828 560981.28300476074, 114729.9409942627 560953.370010376, 114738.27499389648 560937.62699890137, 114739.46600341797 560937.75900268555, 114766.45300292969 560935.37800598145), (114825.04400634766 560971.37200927734, 114823.72099304199 560971.76800537109, 114822.66299438477 560971.90100097656, 114821.07600402832 560973.22399902344, 114821.07600402832 560975.33999633789, 114821.47200012207 560976.26600646973, 114823.19200134277 560978.11799621582, 114825.04400634766 560978.51499938965, 114827.42599487305 560978.25100708008, 114828.48399353027 560976.796005249, 114828.61599731445 560974.15000915527, 114827.82200622559 560972.8270111084, 114825.04400634766 560971.37200927734), (114893.16600036621 561141.21200561523, 114891.51400756836 561142.51000976562, 114890.68800354004 561144.2799987793, 114890.92399597168 561146.9940032959, 114893.04200744629 561149.43600463867, 114897.01100158691 561148.77500915527, 114898.59399414063 561145.10600280762, 114898.00399780273 561142.9820098877, 114895.64399719238 561141.56600952148, 114893.16600036621 561141.21200561523)))",
bg::select_gapped_spike<>(2.0, 0.1), 31052.272, 794.761);
// Found some PostGIS stored procedure as well.
// http://trac.osgeo.org/postgis/wiki/UsersWikiExamplesSpikeRemover
// (note that that algorithm is completely different from this one)
test_geometry<polygon>("pg1",
"POLYGON((3480407.01 5483810.171,3480407.01 5483810.17,3480409.11 5483777.431,3480407.348 5483777.421,3480405.15 5483777.409,3480404.816 5483777.407,3480394.58 5483777.35,3480395.36 5483811.12,3480404.55 5483810.46,3480405.951 5483810.295,3480406.312 5483795.106,3480405.951 5483810.296,3480406.903 5483810.184,3480407.01 5483810.171))",
"POLYGON((3480407.01 5483810.171,3480407.01 5483810.17,3480409.11 5483777.431,3480407.348 5483777.421,3480405.15 5483777.409,3480404.816 5483777.407,3480394.58 5483777.35,3480395.36 5483811.12,3480404.55 5483810.46,3480405.951 5483810.295,3480406.312 5483795.106,3480405.951 5483810.296,3480406.903 5483810.184,3480407.01 5483810.171))",
bg::select_gapped_spike<>(10.0, 0.1), 435.535, 92.8071);
/*
TODO: for this distance point-segment should be used during marking
test_geometry<polygon>("pg2",
"POLYGON((3415632.49 5291021.49,3415632.488 5291021.494,3415632.49 5291021.494,3415628.93 5291028.28,3415642.95 5291001.56,3415651.18 5290985.86,3415659.27 5290984.61,3415644.71 5290947.81,3415629.17 5290921.83,3415621.28 5290929.72,3415640.21 5290959.43,3415625.38 5290971.41,3415627.79 5290983.94,3415629.49 5290992.19,3415630.14 5290995.36,3415625.65 5291022.5,3415632.49 5291021.49))",
"POLYGON((3415632.49 5291021.49,3415632.488 5291021.494,3415632.49 5291021.494,3415628.93 5291028.28,3415642.95 5291001.56,3415651.18 5290985.86,3415659.27 5290984.61,3415644.71 5290947.81,3415629.17 5290921.83,3415621.28 5290929.72,3415640.21 5290959.43,3415625.38 5290971.41,3415627.79 5290983.94,3415629.49 5290992.19,3415630.14 5290995.36,3415625.65 5291022.5,3415632.49 5291021.49))",
bg::select_gapped_spike<>(20.0, 0.5), 1535.72, 257.895);
*/
@ -132,22 +132,22 @@ void test_all()
bg::select_gapped_spike<> policy(0.001, 0.001);
test_geometry<polygon>("box",
"POLYGON((0 0,0 4,4 4,4 0,0 0))",
"POLYGON((0 0,0 4,4 4,4 0,0 0))",
policy, 16, 16);
test_geometry<polygon>("spike_right",
"POLYGON((0 0,0 4,4 4,4 2,6 2,4 2,4 0,0 0))",
"POLYGON((0 0,0 4,4 4,4 2,6 2,4 2,4 0,0 0))",
policy, 16, 16);
test_geometry<polygon>("spike_at_first",
"POLYGON((0 0,-1 3,0 0,0 4,4 4,4 0,0 0))",
"POLYGON((0 0,-1 3,0 0,0 4,4 4,4 0,0 0))",
policy, 16, 16);
test_geometry<polygon>("spike_at_closing",
"POLYGON((-1 0,0 0,0 4,4 4,4 0,0 0,-1 0))",
"POLYGON((-1 0,0 0,0 4,4 4,4 0,0 0,-1 0))",
policy, 16, 16);
test_geometry<polygon>("double_spike",
"POLYGON((0 0,0 4,4 4,4 2,6 2,5 2,4 2,4 0,0 0))",
"POLYGON((0 0,0 4,4 4,4 2,6 2,5 2,4 2,4 0,0 0))",
policy, 16, 16);
test_geometry<polygon>("three_double_spike",
"POLYGON((0 0,0 4,4 4,4 2,6 2,5 2,4.5 2,4 2,4 0,0 0))",
"POLYGON((0 0,0 4,4 4,4 2,6 2,5 2,4.5 2,4 2,4 0,0 0))",
policy, 16, 16);
}
}

View File

@ -37,7 +37,7 @@ void test_remove_holes_if(std::string const& wkt, Predicate const& predicate,
template <typename P>
void test_all()
{
bg::elongated_hole<bg::model::linear_ring<P> > elongated(0.05);
bg::elongated_hole<bg::model::ring<P> > elongated(0.05);
// No holes
test_remove_holes_if<bg::model::polygon<P> >("POLYGON((0 0,0 4,4 4,4 0,0 0))", elongated, 5);
@ -52,7 +52,7 @@ void test_all()
test_remove_holes_if<bg::model::polygon<P> >("POLYGON((0 0,0 4,4 4,4 0,0 0), (1 1,1 2))", elongated, 5);
// Invalid hole
bg::invalid_hole<bg::model::linear_ring<P> > invalid;
bg::invalid_hole<bg::model::ring<P> > invalid;
test_remove_holes_if<bg::model::polygon<P> >("POLYGON((0 0,0 4,4 4,4 0,0 0), (1 1,1 2))", invalid, 5);
// Valid hole

View File

@ -60,7 +60,7 @@ void test_all()
test_selected<bg::model::linestring<P> >("LINESTRING(1 2)", P(1,1), false, 0.0001);
// nyi
//test_selected<bg::model::linear_ring<P> >();
//test_selected<bg::model::ring<P> >();
test_selected<bg::model::polygon<P> >("POLYGON((0 0,0 7,4 2,2 0,0 0))", P(0.001, 0.001), true, 0.0001);
test_selected<bg::model::polygon<P> >("POLYGON((0 0,0 7,4 2,2 0,0 0))", P(1, 1), true, 0.0001);

View File

@ -126,7 +126,7 @@ void test_all()
// Non OGC: a box defined by a polygon
//test_wkt<box<P> >("POLYGON((0 0,0 1,1 1,1 0,0 0))", 4, 0, 1, 4);
test_wkt<bg::model::linear_ring<P> >("POLYGON((0 0,0 1,1 1,1 0,0 0))", 5, 0, 1, 4);
test_wkt<bg::model::ring<P> >("POLYGON((0 0,0 1,1 1,1 0,0 0))", 5, 0, 1, 4);
// We accept empty sequences as well (much better than EMPTY)...
// ...or even POINT() (see below)
@ -177,7 +177,7 @@ void test_all()
}
test_wkt_output_iterator<bg::model::linestring<P> >("LINESTRING(1 1,2 2,3 3)");
test_wkt_output_iterator<bg::model::linear_ring<P> >("POLYGON((1 1,2 2,3 3))");
test_wkt_output_iterator<bg::model::ring<P> >("POLYGON((1 1,2 2,3 3))");
}
#endif

View File

@ -12,7 +12,7 @@
#include <boost/geometry/algorithms/within.hpp>
#include <boost/geometry/geometries/box.hpp>
#include <boost/geometry/geometries/geometries.hpp>
#include <boost/geometry/geometries/linear_ring.hpp>
#include <boost/geometry/geometries/ring.hpp>
#include <boost/geometry/geometries/linestring.hpp>
#include <boost/geometry/geometries/point.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
@ -24,7 +24,7 @@ int test_main( int , char* [] )
{
typedef bg::model::d2::point_xy<double> gl_point;
typedef bg::circle gl_circle;
typedef bg::model::linear_ring<gl_point> gl_ring;
typedef bg::model::ring<gl_point> gl_ring;
typedef bg::model::polygon<gl_point> gl_polygon;
typedef bg::multi_polygon<gl_polygon> gl_multi_polygon;

View File

@ -36,7 +36,7 @@ void test_all()
test_geometry<P, P>();
test_geometry<const P, P>();
test_geometry<bg::model::linestring<P> , P>();
test_geometry<bg::model::linear_ring<P> , P>();
test_geometry<bg::model::ring<P> , P>();
test_geometry<bg::model::polygon<P> , P>();
test_geometry<bg::model::box<P> , P>();
test_geometry<bg::segment<P> , P>();

View File

@ -56,7 +56,7 @@ int test_main(int, char* [])
boost::polygon::polygon_data<double> r1;
r1.set(point_vector.begin(), point_vector.end());
bg::model::linear_ring<bg_point> r2;
bg::model::ring<bg_point> r2;
r2.push_back(bg_point(0, 0));
r2.push_back(bg_point(0, 3));
r2.push_back(bg_point(4, 0));

View File

@ -100,7 +100,7 @@ template <typename P>
void test_all()
{
test_non_geometry();
test_geometry<bg::model::linear_ring<P> >("POLYGON((1 1,1 4,4 4,4 1))");
test_geometry<bg::model::ring<P> >("POLYGON((1 1,1 4,4 4,4 1))");
}

View File

@ -16,7 +16,7 @@
#include <boost/geometry/extensions/gis/io/wkt/wkt.hpp>
#include <boost/geometry/geometries/box.hpp>
#include <boost/geometry/geometries/linear_ring.hpp>
#include <boost/geometry/geometries/ring.hpp>
#include <boost/geometry/geometries/linestring.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
#include <boost/geometry/geometries/point.hpp>

View File

@ -13,7 +13,7 @@
#include <boost/geometry/extensions/gis/io/wkt/wkt.hpp>
#include <boost/geometry/geometries/box.hpp>
#include <boost/geometry/geometries/linear_ring.hpp>
#include <boost/geometry/geometries/ring.hpp>
#include <boost/geometry/geometries/linestring.hpp>
#include <boost/geometry/geometries/point.hpp>
#include <boost/geometry/geometries/polygon.hpp>

View File

@ -136,22 +136,22 @@ template <typename P>
void test_all()
{
typedef bg::model::box<P> box;
typedef bg::model::linear_ring<P> ring;
typedef bg::model::ring<P> ring;
typedef bg::model::polygon<P> polygon;
typedef bg::model::multi_polygon<polygon> multi_polygon;
test_areal<ring, polygon, multi_polygon>();
typedef bg::model::linear_ring<P, false> ring_ccw;
typedef bg::model::ring<P, false> ring_ccw;
typedef bg::model::polygon<P, false> polygon_ccw;
typedef bg::model::multi_polygon<polygon_ccw> multi_polygon_ccw;
test_areal<ring_ccw, polygon_ccw, multi_polygon_ccw>();
typedef bg::model::linear_ring<P, true, false> ring_open;
typedef bg::model::ring<P, true, false> ring_open;
typedef bg::model::polygon<P, true, false> polygon_open;
typedef bg::model::multi_polygon<polygon_open> multi_polygon_open;
test_areal<ring_open, polygon_open, multi_polygon_open>();
typedef bg::model::linear_ring<P, false, false> ring_open_ccw;
typedef bg::model::ring<P, false, false> ring_open_ccw;
typedef bg::model::polygon<P, false, false> polygon_open_ccw;
typedef bg::model::multi_polygon<polygon_open_ccw> multi_polygon_open_ccw;
test_areal<ring_open_ccw, polygon_open_ccw, multi_polygon_open_ccw>();

View File

@ -12,7 +12,7 @@
#include <boost/geometry/extensions/gis/io/wkt/wkt.hpp>
#include <boost/geometry/geometries/box.hpp>
#include <boost/geometry/geometries/linear_ring.hpp>
#include <boost/geometry/geometries/ring.hpp>
#include <boost/geometry/geometries/linestring.hpp>
#include <boost/geometry/geometries/point.hpp>
#include <boost/geometry/geometries/polygon.hpp>

View File

@ -109,14 +109,14 @@ void test_all()
{
{
typedef bg::model::linear_ring<P> ring;
typedef bg::model::ring<P> ring;
typedef bg::model::polygon<P> polygon;
typedef bg::model::multi_polygon<polygon> multi_polygon;
test_areal<ring, polygon, multi_polygon>();
}
{
typedef bg::model::linear_ring<P, false> ring_ccw;
typedef bg::model::ring<P, false> ring_ccw;
typedef bg::model::polygon<P, false> polygon_ccw;
typedef bg::model::multi_polygon<polygon_ccw> multi_polygon_ccw;
// TODO: ccw has issues with multi-touch

View File

@ -47,7 +47,7 @@ void test_all()
test_dsv<model::polygon<P> >("POLYGON((0 0,0 4,4 4,4 0,0 0))",
"(((0, 0), (0, 4), (4, 4), (4, 0), (0, 0)))");
test_dsv<model::linear_ring<P> >("POLYGON((0 0,0 4,4 4,4 0,0 0))",
test_dsv<model::ring<P> >("POLYGON((0 0,0 4,4 4,4 0,0 0))",
"((0, 0), (0, 4), (4, 4), (4, 0), (0, 0))");
test_dsv<model::box<P> >("BOX(0 0,1 1)",

View File

@ -111,7 +111,7 @@ void test_geometry(std::string const& wkt,
template <typename P>
void test_all()
{
test_geometry<bg::model::linear_ring<P> >(
test_geometry<bg::model::ring<P> >(
"POLYGON((1 1,1 4,4 4,4 1))",
"(1, 1) (1, 4) (4, 4) (4, 1)",
"(1, 1) (1, 4) (4, 4) (4, 1) (1, 1)");

View File

@ -140,7 +140,7 @@ void test_geometry(std::string const& wkt,
template <typename P>
void test_all()
{
test_geometry<bg::model::linear_ring<P> >(
test_geometry<bg::model::ring<P> >(
"POLYGON((1 1,1 4,4 4,4 1))",
"(1, 1) (1, 4) (4, 4) (4, 1)",
"(4, 1) (4, 4) (1, 4) (1, 1)",