DGtal  0.9.4beta
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
DGtal::Ellipse2D< TSpace > Class Template Reference

#include <DGtal/shapes/parametric/Ellipse2D.h>

Inheritance diagram for DGtal::Ellipse2D< TSpace >:
[legend]
Collaboration diagram for DGtal::Ellipse2D< TSpace >:
[legend]

Public Types

typedef TSpace Space
 
typedef Space::Point Point
 
typedef Space::RealPoint RealPoint2D
 
typedef Space::RealVector RealVector2D
 
- Public Types inherited from DGtal::StarShaped2D< TSpace >
typedef TSpace Space
 
typedef Space::Point Point
 
typedef Space::RealPoint RealPoint
 

Public Member Functions

 ~Ellipse2D ()
 
 Ellipse2D (const double x0, const double y0, const double a0, const double a1, const double theta)
 
 Ellipse2D (const RealPoint2D &aPoint, const double a0, const double a1, const double theta)
 
 Ellipse2D (const Point &aPoint, const double a0, const double a1, const double theta)
 
RealPoint2D getLowerBound () const
 
RealPoint2D getUpperBound () const
 
RealPoint2D center () const
 
double parameter (const RealPoint2D &p) const
 
RealPoint2D x (const double t) const
 
RealVector2D xp (const double t) const
 
RealVector2D xpp (const double t) const
 
void selfDisplay (std::ostream &out) const
 
bool isValid () const
 
- Public Member Functions inherited from DGtal::StarShaped2D< TSpace >
 StarShaped2D ()
 
 ~StarShaped2D ()
 
virtual RealPoint interiorPoint () const
 
Orientation orientation (const RealPoint &p) const
 
RealPoint tangent (double t) const
 
RealPoint normal (double t) const
 
double curvature (double t) const
 
double arclength (double t1, double t2, unsigned int nb) const
 
void selfDisplay (std::ostream &out) const
 
bool isValid () const
 

Protected Member Functions

 Ellipse2D ()
 

Private Member Functions

Ellipse2Doperator= (const Ellipse2D &other)
 

Private Attributes

RealPoint2D myCenter
 
double myAxis1
 
double myAxis2
 
double myTheta
 

Detailed Description

template<typename TSpace>
class DGtal::Ellipse2D< TSpace >

Aim: Model of the concept StarShaped represents any ellipse in the plane.

Description of template class 'Ellipse2D'

NB: A backport from ImaGene.

Examples:
geometry/curves/estimation/exampleCurvature.cpp.

Definition at line 64 of file Ellipse2D.h.

Member Typedef Documentation

template<typename TSpace>
typedef Space::Point DGtal::Ellipse2D< TSpace >::Point

Definition at line 70 of file Ellipse2D.h.

template<typename TSpace>
typedef Space::RealPoint DGtal::Ellipse2D< TSpace >::RealPoint2D

Definition at line 71 of file Ellipse2D.h.

template<typename TSpace>
typedef Space::RealVector DGtal::Ellipse2D< TSpace >::RealVector2D

Definition at line 72 of file Ellipse2D.h.

template<typename TSpace>
typedef TSpace DGtal::Ellipse2D< TSpace >::Space

Definition at line 69 of file Ellipse2D.h.

Constructor & Destructor Documentation

template<typename TSpace>
DGtal::Ellipse2D< TSpace >::~Ellipse2D ( )

Destructor.

template<typename TSpace>
DGtal::Ellipse2D< TSpace >::Ellipse2D ( const double  x0,
const double  y0,
const double  a0,
const double  a1,
const double  theta 
)

Constructor.

Parameters
x0the x-coordinate of the circle center.
y0the y-coordinate of the circle center.
a0the half big axis of the ellipse.
a1the half small axis of the ellipse.
thetathe orientation of the ellipse.
template<typename TSpace>
DGtal::Ellipse2D< TSpace >::Ellipse2D ( const RealPoint2D aPoint,
const double  a0,
const double  a1,
const double  theta 
)

Constructor.

Parameters
aPointthe circle center.
a0the half big axis of the ellipse.
a1the half small axis of the ellipse.
thetathe orientation of the ellipse.
template<typename TSpace>
DGtal::Ellipse2D< TSpace >::Ellipse2D ( const Point aPoint,
const double  a0,
const double  a1,
const double  theta 
)

Constructor.

Parameters
aPointthe circle center.
a0the half big axis of the ellipse.
a1the half small axis of the ellipse.
thetathe orientation of the ellipse.
template<typename TSpace>
DGtal::Ellipse2D< TSpace >::Ellipse2D ( )
protected

Constructor. Forbidden by default (protected to avoid g++ warnings).

Member Function Documentation

template<typename TSpace>
RealPoint2D DGtal::Ellipse2D< TSpace >::center ( ) const
inlinevirtual
Returns
the center of the star-shaped object.

Implements DGtal::StarShaped2D< TSpace >.

Definition at line 135 of file Ellipse2D.h.

References DGtal::Ellipse2D< TSpace >::myCenter.

136  {
137  return myCenter;
138  }
RealPoint2D myCenter
Definition: Ellipse2D.h:179
template<typename TSpace>
RealPoint2D DGtal::Ellipse2D< TSpace >::getLowerBound ( ) const
inlinevirtual
Returns
the lower bound of the shape bounding box.

Implements DGtal::StarShaped2D< TSpace >.

Definition at line 118 of file Ellipse2D.h.

References DGtal::Ellipse2D< TSpace >::myAxis1, and DGtal::Ellipse2D< TSpace >::myCenter.

119  {
120  return RealPoint2D(myCenter[0] - myAxis1, myCenter[1] - myAxis1);
121  }
Space::RealPoint RealPoint2D
Definition: Ellipse2D.h:71
RealPoint2D myCenter
Definition: Ellipse2D.h:179
template<typename TSpace>
RealPoint2D DGtal::Ellipse2D< TSpace >::getUpperBound ( ) const
inlinevirtual
Returns
the upper bound of the shape bounding box.

Implements DGtal::StarShaped2D< TSpace >.

Definition at line 127 of file Ellipse2D.h.

References DGtal::Ellipse2D< TSpace >::myAxis1, and DGtal::Ellipse2D< TSpace >::myCenter.

128  {
129  return RealPoint2D(myCenter[0] + myAxis1, myCenter[1] + myAxis1);
130  }
Space::RealPoint RealPoint2D
Definition: Ellipse2D.h:71
RealPoint2D myCenter
Definition: Ellipse2D.h:179
template<typename TSpace>
bool DGtal::Ellipse2D< TSpace >::isValid ( ) const

Checks the validity/consistency of the object.

Returns
'true' if the object is valid, 'false' otherwise.
template<typename TSpace>
Ellipse2D& DGtal::Ellipse2D< TSpace >::operator= ( const Ellipse2D< TSpace > &  other)
private

Copy constructor.

Parameters
otherthe object to clone. Forbidden by default. Assignment.
otherthe object to copy.
Returns
a reference on 'this'. Forbidden by default.
template<typename TSpace>
double DGtal::Ellipse2D< TSpace >::parameter ( const RealPoint2D p) const
virtual
Parameters
pany point in the plane.
Returns
the angle parameter between 0 and 2*Pi corresponding to this point for the shape.

Implements DGtal::StarShaped2D< TSpace >.

template<typename TSpace>
void DGtal::Ellipse2D< TSpace >::selfDisplay ( std::ostream &  out) const

Writes/Displays the object on an output stream.

Parameters
outthe output stream where the object is written.
template<typename TSpace>
RealPoint2D DGtal::Ellipse2D< TSpace >::x ( const double  t) const
virtual
Parameters
tany angle between 0 and 2*Pi.
Returns
the vector (x(t),y(t)) which is the position on the shape boundary.

Implements DGtal::StarShaped2D< TSpace >.

template<typename TSpace>
RealVector2D DGtal::Ellipse2D< TSpace >::xp ( const double  t) const
virtual
Parameters
tany angle between 0 and 2*Pi.
Returns
the vector (x'(t),y'(t)) which is the tangent to the shape boundary.

Implements DGtal::StarShaped2D< TSpace >.

template<typename TSpace>
RealVector2D DGtal::Ellipse2D< TSpace >::xpp ( const double  t) const
virtual
Parameters
tany angle between 0 and 2*Pi.
Returns
the vector (x''(t),y''(t)).

Implements DGtal::StarShaped2D< TSpace >.

Field Documentation

template<typename TSpace>
double DGtal::Ellipse2D< TSpace >::myAxis1
private
template<typename TSpace>
double DGtal::Ellipse2D< TSpace >::myAxis2
private

Second axis.

Definition at line 190 of file Ellipse2D.h.

template<typename TSpace>
RealPoint2D DGtal::Ellipse2D< TSpace >::myCenter
private
template<typename TSpace>
double DGtal::Ellipse2D< TSpace >::myTheta
private

Orientation (radian).

Definition at line 195 of file Ellipse2D.h.


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