summaryrefslogtreecommitdiff
path: root/boost/geometry/multi/strategies/cartesian/centroid_average.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/geometry/multi/strategies/cartesian/centroid_average.hpp')
-rw-r--r--boost/geometry/multi/strategies/cartesian/centroid_average.hpp97
1 files changed, 1 insertions, 96 deletions
diff --git a/boost/geometry/multi/strategies/cartesian/centroid_average.hpp b/boost/geometry/multi/strategies/cartesian/centroid_average.hpp
index f28daf20bb..ce614e2e76 100644
--- a/boost/geometry/multi/strategies/cartesian/centroid_average.hpp
+++ b/boost/geometry/multi/strategies/cartesian/centroid_average.hpp
@@ -15,102 +15,7 @@
#define BOOST_GEOMETRY_MULTI_STRATEGIES_CARTESIAN_CENTROID_AVERAGE_HPP
-#include <boost/numeric/conversion/cast.hpp>
-#include <boost/type_traits.hpp>
-
-#include <boost/geometry/core/coordinate_type.hpp>
-#include <boost/geometry/core/point_type.hpp>
-#include <boost/geometry/arithmetic/arithmetic.hpp>
-#include <boost/geometry/strategies/centroid.hpp>
-
-
-namespace boost { namespace geometry
-{
-
-namespace strategy { namespace centroid
-{
-
-
-/*!
-\brief Centroid calculation taking average of points
-\ingroup strategies
-*/
-template
-<
- typename PointCentroid,
- typename Point = PointCentroid
->
-class average
-{
-private :
-
- /*! subclass to keep state */
- class sum
- {
- friend class average;
- int count;
- PointCentroid centroid;
-
- public :
- inline sum()
- : count(0)
- {
- assign_zero(centroid);
- }
- };
-
-public :
- typedef sum state_type;
- typedef PointCentroid centroid_point_type;
- typedef Point point_type;
-
- static inline void apply(Point const& p, sum& state)
- {
- add_point(state.centroid, p);
- state.count++;
- }
-
- static inline void result(sum const& state, PointCentroid& centroid)
- {
- centroid = state.centroid;
- divide_value(centroid, state.count);
- }
-
-};
-
-
-#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS
-
-
-namespace services
-{
-
-template <typename Point, std::size_t DimensionCount, typename Geometry>
-struct default_strategy
-<
- cartesian_tag,
- pointlike_tag,
- DimensionCount,
- Point,
- Geometry
->
-{
- typedef average
- <
- Point,
- typename point_type<Geometry>::type
- > type;
-};
-
-} // namespace services
-
-#endif
-
-
-}} // namespace strategy::centroid
-
-
-}} // namespace boost::geometry
+#include <boost/geometry/strategies/cartesian/centroid_average.hpp>
#endif // BOOST_GEOMETRY_MULTI_STRATEGIES_CARTESIAN_CENTROID_AVERAGE_HPP