1#ifndef AREAS_HPP_CVK1NIAI
2#define AREAS_HPP_CVK1NIAI
4#include <vanetza/units/angle.hpp>
5#include <vanetza/units/area.hpp>
6#include <vanetza/units/length.hpp>
7#include <boost/variant.hpp>
15
16
17
18
21 CartesianPosition() : x(0.0 * units::si::meter), y(0.0 * units::si::meter) {}
22 CartesianPosition(units::Length x_, units::Length y_) : x(x_), y(y_) {}
32 latitude(0.0 * units::degree), longitude(0.0 * units::degree) {}
33 GeodeticPosition(units::GeoAngle lat, units::GeoAngle lon) :
34 latitude(lat), longitude(lon) {}
35 units::GeoAngle latitude;
36 units::GeoAngle longitude;
40
41
42
43
44
49 Circle() : r(1.0 * units::si::meters) {}
55 Rectangle() : a(1.0 * units::si::meters), b(1.0 * units::si::meters) {}
62 Ellipse() : a(1.0 * units::si::meters), b(1.0 * units::si::meters) {}
80
81
82
83
84
85
91
92
93
94
95
99
100
101
102
103
107
108
109
110
111units::Area area_size(
const Area&);
116 return geometric_function(shape, p) > 0.0;
122 return geometric_function(shape, p) < 0.0;
128 return geometric_function(shape, p) == 0.0;
134 return geometric_function(shape, p) == 1.0;
ChunckPacket is a packet consisting of several memory chunks.
ByteBufferConvertible & operator[](OsiLayer ol)
ChunkPacket & merge(ChunkPacket &packet, OsiLayer from, OsiLayer to)
const ByteBufferConvertible & layer(OsiLayer ol) const
const ByteBufferConvertible & operator[](OsiLayer ol) const
ByteBufferConvertible & layer(OsiLayer ol)
std::size_t size(OsiLayer from, OsiLayer to) const
ChunkPacket extract(OsiLayer from, OsiLayer to)
std::size_t size(OsiLayer from, OsiLayer to) const
buffer_const_range operator[](OsiLayer layer) const
void set_boundary(OsiLayer, unsigned bytes)
const ByteBuffer & buffer() const
CohesivePacket(const ByteBuffer &buffer, OsiLayer layer)
void trim(OsiLayer from, unsigned bytes)
std::size_t size(OsiLayer single_layer) const
value_type operator[](size_type) const
byte_view_range(ByteBuffer &&)
byte_view_range(const ByteBuffer::const_iterator &, const ByteBuffer::const_iterator &)
ByteBuffer::const_pointer data() const