DGtal  1.5.beta
Knot_3_1.h
1 
17 #pragma once
18 
31 #if defined(Knot_3_1_RECURSES)
32 #error Recursive header files inclusion detected in Knot_3_1.h
33 #else // defined(Knot_3_1_RECURSES)
35 #define Knot_3_1_RECURSES
36 
37 #if !defined Knot_3_1_h
39 #define Knot_3_1_h
40 
42 // Inclusions
43 #include <iostream>
44 #include <cmath>
45 #include "DGtal/base/Common.h"
47 
48 namespace DGtal
49 {
50 
52 // class Knot_3_1
58 template <typename TSpace>
59 class Knot_3_1
60 {
61  // ----------------------- Standard services ------------------------------
62 public:
63  typedef TSpace Space;
64  typedef typename TSpace::RealPoint RealPoint;
65  typedef typename TSpace::Point Point;
66 
70  ~Knot_3_1() {}
71 
78  Knot_3_1 ( long double scale_1, long double scale_2, long double scale_3 );
79 
80 
81  // ----------------------- Interface --------------------------------------
82 public:
83 
89  RealPoint x ( long double t ) const;
90 
96  RealPoint xp ( long double t ) const;
97 
98 
103  void selfDisplay ( std::ostream & out ) const;
104 
109  bool isValid() const;
110 
111 
112  // ------------------------- Protected Datas ------------------------------
113 private:
114  // ------------------------- Private Datas --------------------------------
115 private:
116  long double scale[3];
117  // ------------------------- Hidden services ------------------------------
118 protected:
119 
125 
126 private:
127 
133  Knot_3_1 ( const Knot_3_1 & other );
134 
141  Knot_3_1 & operator= ( const Knot_3_1 & other );
142 
143 
144  // ------------------------- Internals ------------------------------------
145 private:
146 
147 }; // end of class Knot_3_1
148 
149 
156 template <typename T>
157 std::ostream&
158 operator<< ( std::ostream & out, const Knot_3_1<T> & object );
159 
160 
161 } // namespace DGtal
162 
163 
165 // Includes inline functions.
166 #if !defined(BUILD_INLINE)
167 #include "DGtal/geometry/curves/parametric/Knot_3_1.ih"
168 #endif
169 
170 
171 // //
173 
174 #endif // !defined Knot_3_1_h
175 
176 #undef Knot_3_1_RECURSES
177 #endif // else defined(Knot_3_1_RECURSES)
Aim: Implement a parametrized knot 3, 1.
Definition: Knot_3_1.h:60
TSpace::RealPoint RealPoint
Definition: Knot_3_1.h:64
TSpace Space
Definition: Knot_3_1.h:63
bool isValid() const
RealPoint xp(long double t) const
RealPoint x(long double t) const
Knot_3_1(const Knot_3_1 &other)
Knot_3_1(long double scale_1, long double scale_2, long double scale_3)
void selfDisplay(std::ostream &out) const
Knot_3_1 & operator=(const Knot_3_1 &other)
TSpace::Point Point
Definition: Knot_3_1.h:65
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ATu0v1< TKSpace, TLinearAlgebra > &object)
MyPointD Point
Definition: testClone2.cpp:383
PointVector< 3, double > RealPoint