23 static std::optional<CoordinateDirection>
try_parse(std::string_view);
77 constexpr bool is_negated()
const {
return direction_ == -1; }
80 template<
typename T =
float>
81 requires std::is_arithmetic_v<T>
and std::is_signed_v<T>
84 return static_cast<T>(direction_);
88 template<
typename T =
float>
89 requires std::is_arithmetic_v<T>
108 CoordinateAxis axis_;
Definition coordinate_axis.h:13
static constexpr CoordinateAxis z()
Definition coordinate_axis.h:35
constexpr CoordinateAxis next() const
Definition coordinate_axis.h:68
static constexpr CoordinateAxis x()
Definition coordinate_axis.h:23
static constexpr CoordinateAxis y()
Definition coordinate_axis.h:29
Definition coordinate_direction.h:16
constexpr CoordinateDirection()=default
and std::is_signed_v< T > constexpr T direction() const
Definition coordinate_direction.h:82
constexpr CoordinateDirection operator-() const
Definition coordinate_direction.h:96
friend constexpr auto operator<=>(const CoordinateDirection &, const CoordinateDirection &)=default
friend constexpr CoordinateDirection cross(CoordinateDirection, CoordinateDirection)
Definition coordinate_direction.h:117
static std::optional< CoordinateDirection > try_parse(std::string_view)
constexpr CoordinateDirection(CoordinateAxis axis)
Definition coordinate_direction.h:65
static constexpr CoordinateDirection minus_y()
Definition coordinate_direction.h:44
static constexpr CoordinateDirection x()
Definition coordinate_direction.h:26
static constexpr CoordinateDirection z()
Definition coordinate_direction.h:50
constexpr Vector< T, 3 > direction_vector() const
Definition coordinate_direction.h:90
constexpr bool is_negated() const
Definition coordinate_direction.h:77
static constexpr CoordinateDirection minus_x()
Definition coordinate_direction.h:32
constexpr CoordinateAxis axis() const
Definition coordinate_direction.h:74
constexpr CoordinateDirection(CoordinateAxis axis, Negative)
Definition coordinate_direction.h:68
static constexpr CoordinateDirection minus_z()
Definition coordinate_direction.h:56
static constexpr CoordinateDirection y()
Definition coordinate_direction.h:38
constexpr Vector with_element(size_type pos, U value) const
Definition vector.h:351
Definition custom_decoration_generator.h:5
std::ostream & operator<<(std::ostream &, const Object &)
constexpr U to(T &&value)
Definition conversion.h:56
and
Definition algorithms.h:158
constexpr CoordinateDirection cross(CoordinateDirection x, CoordinateDirection y)
Definition coordinate_direction.h:117