cheshirekow
v0.1.0
|
Represents the inversion operator described in Brown. More...
#include <mpblocks/brown79/inversion.h>
Public Types | |
typedef Traits::Point | Point |
typedef Traits::Scalar | Scalar |
Public Member Functions | |
const Point & | center () const |
return the center of this inversion map More... | |
void | init (const Point ¢er, Scalar radius=1.0) |
alter the inversion map to have a new center and radius More... | |
Inversion () | |
create an uninitialized inversion More... | |
Inversion (const Point ¢er, Scalar radius=1.0) | |
create a new inversion map with specified center and radius More... | |
Point | invert (const Point &p) |
invert a point More... | |
Point | operator() (const Point &p) |
invert a point More... | |
Scalar | radius () const |
return the radius of this inversion map More... | |
Private Attributes | |
Point | m_center |
the center of inversion More... | |
Scalar | m_radius |
the radius of inversion More... | |
Represents the inversion operator described in Brown.
An inversion has both a center and a radius. The inversion operator is self involute in the sense if the double image of the inversion is the original object.
The inverse x' of a point x is found by (x' - c) = r / |x-c|^2 (x-c). i.e. it lies on the ray from c->x and the distance from c is r / m where m is the distance from c to x, r is the radius of the inversion, and c is the center of inversion
Definition at line 44 of file inversion.h.
typedef Traits::Point mpblocks::brown79::Inversion< Traits >::Point |
Definition at line 47 of file inversion.h.
typedef Traits::Scalar mpblocks::brown79::Inversion< Traits >::Scalar |
Definition at line 46 of file inversion.h.
mpblocks::brown79::Inversion< Traits >::Inversion | ( | ) |
create an uninitialized inversion
Definition at line 32 of file inversion.hpp.
mpblocks::brown79::Inversion< Traits >::Inversion | ( | const Point & | center, |
Scalar | radius = 1.0 |
||
) |
create a new inversion map with specified center and radius
Definition at line 35 of file inversion.hpp.
const Traits::Point & mpblocks::brown79::Inversion< Traits >::center | ( | ) | const |
return the center of this inversion map
Definition at line 64 of file inversion.hpp.
void mpblocks::brown79::Inversion< Traits >::init | ( | const Point & | center, |
Scalar | radius = 1.0 |
||
) |
alter the inversion map to have a new center and radius
Definition at line 40 of file inversion.hpp.
Traits::Point mpblocks::brown79::Inversion< Traits >::invert | ( | const Point & | p | ) |
invert a point
Definition at line 46 of file inversion.hpp.
Inversion< Traits >::Point mpblocks::brown79::Inversion< Traits >::operator() | ( | const Point & | p | ) |
invert a point
Definition at line 58 of file inversion.hpp.
Traits::Scalar mpblocks::brown79::Inversion< Traits >::radius | ( | ) | const |
return the radius of this inversion map
Definition at line 69 of file inversion.hpp.
|
private |
the center of inversion
Definition at line 50 of file inversion.h.
|
private |
the radius of inversion
Definition at line 51 of file inversion.h.