EmrysFilter 0.1.0
State estimation utilities in C++23 using Eigen
Loading...
Searching...
No Matches
Coordinates.h File Reference

The coordinate types (decisions.md [no-bounded-coordinates]): Linear, plain coordinates, and Periodic, coordinates that wrap at the ends of an interval, with the named angles RadiansPi, Radians2Pi, Degrees180, and Degrees360. More...

#include <limits>
#include <numbers>
#include <EmrysFilter/Core/Macros.h>
#include <EmrysFilter/Spaces/Space.h>

Go to the source code of this file.

Classes

struct  Emrys::Linear< Dimension_, MaxDimension_ >
 Dimension_ plain coordinates, or a resizable run of at most MaxDimension_ of them if Dimension_ is Eigen::Dynamic. More...
struct  Emrys::PeriodicInterval
 Where a Periodic coordinate's values lie: the half-open interval [lower, upper), whose width is the period. More...
class  Emrys::Periodic< Interval, Dimension_, MaxDimension_ >
 Dimension_ coordinates that wrap with a common period, such as angles or DFT bins. More...

Typedefs

template<int Dimension = 1, int MaxDimension = Dimension>
using Emrys::RadiansPi
 Dimension angles in radians, in [-π, π).
template<int Dimension = 1, int MaxDimension = Dimension>
using Emrys::Radians2Pi = Periodic<PeriodicInterval{.lower = 0.0, .upper = 2 * std::numbers::pi}, Dimension, MaxDimension>
 Dimension angles in radians, in [0, 2π).
template<int Dimension = 1, int MaxDimension = Dimension>
using Emrys::Degrees180 = Periodic<PeriodicInterval{.lower = -180.0, .upper = 180.0}, Dimension, MaxDimension>
 Dimension angles in degrees, in [-180, 180).
template<int Dimension = 1, int MaxDimension = Dimension>
using Emrys::Degrees360 = Periodic<PeriodicInterval{.lower = 0.0, .upper = 360.0}, Dimension, MaxDimension>
 Dimension angles in degrees, in [0, 360), such as a compass heading.

Detailed Description

The coordinate types (decisions.md [no-bounded-coordinates]): Linear, plain coordinates, and Periodic, coordinates that wrap at the ends of an interval, with the named angles RadiansPi, Radians2Pi, Degrees180, and Degrees360.

Each takes a dimension and a maximum dimension, as Eigen's matrices do, and a fixed one is an empty type. Read Composite.h next.