diff options
author | zheng_wenlong <wenlong_zheng@nexty-ele.com> | 2018-11-14 12:50:56 +0900 |
---|---|---|
committer | zheng_wenlong <wenlong_zheng@nexty-ele.com> | 2018-11-14 12:50:56 +0900 |
commit | 5d98ec36d66db8897f7e3e5120b43c50f379baea (patch) | |
tree | 361fb59acf02391203101c3a59aa49c813ecb550 /demo3/vertical/tbtnavi_demo/include/mapbox/geometry/geometry.hpp | |
parent | 110215ad40cd0c24ed5ae70430e45304d5c60fe1 (diff) |
Add tbtnavi for vertical mode
Add tbtnavi for vertical mode.
This application use waltham transmitter send video to horizontal mode.
Change-Id: Icc8bb14f9c83439d90f28d0960e435a43a5e5245
Signed-off-by: zheng_wenlong <wenlong_zheng@nexty-ele.com>
Diffstat (limited to 'demo3/vertical/tbtnavi_demo/include/mapbox/geometry/geometry.hpp')
-rw-r--r-- | demo3/vertical/tbtnavi_demo/include/mapbox/geometry/geometry.hpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/demo3/vertical/tbtnavi_demo/include/mapbox/geometry/geometry.hpp b/demo3/vertical/tbtnavi_demo/include/mapbox/geometry/geometry.hpp new file mode 100644 index 0000000..a3970bf --- /dev/null +++ b/demo3/vertical/tbtnavi_demo/include/mapbox/geometry/geometry.hpp @@ -0,0 +1,53 @@ +#pragma once + +#include <mapbox/geometry/point.hpp> +#include <mapbox/geometry/line_string.hpp> +#include <mapbox/geometry/polygon.hpp> +#include <mapbox/geometry/multi_point.hpp> +#include <mapbox/geometry/multi_line_string.hpp> +#include <mapbox/geometry/multi_polygon.hpp> + +#include <mapbox/variant.hpp> + +// stl +#include <vector> + +namespace mapbox { +namespace geometry { + +template <typename T, template <typename...> class Cont = std::vector> +struct geometry_collection; + +template <typename T> +using geometry_base = mapbox::util::variant<point<T>, + line_string<T>, + polygon<T>, + multi_point<T>, + multi_line_string<T>, + multi_polygon<T>, + geometry_collection<T>>; + +template <typename T> +struct geometry : geometry_base<T> +{ + using coordinate_type = T; + using geometry_base<T>::geometry_base; + + /* + * The default constructor would create a point geometry with default-constructed coordinates; + * i.e. (0, 0). Since this is not particularly useful, and could hide bugs, it is disabled. + */ + geometry() = delete; +}; + +template <typename T, template <typename...> class Cont> +struct geometry_collection : Cont<geometry<T>> +{ + using coordinate_type = T; + using geometry_type = geometry<T>; + using container_type = Cont<geometry_type>; + using container_type::container_type; +}; + +} // namespace geometry +} // namespace mapbox |