diff DEPENDENCIES/generic/include/boost/polygon/point_traits.hpp @ 16:2665513ce2d3

Add boost headers
author Chris Cannam
date Tue, 05 Aug 2014 11:11:38 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DEPENDENCIES/generic/include/boost/polygon/point_traits.hpp	Tue Aug 05 11:11:38 2014 +0100
@@ -0,0 +1,48 @@
+// Boost.Polygon library point_traits.hpp header file
+
+// Copyright (c) Intel Corporation 2008.
+// Copyright (c) 2008-2012 Simonson Lucanus.
+// Copyright (c) 2012-2012 Andrii Sydorchuk.
+
+// See http://www.boost.org for updates, documentation, and revision history.
+// Use, modification and distribution is subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_POLYGON_POINT_TRAITS_HPP
+#define BOOST_POLYGON_POINT_TRAITS_HPP
+
+#include "isotropy.hpp"
+
+namespace boost {
+namespace polygon {
+
+template <typename PointType>
+struct point_traits {
+  typedef PointType point_type;
+  typedef typename point_type::coordinate_type coordinate_type;
+
+  static coordinate_type get(
+      const point_type& point, orientation_2d orient) {
+    return point.get(orient);
+  }
+};
+
+template <typename PointType>
+struct point_mutable_traits {
+  typedef PointType point_type;
+  typedef typename point_type::coordinate_type coordinate_type;
+
+  static void set(
+      point_type& point, orientation_2d orient, coordinate_type value) {
+    point.set(orient, value);
+  }
+
+  static point_type construct(coordinate_type x, coordinate_type y) {
+    return point_type(x, y);
+  }
+};
+}  // polygon
+}  // boost
+
+#endif  // BOOST_POLYGON_POINT_TRAITS_HPP