akreon-linalg
Fixed-size linear algebra and numerical methods in C++26.
Loading...
Searching...
No Matches
affine Namespace Reference

Classes

struct  affine_traits
 meta type traits for affine map More...
 
struct  affine_traits< AffineMap< Mat > >
 derived type traits for affine map More...
 
class  AffineMap
 AffineMap class definition. More...
 
struct  Rotation2d
 Euler angle rotation about 2d plane. More...
 
struct  Rotation3d
 Euler angle rotation about 3d roll, pitch, and yaw angles. More...
 
struct  Scale
 Scale directions spanning N dim space. More...
 
struct  Shear
 Shear transform where jth component "shears" ith direction. More...
 

Concepts

concept  AffineMapLike
 concept for affine map
 

Typedefs

template<linalg::Field T>
using AffineMap2d = AffineMap< linalg::Matrix< T, 2, 2 > >
 general affine map thats 2D
 
template<linalg::Field T>
using AffineMap3d = AffineMap< linalg::Matrix< T, 3, 3 > >
 general affine map thats 3D
 
template<class AffineMap >
using affine_mat_t = typename affine_traits< linalg::remove_cvref_t< AffineMap > >::AffineMat
 alias to extract matrix type for affine map
 

Functions

template<linalg::SquareMatrix Mat>
constexpr AffineMap< Mat > make_map_id ()
 make map ID
 
template<linalg::MatrixContainer Mat>
requires (linalg::mat_rows_v<Mat> == 1)
constexpr AffineMap< Mat > make_selector_map (std::size_t idx)
 make map selector
 

Typedef Documentation

◆ affine_mat_t

template<class AffineMap >
using affine::affine_mat_t = typedef typename affine_traits<linalg::remove_cvref_t<AffineMap> >::AffineMat

alias to extract matrix type for affine map

Definition at line 28 of file affine_traits.hpp.

◆ AffineMap2d

template<linalg::Field T>
using affine::AffineMap2d = typedef AffineMap<linalg::Matrix<T, 2, 2> >

general affine map thats 2D

Definition at line 16 of file affine_map.hpp.

◆ AffineMap3d

template<linalg::Field T>
using affine::AffineMap3d = typedef AffineMap<linalg::Matrix<T, 3, 3> >

general affine map thats 3D

Definition at line 20 of file affine_map.hpp.

Function Documentation

◆ make_map_id()

template<linalg::SquareMatrix Mat>
constexpr AffineMap< Mat > affine::make_map_id ( )
constexpr

make map ID

Returns
[I; 0]

Definition at line 28 of file affine_map.hpp.

References linalg::mat_rows_v.

◆ make_selector_map()

template<linalg::MatrixContainer Mat>
requires (linalg::mat_rows_v<Mat> == 1)
constexpr AffineMap< Mat > affine::make_selector_map ( std::size_t  idx)
constexpr

make map selector

Parameters
idxselected ind
Returns
[ 0... 1.. ; 0 ]

Definition at line 43 of file affine_map.hpp.

References AK_ASSERT, and linalg::mat_rows_v.