DGtal  1.3.beta
NormalVectorEstimatorLinearCellEmbedder.h
1 
17 #pragma once
18 
31 #if defined(NormalVectorEstimatorLinearCellEmbedder_RECURSES)
32 #error Recursive header files inclusion detected in NormalVectorEstimatorLinearCellEmbedder.h
33 #else // defined(NormalVectorEstimatorLinearCellEmbedder_RECURSES)
34 
35 #define NormalVectorEstimatorLinearCellEmbedder_RECURSES
36 
37 #if !defined NormalVectorEstimatorLinearCellEmbedder_h
38 
39 #define NormalVectorEstimatorLinearCellEmbedder_h
40 
42 // Inclusions
43 #include <iostream>
44 #include "DGtal/base/Common.h"
45 #include "DGtal/base/ConstAlias.h"
46 #include "DGtal/kernel/NumberTraits.h"
47 #include "DGtal/shapes/implicit/CImplicitFunction.h"
49 
50 namespace DGtal
51 {
52 
54 
67  template < typename TDigitalSurface,
68  typename TNormalVectorEstimator,
69  typename TEmbedder >
71  {
72 
73  public:
74  typedef TDigitalSurface DigitalSurface;
75  typedef TNormalVectorEstimator NormalVectorEstimator;
76  typedef TEmbedder Embedder;
81  typedef typename NormalVectorEstimator::Quantity Quantity;
82 
93 
98 
99  // ----------------------- Interface --------------------------------------
100  public:
101 
102 
110  RealPoint embed( const Point & p ) const;
111 
119  RealPoint embedSurfel( const ConstIterator & it ) const;
120 
130  void embedSurfel( const ConstIterator & surfelIt, RealPoint & x, RealVector & grad ) const;
131 
132 
133  // ----------------------- Interface --------------------------------------
134  public:
135 
140  void selfDisplay ( std::ostream & out ) const;
141 
146  bool isValid() const;
147 
148  // ------------------------- Protected Datas ------------------------------
149  private:
150  // ------------------------- Private Datas --------------------------------
151  private:
152 
159 
160  // ------------------------- Hidden services ------------------------------
161  protected:
163 
164  private:
165 
166  }; // end of class NormalVectorEstimatorLinearCellEmbedder
167 
168 
175  template < typename TDigitalSurface, typename TNormalVectorEstimator, typename TEmbedder >
176  std::ostream&
177  operator<< ( std::ostream & out,
179 
180 } // namespace DGtal
181 
182 
184 // Includes inline functions.
185 #include "DGtal/geometry/surfaces/estimation/NormalVectorEstimatorLinearCellEmbedder.ih"
186 
187 // //
189 
190 #endif // !defined NormalVectorEstimatorLinearCellEmbedder_h
191 
192 #undef NormalVectorEstimatorLinearCellEmbedder_RECURSES
193 #endif // else defined(NormalVectorEstimatorLinearCellEmbedder_RECURSES)
DGtal::NormalVectorEstimatorLinearCellEmbedder
Aim: model of cellular embedder for normal vector estimators on digital surface, (default constructib...
Definition: NormalVectorEstimatorLinearCellEmbedder.h:70
DGtal::DigitalSurface::ConstIterator
DigitalSurfaceContainer::SurfelConstIterator ConstIterator
Definition: DigitalSurface.h:163
DGtal::ConstAlias
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
Definition: ConstAlias.h:186
DGtal::NormalVectorEstimatorLinearCellEmbedder::RealVector
DigitalSurface::KSpace::Space::RealVector RealVector
Definition: NormalVectorEstimatorLinearCellEmbedder.h:80
DGtal::NormalVectorEstimatorLinearCellEmbedder::~NormalVectorEstimatorLinearCellEmbedder
~NormalVectorEstimatorLinearCellEmbedder()
DGtal::NormalVectorEstimatorLinearCellEmbedder::NormalVectorEstimator
TNormalVectorEstimator NormalVectorEstimator
Definition: NormalVectorEstimatorLinearCellEmbedder.h:75
DGtal::NormalVectorEstimatorLinearCellEmbedder::Embedder
TEmbedder Embedder
Definition: NormalVectorEstimatorLinearCellEmbedder.h:76
DGtal::NormalVectorEstimatorLinearCellEmbedder::mySurface
const DigitalSurface & mySurface
A pointer on the digital surface.
Definition: NormalVectorEstimatorLinearCellEmbedder.h:154
DGtal::NormalVectorEstimatorLinearCellEmbedder::embed
RealPoint embed(const Point &p) const
DGtal::NormalVectorEstimatorLinearCellEmbedder::myPtrEmbedder
const Embedder & myPtrEmbedder
A pointer on the digital embedder.
Definition: NormalVectorEstimatorLinearCellEmbedder.h:158
DGtal::operator<<
std::ostream & operator<<(std::ostream &out, const ATu0v1< TKSpace, TLinearAlgebra > &object)
DGtal::NormalVectorEstimatorLinearCellEmbedder::NormalVectorEstimatorLinearCellEmbedder
NormalVectorEstimatorLinearCellEmbedder()
DGtal::NormalVectorEstimatorLinearCellEmbedder::Point
DigitalSurface::KSpace::Point Point
Definition: NormalVectorEstimatorLinearCellEmbedder.h:78
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
DGtal::NormalVectorEstimatorLinearCellEmbedder::DigitalSurface
TDigitalSurface DigitalSurface
Definition: NormalVectorEstimatorLinearCellEmbedder.h:74
DGtal::NormalVectorEstimatorLinearCellEmbedder::embedSurfel
RealPoint embedSurfel(const ConstIterator &it) const
DGtal::NormalVectorEstimatorLinearCellEmbedder::ConstIterator
DigitalSurface::ConstIterator ConstIterator
Definition: NormalVectorEstimatorLinearCellEmbedder.h:77
DGtal::NormalVectorEstimatorLinearCellEmbedder::isValid
bool isValid() const
RealVector
Space::RealVector RealVector
Definition: fullConvexitySphereGeodesics.cpp:113
DGtal::NormalVectorEstimatorLinearCellEmbedder::selfDisplay
void selfDisplay(std::ostream &out) const
DGtal::NormalVectorEstimatorLinearCellEmbedder::Quantity
NormalVectorEstimator::Quantity Quantity
Definition: NormalVectorEstimatorLinearCellEmbedder.h:81
DGtal::NormalVectorEstimatorLinearCellEmbedder::RealPoint
DigitalSurface::KSpace::Space::RealPoint RealPoint
Definition: NormalVectorEstimatorLinearCellEmbedder.h:79
Point
MyPointD Point
Definition: testClone2.cpp:383
RealPoint
Z2i::RealPoint RealPoint
Definition: testAstroid2D.cpp:46
DGtal::NormalVectorEstimatorLinearCellEmbedder::myPtrFct
const NormalVectorEstimator & myPtrFct
A pointer on the normal vector estimator.
Definition: NormalVectorEstimatorLinearCellEmbedder.h:156