- Main Page
- Namespaces
- Classes
- Files
- Related Pages

- Class List
- Class Hierarchy
- Class Members

# geos::algorithm::CentroidArea Class Reference

Computes the centroid of an area geometry. More...

`#include <geos/geosAlgorithm.h>`

List of all members.

## Public Member Functions
void | add (const geom::Geometry *geom)
void | add (const geom::CoordinateSequence *ring)
geom::Coordinate * | getCentroid () const
bool | getCentroid (geom::Coordinate &ret) const
| Return false if a centroid couldn't be computed.

## Detailed Description

Computes the centroid of an area geometry.

Algorithm:

Based on the usual algorithm for calculating the centroid as a weighted sum of the centroids of a decomposition of the area into (possibly overlapping) triangles. The algorithm has been extended to handle holes and multi-polygons. See `http://www.faqs.org/faqs/graphics/algorithms-faq/` for further details of the basic approach.

## Member Function Documentation

void geos::algorithm::CentroidArea::add | ( | const geom::Geometry * | geom | ) |

Adds the area defined by a Geometry to the centroid total. If the geometry has no area it does not contribute to the centroid.

Parameters:

  | geom | the geometry to add

void geos::algorithm::CentroidArea::add | ( | const geom::CoordinateSequence * | ring | ) |

Adds the area defined by an array of coordinates. The array must be a ring; i.e. end with the same coordinate as it starts with.

Parameters:

  | ring | an array of Coordinates

The documentation for this class was generated from the following file:

- CentroidArea.h