devela/num/geom/metric/
position.rs

1// devela::num::geom::metric::position
2//
3//! Defines [`Position`].
4//
5
6#[cfg(doc)]
7use crate::{Distance, Orientation};
8
9/// A location in `D`-dimensional space.
10///
11/// Represents an absolute position in a coordinate system.
12///
13/// - Unlike [`Distance`], `Position` is **not relative**, it describes
14///   a fixed location rather than a displacement.
15/// - Unlike [`Orientation`], `Position` has **magnitude and reference**,
16///   but no inherent orientation.
17#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
18pub struct Position<T, const D: usize> {
19    /// The coordinate values in `D`-dimensional space.
20    pub dim: [T; D],
21}