DGtal 1.3.0
|
Aim: Model of the concept StarShaped represents a lemniscate. More...
#include <DGtal/shapes/parametric/Lemniscate2D.h>
Public Types | |
typedef TSpace | Space |
typedef Space::RealPoint | RealPoint |
typedef Space::RealVector | RealVector |
Public Types inherited from DGtal::StarShaped2D< TSpace > | |
typedef TSpace | Space |
typedef Space::RealPoint | RealPoint |
Public Member Functions | |
Lemniscate2D ()=delete | |
Lemniscate2D (const double x0, const double y0, const double a) | |
Lemniscate2D (const RealPoint &aPoint, const double a) | |
Lemniscate2D (const Lemniscate2D &other) | |
Lemniscate2D & | operator= (const Lemniscate2D &other)=delete |
~Lemniscate2D ()=default | |
RealPoint | getLowerBound () const |
RealPoint | getUpperBound () const |
RealPoint | center () const |
void | moveTo (const RealPoint &newCenter) |
double | parameter (const RealPoint &p) const |
RealPoint | x (const double t) const |
RealVector | xp (const double t) const |
RealVector | xpp (const double t) const |
void | selfDisplay (std::ostream &out) const |
bool | isValid () const |
Public Member Functions inherited from DGtal::StarShaped2D< TSpace > | |
StarShaped2D ()=default | |
StarShaped2D (const StarShaped2D &other)=delete | |
StarShaped2D & | operator= (const StarShaped2D &other)=delete |
virtual | ~StarShaped2D ()=default |
virtual RealPoint | interiorPoint () const |
virtual RealPoint | getLowerBound () const =0 |
virtual RealPoint | getUpperBound () const =0 |
virtual RealPoint | center () const =0 |
virtual void | moveTo (const RealPoint &newCenter)=0 |
virtual double | parameter (const RealPoint &p) const =0 |
virtual RealPoint | x (const double t) const =0 |
virtual RealPoint | xp (const double t) const =0 |
virtual RealPoint | xpp (const double t) const =0 |
Orientation | orientation (const RealPoint &p) const |
RealPoint | tangent (const double t) const |
RealPoint | normal (const double t) const |
double | curvature (const double t) const |
double | arclength (const double t1, double t2, const unsigned int nb) const |
RealPoint | findIntersection (const RealPoint &inner, const RealPoint &outer, const double epsilon) const |
RealPoint | closestPointWithWitnesses (const RealPoint &p, const RealPoint &left, const RealPoint &right, const int step) const |
void | selfDisplay (std::ostream &out) const |
bool | isValid () const |
Private Member Functions | |
template<typename T > | |
bool | isAlmostEqual (T x, T y) const |
Private Attributes | |
RealPoint | myCenter |
double | myA |
Aim: Model of the concept StarShaped represents a lemniscate.
Description of template class 'Lemniscate'
Definition at line 61 of file Lemniscate2D.h.
typedef Space::RealPoint DGtal::Lemniscate2D< TSpace >::RealPoint |
Definition at line 67 of file Lemniscate2D.h.
typedef Space::RealVector DGtal::Lemniscate2D< TSpace >::RealVector |
Definition at line 68 of file Lemniscate2D.h.
typedef TSpace DGtal::Lemniscate2D< TSpace >::Space |
Definition at line 66 of file Lemniscate2D.h.
|
delete |
Constructor. Forbidden by default.
DGtal::Lemniscate2D< TSpace >::Lemniscate2D | ( | const double | x0, |
const double | y0, | ||
const double | a | ||
) |
Constructor. The absolute value of parameter a
is used.
x0 | the x-coordinate of the lemniscate center. |
y0 | the y-coordinate of the lemniscate center. |
a | semi-axis length along x-axis |
DGtal::Lemniscate2D< TSpace >::Lemniscate2D | ( | const RealPoint & | aPoint, |
const double | a | ||
) |
Constructor. The absolute value of parameter a
is used. The absolute value of a parameters is used.
aPoint | the lemniscate center |
a | semi-axis length along x-axis |
DGtal::Lemniscate2D< TSpace >::Lemniscate2D | ( | const Lemniscate2D< TSpace > & | other | ) |
Copy constructor.
other | the object to clone. |
|
default |
Destructor.
|
inlinevirtual |
Implements DGtal::StarShaped2D< TSpace >.
Definition at line 138 of file Lemniscate2D.h.
References DGtal::Lemniscate2D< TSpace >::myCenter.
|
inlinevirtual |
Implements DGtal::StarShaped2D< TSpace >.
Definition at line 121 of file Lemniscate2D.h.
References DGtal::Lemniscate2D< TSpace >::myA, and DGtal::Lemniscate2D< TSpace >::myCenter.
|
inlinevirtual |
Implements DGtal::StarShaped2D< TSpace >.
Definition at line 130 of file Lemniscate2D.h.
References DGtal::Lemniscate2D< TSpace >::myA, and DGtal::Lemniscate2D< TSpace >::myCenter.
|
inlineprivate |
Equality test using relative tolerance.
Definition at line 222 of file Lemniscate2D.h.
bool DGtal::Lemniscate2D< TSpace >::isValid | ( | ) | const |
Checks the validity/consistency of the object.
|
inlinevirtual |
Modify the shape center
newCenter | the new center position |
Implements DGtal::StarShaped2D< TSpace >.
Definition at line 148 of file Lemniscate2D.h.
References DGtal::Lemniscate2D< TSpace >::myCenter.
|
delete |
Assignment.
other | the object to copy. |
|
virtual |
p | any point in the plane. |
Implements DGtal::StarShaped2D< TSpace >.
void DGtal::Lemniscate2D< TSpace >::selfDisplay | ( | std::ostream & | out | ) | const |
Writes/Displays the object on an output stream.
out | the output stream where the object is written. |
|
virtual |
t | any angle between 0 and 2*Pi. |
Implements DGtal::StarShaped2D< TSpace >.
|
virtual |
t | any angle between 0 and 2*Pi. |
Implements DGtal::StarShaped2D< TSpace >.
|
virtual |
t | any angle between 0 and 2*Pi. |
Implements DGtal::StarShaped2D< TSpace >.
|
private |
Semi-axis length along x-axis
Definition at line 196 of file Lemniscate2D.h.
Referenced by DGtal::Lemniscate2D< TSpace >::getLowerBound(), and DGtal::Lemniscate2D< TSpace >::getUpperBound().
|
private |
Center of the circle.
Definition at line 191 of file Lemniscate2D.h.
Referenced by DGtal::Lemniscate2D< TSpace >::center(), DGtal::Lemniscate2D< TSpace >::getLowerBound(), DGtal::Lemniscate2D< TSpace >::getUpperBound(), and DGtal::Lemniscate2D< TSpace >::moveTo().