DGtal 1.3.0
Loading...
Searching...
No Matches
CNormalVectorEstimator.h
1
17#pragma once
18
31#if defined(CNormalVectorEstimator_RECURSES)
32#error Recursive header files inclusion detected in CNormalVectorEstimator.h
33#else // defined(CNormalVectorEstimator_RECURSES)
35#define CNormalVectorEstimator_RECURSES
36
37#if !defined CNormalVectorEstimator_h
39#define CNormalVectorEstimator_h
40
42// Inclusions
43#include <iostream>
44#include <boost/concept_archetype.hpp>
45#include "DGtal/base/Common.h"
46#include "DGtal/topology/CCellularGridSpaceND.h"
48
49// @since 0.8 In DGtal::concepts
50namespace DGtal {
51 namespace concepts {
52
54// class CNormalVectorEstimator
93template <typename T>
95{
96 // ----------------------- Concept checks ------------------------------
97public:
98 typedef typename T::Surface Surface;
99 typedef typename T::SCell SCell;
100 typedef typename T::ConstIterator ConstIterator;
101 typedef typename T::Quantity Quantity;
102
106
108 {
113 }
115 {
116 }
117 // ------------------------- Private Datas --------------------------------
118private:
119 T myX; // do not require T to be default constructible.
123 boost::output_iterator_archetype<Quantity> myOutIt;
124
125 // ------------------------- Internals ------------------------------------
126private:
127
128}; // end of concept CNormalVectorEstimator
129
130} // namespace concepts
131} // namespace DGtal
132
133// //
135
136#endif // !defined CNormalVectorEstimator_h
137
138#undef CNormalVectorEstimator_RECURSES
139#endif // else defined(CNormalVectorEstimator_RECURSES)
void sameType(const T &, const T &)
Definition: ConceptUtils.h:117
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: This concept describes a cellular grid space in nD. In these spaces obtained by cartesian produc...
Aim: Represents the concept of estimator of normal vector along digital surfaces.
BOOST_STATIC_ASSERT((ConceptUtils::SameType< SCell, typename Surface::SCell >::value))
BOOST_CONCEPT_ASSERT((boost::InputIterator< ConstIterator >))
boost::output_iterator_archetype< Quantity > myOutIt
BOOST_CONCEPT_ASSERT((concepts::CCellularGridSpaceND< typename Surface::KSpace >))
Go to http://www.sgi.com/tech/stl/InputIterator.html.
Definition: Boost.dox:36