DGtal  1.3.beta
ImplicitFunctionLinearCellEmbedder.h
1 
17 #pragma once
18 
31 #if defined(ImplicitFunctionLinearCellEmbedder_RECURSES)
32 #error Recursive header files inclusion detected in ImplicitFunctionLinearCellEmbedder.h
33 #else // defined(ImplicitFunctionLinearCellEmbedder_RECURSES)
34 
35 #define ImplicitFunctionLinearCellEmbedder_RECURSES
36 
37 #if !defined ImplicitFunctionLinearCellEmbedder_h
38 
39 #define ImplicitFunctionLinearCellEmbedder_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 TKSpace,
68  typename TImplicitFunction,
69  typename TEmbedder >
71  {
73 
74  public:
75  typedef TKSpace KSpace;
76  typedef TImplicitFunction ImplicitFunction;
77  typedef TEmbedder Embedder;
78  typedef typename KSpace::Cell Cell;
79  typedef typename KSpace::SCell SCell;
80  typedef typename KSpace::Space Space;
81  typedef typename Space::Point Point;
82  typedef typename Space::RealPoint RealPoint;
84  typedef Cell Argument;
85  typedef RealPoint Value;
86 
91 
96 
102 
110 
121 
122  // ----------------------- Interface --------------------------------------
123  public:
124 
132  RealPoint embed( const Point & p ) const;
133 
141  RealPoint embedCell( const Cell & cell ) const;
142 
151  RealPoint embedSCell( const SCell & scell ) const;
152 
160  RealPoint operator()( const Cell & cell ) const;
161 
162  // ----------------------- Interface --------------------------------------
163  public:
164 
169  void selfDisplay ( std::ostream & out ) const;
170 
175  bool isValid() const;
176 
177  // ------------------------- Protected Datas ------------------------------
178  private:
179  // ------------------------- Private Datas --------------------------------
180  private:
181 
183  const KSpace* myPtrK;
188 
189  // ------------------------- Hidden services ------------------------------
190  protected:
191 
192  private:
193 
194  }; // end of class ImplicitFunctionLinearCellEmbedder
195 
196 
203  template < typename TKSpace, typename TImplicitFunction, typename TEmbedder >
204  std::ostream&
205  operator<< ( std::ostream & out,
207 
208 } // namespace DGtal
209 
210 
212 // Includes inline functions.
213 #include "DGtal/shapes/implicit/ImplicitFunctionLinearCellEmbedder.ih"
214 
215 // //
217 
218 #endif // !defined ImplicitFunctionLinearCellEmbedder_h
219 
220 #undef ImplicitFunctionLinearCellEmbedder_RECURSES
221 #endif // else defined(ImplicitFunctionLinearCellEmbedder_RECURSES)
DGtal::ImplicitFunctionLinearCellEmbedder::embed
RealPoint embed(const Point &p) const
DGtal::ImplicitFunctionLinearCellEmbedder::ImplicitFunctionLinearCellEmbedder
ImplicitFunctionLinearCellEmbedder()
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::ImplicitFunctionLinearCellEmbedder::myPtrEmbedder
const Embedder * myPtrEmbedder
A pointer on the digital embedder.
Definition: ImplicitFunctionLinearCellEmbedder.h:187
DGtal::ImplicitFunctionLinearCellEmbedder::Argument
Cell Argument
Definition: ImplicitFunctionLinearCellEmbedder.h:84
DGtal::ImplicitFunctionLinearCellEmbedder::selfDisplay
void selfDisplay(std::ostream &out) const
K
KSpace K
Definition: testCubicalComplex.cpp:62
DGtal::ImplicitFunctionLinearCellEmbedder::SCell
KSpace::SCell SCell
Definition: ImplicitFunctionLinearCellEmbedder.h:79
DGtal::SignedKhalimskyCell
Represents a signed cell in a cellular grid space by its Khalimsky coordinates and a boolean value.
Definition: KhalimskySpaceND.h:208
DGtal::ImplicitFunctionLinearCellEmbedder::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((concepts::CImplicitFunction< TImplicitFunction >))
DGtal::ImplicitFunctionLinearCellEmbedder::embedCell
RealPoint embedCell(const Cell &cell) const
DGtal::operator<<
std::ostream & operator<<(std::ostream &out, const ATu0v1< TKSpace, TLinearAlgebra > &object)
DGtal::ImplicitFunctionLinearCellEmbedder::KSpace
TKSpace KSpace
Definition: ImplicitFunctionLinearCellEmbedder.h:75
DGtal::ImplicitFunctionLinearCellEmbedder::RealPoint
Space::RealPoint RealPoint
Definition: ImplicitFunctionLinearCellEmbedder.h:82
DGtal::SpaceND
Definition: SpaceND.h:95
DGtal::ImplicitFunctionLinearCellEmbedder::~ImplicitFunctionLinearCellEmbedder
~ImplicitFunctionLinearCellEmbedder()
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
DGtal::ImplicitFunctionLinearCellEmbedder::operator=
ImplicitFunctionLinearCellEmbedder & operator=(const ImplicitFunctionLinearCellEmbedder &other)
DGtal::ImplicitFunctionLinearCellEmbedder::embedSCell
RealPoint embedSCell(const SCell &scell) const
DGtal::concepts::CImplicitFunction
Aim: Describes any function of the form f(x), where x is some real point in the given space,...
Definition: CImplicitFunction.h:89
DGtal::ImplicitFunctionLinearCellEmbedder::Cell
KSpace::Cell Cell
Definition: ImplicitFunctionLinearCellEmbedder.h:78
DGtal::ImplicitFunctionLinearCellEmbedder::ImplicitFctValue
ImplicitFunction::Value ImplicitFctValue
Definition: ImplicitFunctionLinearCellEmbedder.h:83
DGtal::ImplicitFunctionLinearCellEmbedder::Point
Space::Point Point
Definition: ImplicitFunctionLinearCellEmbedder.h:81
DGtal::ImplicitFunctionLinearCellEmbedder::Space
KSpace::Space Space
Definition: ImplicitFunctionLinearCellEmbedder.h:80
DGtal::ImplicitFunctionLinearCellEmbedder::ImplicitFunction
TImplicitFunction ImplicitFunction
Definition: ImplicitFunctionLinearCellEmbedder.h:76
DGtal::ImplicitFunctionLinearCellEmbedder::Value
RealPoint Value
Definition: ImplicitFunctionLinearCellEmbedder.h:85
DGtal::ImplicitFunctionLinearCellEmbedder::myPtrK
const KSpace * myPtrK
A pointer on the cellular grid space.
Definition: ImplicitFunctionLinearCellEmbedder.h:183
DGtal::ImplicitFunctionLinearCellEmbedder::isValid
bool isValid() const
DGtal::ImplicitFunctionLinearCellEmbedder::Embedder
TEmbedder Embedder
Definition: ImplicitFunctionLinearCellEmbedder.h:77
DGtal::PointVector< dim, Integer >
DGtal::ImplicitFunctionLinearCellEmbedder
Aim: a cellular embedder for implicit functions, (default constructible, copy constructible,...
Definition: ImplicitFunctionLinearCellEmbedder.h:70
DGtal::ImplicitFunctionLinearCellEmbedder::init
void init(ConstAlias< KSpace > K, ConstAlias< ImplicitFunction > f, ConstAlias< Embedder > e)
DGtal::ImplicitFunctionLinearCellEmbedder::myPtrFct
const ImplicitFunction * myPtrFct
A pointer on the implicit function.
Definition: ImplicitFunctionLinearCellEmbedder.h:185
DGtal::ImplicitFunctionLinearCellEmbedder::operator()
RealPoint operator()(const Cell &cell) const
Value
double Value
Definition: testSimpleRandomAccessRangeFromPoint.cpp:38
DGtal::KhalimskyCell< dim, Integer >