The buffer(0)
trick is sometimes faster, but can be less robust and can sometimes take an exceptionally long time to complete. This is particularly the case where there is a high degree of overlap between the polygons. In this case, buffer(0)
is forced to compute with all line segments from the outset, whereas cascading can eliminate many segments at each stage of processing. The best case for buffer(0) is the trivial case where there is no overlap between the input geometries. However, this case is likely rare in practice.
More...
#include <CascadedPolygonUnion.h>
Public Member Functions | |
CascadedPolygonUnion (std::vector< geom::Polygon * > *polys) | |
geom::Geometry * | Union () |
Static Public Member Functions | |
geom::Geometry * | Union (std::vector< geom::Polygon * > *polys) |
geom::Geometry * | Union (const geom::MultiPolygon *polys) |
The buffer(0)
trick is sometimes faster, but can be less robust and can sometimes take an exceptionally long time to complete. This is particularly the case where there is a high degree of overlap between the polygons. In this case, buffer(0)
is forced to compute with all line segments from the outset, whereas cascading can eliminate many segments at each stage of processing. The best case for buffer(0) is the trivial case where there is no overlap between the input geometries. However, this case is likely rare in practice.
|
Creates a new instance to union the given collection of Geometrys.
|
|
Computes the union of the input geometries.
|
|
Computes the union of a collection of Polygonal Geometrys.
|
|
Computes the union of a collection of Polygonal Geometrys.
|