template<int SIZE = 2>
eckit::geometry::KPoint class

A generic point in K dimension cartesian space.

Public static variables

static const size_t DIMS

Public static functions

static auto dimensions() -> size_t
static auto distance(const KPoint& p1, const KPoint& p2) -> double
static auto distance2(const KPoint& p1, const KPoint& p2) -> double
static auto equal(const KPoint& p1, const KPoint& p2) -> bool
static auto norm(const KPoint& p1) -> double
static auto distance(const KPoint& p1, const KPoint& p2, unsigned int axis) -> double
static auto dot(const KPoint& p1, const KPoint& p2) -> double
static auto add(const KPoint& p1, const KPoint& p2) -> KPoint
static auto middle(const KPoint& p1, const KPoint& p2) -> KPoint
static auto sub(const KPoint& p1, const KPoint& p2) -> KPoint
static auto mul(const KPoint& p, double m) -> KPoint
static auto div(const KPoint& p, double m) -> KPoint
static auto componentsMin(const KPoint& p1, const KPoint& p2) -> KPoint
static auto componentsMax(const KPoint& p1, const KPoint& p2) -> KPoint
static auto normalize(const KPoint& p) -> KPoint
template<class Container>
static auto mean(const Container& points) -> Container::value_type
static auto symetrical(const KPoint& w, const KPoint& c) -> KPoint
template<class Container>
static void normalizeAll(Container& c, KPoint& offset, KPoint& scale)

Constructors, destructors, conversion operators

KPoint()
KPoint(const double* x)
template<class Container>
KPoint(Container c) explicit

Public functions

auto x(size_t axis) const -> double
auto point() const -> const KPoint&
auto point() -> KPoint&
auto data() -> double*
auto data() const -> const double*
auto operator()(const size_t& i) const -> double
auto operator<(const KPoint& other) const -> bool
void print(std::ostream& s) const
auto distance(const KPoint& p) const -> double
auto distance2(const KPoint& p) const -> double
auto operator==(const KPoint& other) const -> bool
auto operator!=(const KPoint& other) const -> bool
auto begin() const -> const double*
auto end() const -> const double*
auto operator+(const KPoint& other) const -> KPoint
auto operator-(const KPoint& other) const -> KPoint
auto operator*(const double s) const -> KPoint
void normalize(const KPoint& offset, const KPoint& scale)

Friends

auto operator<<(std::ostream& s, const KPoint& p) -> std::ostream&