DGtal 1.3.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes
DGtal::NGon2D< TSpace > Class Template Referencefinal

Aim: Model of the concept StarShaped represents any regular k-gon in the plane. More...

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

Inheritance diagram for DGtal::NGon2D< TSpace >:
DGtal::StarShaped2D< TSpace >

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

 NGon2D ()=delete
 
 NGon2D (const double x0, const double y0, const double r, const unsigned int k, const double phi)
 
 NGon2D (const RealPoint &aPoint, const double r, const unsigned int k, const double phi)
 
 NGon2D (const NGon2D &other)
 
NGon2Doperator= (const NGon2D &other)=delete
 
 ~NGon2D ()=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
 
StarShaped2Doperator= (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 Attributes

RealPoint myCenter
 
double myRadius
 
unsigned int myK
 
double myPhi
 

Detailed Description

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

Aim: Model of the concept StarShaped represents any regular k-gon in the plane.

Description of template class 'NGon2D'

NB: A backport from ImaGene.

Definition at line 63 of file NGon2D.h.

Member Typedef Documentation

◆ RealPoint

template<typename TSpace >
typedef Space::RealPoint DGtal::NGon2D< TSpace >::RealPoint

Definition at line 69 of file NGon2D.h.

◆ RealVector

template<typename TSpace >
typedef Space::RealVector DGtal::NGon2D< TSpace >::RealVector

Definition at line 70 of file NGon2D.h.

◆ Space

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

Definition at line 68 of file NGon2D.h.

Constructor & Destructor Documentation

◆ NGon2D() [1/4]

template<typename TSpace >
DGtal::NGon2D< TSpace >::NGon2D ( )
delete

Constructor. Forbidden by default.

◆ NGon2D() [2/4]

template<typename TSpace >
DGtal::NGon2D< TSpace >::NGon2D ( const double  x0,
const double  y0,
const double  r,
const unsigned int  k,
const double  phi 
)

Constructor.

Parameters
x0the x-coordinate of the circle center.
y0the y-coordinate of the circle center.
rthe radius of the circle.
kthe number of faces of the k-gon.
phithe phase of the ngon (radian).

◆ NGon2D() [3/4]

template<typename TSpace >
DGtal::NGon2D< TSpace >::NGon2D ( const RealPoint aPoint,
const double  r,
const unsigned int  k,
const double  phi 
)

Constructor.

Parameters
aPointthe circle center.
rthe radius of the circle.
kthe number of faces of the k-gon.
phithe phase of the ngon (radian).

◆ NGon2D() [4/4]

template<typename TSpace >
DGtal::NGon2D< TSpace >::NGon2D ( const NGon2D< TSpace > &  other)

Copy constructor.

Parameters
otherthe object to clone.

◆ ~NGon2D()

template<typename TSpace >
DGtal::NGon2D< TSpace >::~NGon2D ( )
default

Destructor.

Member Function Documentation

◆ center()

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

Implements DGtal::StarShaped2D< TSpace >.

Definition at line 143 of file NGon2D.h.

144 {
145 return myCenter;
146 }
RealPoint myCenter
Definition: NGon2D.h:197

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

◆ getLowerBound()

template<typename TSpace >
RealPoint DGtal::NGon2D< TSpace >::getLowerBound ( ) const
inlinevirtual
Returns
the lower bound of the shape bounding box.

Implements DGtal::StarShaped2D< TSpace >.

Definition at line 126 of file NGon2D.h.

127 {
128 return myCenter - myRadius;
129 }
double myRadius
Definition: NGon2D.h:202

References DGtal::NGon2D< TSpace >::myCenter, and DGtal::NGon2D< TSpace >::myRadius.

◆ getUpperBound()

template<typename TSpace >
RealPoint DGtal::NGon2D< TSpace >::getUpperBound ( ) const
inlinevirtual
Returns
the upper bound of the shape bounding box.

Implements DGtal::StarShaped2D< TSpace >.

Definition at line 135 of file NGon2D.h.

136 {
137 return myCenter + myRadius;
138 }

References DGtal::NGon2D< TSpace >::myCenter, and DGtal::NGon2D< TSpace >::myRadius.

◆ isValid()

template<typename TSpace >
bool DGtal::NGon2D< TSpace >::isValid ( ) const

Checks the validity/consistency of the object.

Returns
'true' if the object is valid, 'false' otherwise.

◆ moveTo()

template<typename TSpace >
void DGtal::NGon2D< TSpace >::moveTo ( const RealPoint newCenter)
inlinevirtual

Modify the shape center

Parameters
newCenterthe new center position

Implements DGtal::StarShaped2D< TSpace >.

Definition at line 153 of file NGon2D.h.

154 {
155 myCenter = newCenter;
156 }

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

◆ operator=()

template<typename TSpace >
NGon2D & DGtal::NGon2D< TSpace >::operator= ( const NGon2D< TSpace > &  other)
delete

Assignment.

Parameters
otherthe object to copy.
Returns
a reference on 'this'. Forbidden by default.

◆ parameter()

template<typename TSpace >
double DGtal::NGon2D< TSpace >::parameter ( const RealPoint 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 >.

◆ selfDisplay()

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

Writes/Displays the object on an output stream.

Parameters
outthe output stream where the object is written.

◆ x()

template<typename TSpace >
RealPoint DGtal::NGon2D< 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 >.

◆ xp()

template<typename TSpace >
RealVector DGtal::NGon2D< 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 >.

◆ xpp()

template<typename TSpace >
RealVector DGtal::NGon2D< 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

◆ myCenter

template<typename TSpace >
RealPoint DGtal::NGon2D< TSpace >::myCenter
private

◆ myK

template<typename TSpace >
unsigned int DGtal::NGon2D< TSpace >::myK
private

Number of sides of the ngon.

Definition at line 207 of file NGon2D.h.

◆ myPhi

template<typename TSpace >
double DGtal::NGon2D< TSpace >::myPhi
private

Phase of the ngon (radian).

Definition at line 212 of file NGon2D.h.

◆ myRadius

template<typename TSpace >
double DGtal::NGon2D< TSpace >::myRadius
private

Radius of the circle.

Definition at line 202 of file NGon2D.h.

Referenced by DGtal::NGon2D< TSpace >::getLowerBound(), and DGtal::NGon2D< TSpace >::getUpperBound().


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