DGtal  1.0.0
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
DGtal::EllipticHelix< TSpace > Class Template Reference

Aim: Implement a parametric curve – elliptic helix. More...

#include <DGtal/geometry/curves/parametric/EllipticHelix.h>

Public Types

typedef TSpace Space
 
typedef TSpace::RealPoint RealPoint
 
typedef TSpace::Point Point
 

Public Member Functions

 ~EllipticHelix ()
 
 EllipticHelix (long double rr, long double rl, long double bb)
 
RealPoint x (long double t) const
 
RealPoint xp (long double t) const
 
long double f (const RealPoint &p) const
 inverse function of x More...
 
long double g (const RealPoint &p) const
 inverse function of y More...
 
long double h (const RealPoint &p) const
 inverse function of z More...
 
void selfDisplay (std::ostream &out) const
 
bool isValid () const
 

Static Public Member Functions

static double getPeriod ()
 

Protected Member Functions

 EllipticHelix ()
 

Private Member Functions

 EllipticHelix (const EllipticHelix &other)
 
EllipticHelixoperator= (const EllipticHelix &other)
 

Private Attributes

long double r1
 
long double r2
 
long double b
 

Static Private Attributes

static constexpr double PERIOD = M_PI * 2.0
 

Detailed Description

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

Aim: Implement a parametric curve – elliptic helix.

Description of class 'EllipticHelix'

Template Parameters
TSpacemodel of CSpace

Definition at line 59 of file EllipticHelix.h.

Member Typedef Documentation

◆ Point

template<typename TSpace>
typedef TSpace::Point DGtal::EllipticHelix< TSpace >::Point

Definition at line 65 of file EllipticHelix.h.

◆ RealPoint

template<typename TSpace>
typedef TSpace::RealPoint DGtal::EllipticHelix< TSpace >::RealPoint

Definition at line 64 of file EllipticHelix.h.

◆ Space

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

Definition at line 63 of file EllipticHelix.h.

Constructor & Destructor Documentation

◆ ~EllipticHelix()

template<typename TSpace>
DGtal::EllipticHelix< TSpace >::~EllipticHelix ( )
inline

Destructor.

Definition at line 70 of file EllipticHelix.h.

70 {}

◆ EllipticHelix() [1/3]

template<typename TSpace>
DGtal::EllipticHelix< TSpace >::EllipticHelix ( long double  rr,
long double  rl,
long double  bb 
)

Constructor.

Parameters
rrsmall radius of the helix
rlbig radius of the helix
bbdistance between each turn.

◆ EllipticHelix() [2/3]

template<typename TSpace>
DGtal::EllipticHelix< TSpace >::EllipticHelix ( )
protected

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

◆ EllipticHelix() [3/3]

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

Copy constructor.

Parameters
otherthe object to clone. Forbidden by default.

Member Function Documentation

◆ f()

template<typename TSpace>
long double DGtal::EllipticHelix< TSpace >::f ( const RealPoint p) const

inverse function of x

Parameters
p= x(t)
Returns
t

◆ g()

template<typename TSpace>
long double DGtal::EllipticHelix< TSpace >::g ( const RealPoint p) const

inverse function of y

Parameters
p= x(t)[
Returns
t

◆ getPeriod()

template<typename TSpace>
static double DGtal::EllipticHelix< TSpace >::getPeriod ( )
static

◆ h()

template<typename TSpace>
long double DGtal::EllipticHelix< TSpace >::h ( const RealPoint p) const

inverse function of z

Parameters
p= x(t)
Returns
t

◆ isValid()

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

Checks the validity/consistency of the object.

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

◆ operator=()

template<typename TSpace>
EllipticHelix& DGtal::EllipticHelix< TSpace >::operator= ( const EllipticHelix< TSpace > &  other)
private

Assignment.

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

◆ selfDisplay()

template<typename TSpace>
void DGtal::EllipticHelix< 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::EllipticHelix< TSpace >::x ( long double  t) const
Parameters
tany angle between 0 and k*Pi.
Returns
the vector (x(t), y(t), z(t))

◆ xp()

template<typename TSpace>
RealPoint DGtal::EllipticHelix< TSpace >::xp ( long double  t) const
Parameters
tany angle between 0 and k*Pi.
Returns
the vector (x(t)', y(t)', z(t)')

Field Documentation

◆ b

template<typename TSpace>
long double DGtal::EllipticHelix< TSpace >::b
private

Definition at line 137 of file EllipticHelix.h.

◆ PERIOD

template<typename TSpace>
constexpr double DGtal::EllipticHelix< TSpace >::PERIOD = M_PI * 2.0
staticprivate

Definition at line 168 of file EllipticHelix.h.

◆ r1

template<typename TSpace>
long double DGtal::EllipticHelix< TSpace >::r1
private

Definition at line 137 of file EllipticHelix.h.

◆ r2

template<typename TSpace>
long double DGtal::EllipticHelix< TSpace >::r2
private

Definition at line 137 of file EllipticHelix.h.


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