ProjGeom 1.0.11
Loading...
Searching...
No Matches
Public Member Functions | List of all members
fun::Involution< Point, Line > Class Template Reference

#include <proj_plane.hpp>

Public Member Functions

constexpr Involution (Line ln_m, Point o)
 Construct a new Involution object.
 
constexpr auto operator() (const Point &pt_p) const -> Point
 Apply the involution to a point.
 
constexpr auto operator() (const Line &ln_l) const -> Line
 Apply the involution to a line.
 

Detailed Description

template<typename Point, typename Line>
requires ProjectivePlane<Point, Line>
class fun::Involution< Point, Line >
Template Parameters
Point
Line

Constructor & Destructor Documentation

◆ Involution()

template<typename Point , typename Line >
constexpr fun::Involution< Point, Line >::Involution ( Line  ln_m,
Point  o 
)
inlineconstexpr

Construct a new Involution object.

Parameters
[in]ln_m
[in]o

Member Function Documentation

◆ operator()() [1/2]

template<typename Point , typename Line >
constexpr auto fun::Involution< Point, Line >::operator() ( const Line &  ln_l) const -> Line
inlineconstexpr

Apply the involution to a line.

Returns the image of ln_l under the involution.

\[ l' = \operatorname{parametrize}(c,\; l,\; -2(l \cdot o),\; m) \]

Parameters
[in]ln_lThe line to transform
Returns
Line The transformed line

◆ operator()() [2/2]

template<typename Point , typename Line >
constexpr auto fun::Involution< Point, Line >::operator() ( const Point &  pt_p) const -> Point
inlineconstexpr

Apply the involution to a point.

Returns the image of pt_p under the involution.

\[ p' = \operatorname{parametrize}(c,\; p,\; -2(p \cdot m),\; o) \]

Parameters
[in]pt_pThe point to transform
Returns
Point The transformed point

The documentation for this class was generated from the following file: