DGtal  0.6.devel
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
BasicPointFunctors.h
1 
17 #pragma once
18 
32 #if defined(BasicPointFunctors_RECURSES)
33 #error Recursive header files inclusion detected in BasicPointFunctors.h
34 #else // defined(BasicPointFunctors_RECURSES)
35 
36 #define BasicPointFunctors_RECURSES
37 
38 #if !defined BasicPointFunctors_h
39 
40 #define BasicPointFunctors_h
41 
43 // Inclusions
44 #include <iostream>
45 #include <iterator>
46 #include "DGtal/base/Common.h"
47 #include "DGtal/kernel/SpaceND.h"
48 #include "DGtal/kernel/NumberTraits.h"
49 #include "DGtal/base/BasicBoolFunctions.h"
51 
52 namespace DGtal
53 {
54 
56  // template class Projector
96  template <typename S = SpaceND< 2, DGtal::int32_t > >
97  struct Projector
98  {
99  typedef S Space;
100  typedef typename Space::Dimension Dimension;
102  typedef typename Space::Integer Integer;
103  typedef typename Space::Point Point;
104 
108  Projector(const Integer& aDefaultInteger = NumberTraits<Integer>::zero());
109 
115  template<typename TIterator>
116  void init ( const TIterator& itb, const TIterator& ite );
117 
123  template<typename TInputPoint>
124  Point operator()( const TInputPoint& aPoint ) const;
125 
126  private:
131 #ifdef CPP11_ARRAY
132  std::array<Dimension,dimension> myDims;
133 #else
134  boost::array<Dimension,dimension> myDims;
135 #endif
136 
141 
142  }; // end of class ConstantPointFunctors
143 
144 
145 } // namespace DGtal
146 
147 
149 // Includes inline functions.
150 #include "DGtal/kernel/BasicPointFunctors.ih"
151 
152 // //
154 
155 #endif // !defined BasicPointFunctors_h
156 
157 #undef BasicPointFunctors_RECURSES
158 #endif // else defined(BasicPointFunctors_RECURSES)