geomc 1.0
A c++ linear algebra template library
Loading...
Searching...
No Matches
geom::Transform Concept Reference

Represents a means of transforming a point or vector. More...

#include <geomc/linalg/LinalgTypes.h>

Concept definition

template<typename Xf, typename T, index_t N>
concept geom::Transform = requires (Xf xf, Vec<T,N> p) {
{ xf * p } -> std::convertible_to<Vec<T,N>>;
{ p / xf } -> std::convertible_to<Vec<T,N>>;
{ xf * xf } -> std::convertible_to<Xf>;
{ xf.inverse() } -> std::convertible_to<Xf>;
{ xf.apply_direction(p) } -> std::convertible_to<Vec<T,N>>;
{ xf.apply_inverse_direction(p) } -> std::convertible_to<Vec<T,N>>;
{ xf *= xf } -> std::convertible_to<Xf>;
{ xf /= xf } -> std::convertible_to<Xf>;
}
A tuple of N elements of type T.
Definition Vec.h:269
Represents a means of transforming a point or vector.
Definition LinalgTypes.h:125

Detailed Description

Represents a means of transforming a point or vector.