DGtal  0.9.4beta
Public Types | Public Member Functions | Private Attributes
DGtal::concepts::CSurfelLocalEstimator< T > Struct Template Reference

#include <DGtal/geometry/surfaces/estimation/CSurfelLocalEstimator.h>

Inheritance diagram for DGtal::concepts::CSurfelLocalEstimator< T >:
[legend]
Collaboration diagram for DGtal::concepts::CSurfelLocalEstimator< T >:
[legend]

Public Types

typedef T::Quantity Quantity
 
typedef T::Surfel Surfel
 

Public Member Functions

 BOOST_CONCEPT_ASSERT ((CQuantity< Quantity >))
 
 BOOST_CONCEPT_USAGE (CSurfelLocalEstimator)
 
void check_const_constraints () const
 

Private Attributes

myX
 
double myH
 
Quantity myQ
 
boost::iterator_archetype< Surfel, boost::iterator_archetypes::readable_iterator_t, boost::forward_traversal_tag > myItb
 
boost::iterator_archetype< Surfel, boost::iterator_archetypes::readable_iterator_t, boost::forward_traversal_tag > myIte
 
boost::iterator_archetype< Quantity, boost::iterator_archetypes::writable_iterator_t, boost::incrementable_traversal_tag > myIto
 

Detailed Description

template<typename T>
struct DGtal::concepts::CSurfelLocalEstimator< T >

Aim: This concept describes an object that can process a range of surfels (that are supposed to belong to some (abstract) surface) so as to return one estimated quantity for each element of the range (or a given subrange).

Description of concept 'CSurfelLocalEstimator'

It is rather general in the sense that it does not impose a type for the shape under study. It may be a digital surface, a point predicate that defines implicitly a digital shape, an implicit function, etc. This concept has refinements specifying some cases.

Refinement of

Associated types :

Notation

Definitions

Valid expressions and semantics

Name Expression Return type Precondition Semantics Complexity
Initialization x.init( h, itb, ite )void h > 0 Grid step and range initialization in [itb,ite) model dependent
Evaluation x.eval( it ) Quantity Estimation of the quantity at it, which must belong to [itb,ite) model dependent
Evaluation ito = x.eval( itb2, ite2, ito ) a model of output iterator Estimation for each element of [itb2, ite2), which must be a subrange of or the whole range [itb,ite) model dependent
gridstep accessor x.h() double Accessor to the gridstep value O(1)

Invariants

Models

Notes

Template Parameters
Tthe type that should be a model of CSurfelLocalEstimator.

Definition at line 106 of file CSurfelLocalEstimator.h.

Member Typedef Documentation

template<typename T >
typedef T::Quantity DGtal::concepts::CSurfelLocalEstimator< T >::Quantity

Definition at line 113 of file CSurfelLocalEstimator.h.

template<typename T >
typedef T::Surfel DGtal::concepts::CSurfelLocalEstimator< T >::Surfel

Definition at line 115 of file CSurfelLocalEstimator.h.

Member Function Documentation

template<typename T >
DGtal::concepts::CSurfelLocalEstimator< T >::BOOST_CONCEPT_ASSERT ( (CQuantity< Quantity >)  )
template<typename T >
DGtal::concepts::CSurfelLocalEstimator< T >::BOOST_CONCEPT_USAGE ( CSurfelLocalEstimator< T >  )
inline

Definition at line 117 of file CSurfelLocalEstimator.h.

References DGtal::concepts::CSurfelLocalEstimator< T >::check_const_constraints(), DGtal::concepts::CSurfelLocalEstimator< T >::myH, DGtal::concepts::CSurfelLocalEstimator< T >::myItb, DGtal::concepts::CSurfelLocalEstimator< T >::myIte, DGtal::concepts::CSurfelLocalEstimator< T >::myIto, DGtal::concepts::CSurfelLocalEstimator< T >::myQ, DGtal::concepts::CSurfelLocalEstimator< T >::myX, and DGtal::concepts::ConceptUtils::sameType().

118  {
119  //init method
120  myX.init( myH, myItb, myIte );
121 
122  ConceptUtils::sameType( myQ, myX.eval( myItb ) );
125  }
boost::iterator_archetype< Quantity, boost::iterator_archetypes::writable_iterator_t, boost::incrementable_traversal_tag > myIto
boost::iterator_archetype< Surfel, boost::iterator_archetypes::readable_iterator_t, boost::forward_traversal_tag > myItb
void sameType(const T &t1, const T &t2)
boost::iterator_archetype< Surfel, boost::iterator_archetypes::readable_iterator_t, boost::forward_traversal_tag > myIte
template<typename T >
void DGtal::concepts::CSurfelLocalEstimator< T >::check_const_constraints ( ) const
inline

Field Documentation

template<typename T >
double DGtal::concepts::CSurfelLocalEstimator< T >::myH
private
template<typename T >
boost::iterator_archetype<Surfel, boost::iterator_archetypes::readable_iterator_t, boost::forward_traversal_tag > DGtal::concepts::CSurfelLocalEstimator< T >::myItb
private
template<typename T >
boost::iterator_archetype<Surfel, boost::iterator_archetypes::readable_iterator_t, boost::forward_traversal_tag > DGtal::concepts::CSurfelLocalEstimator< T >::myIte
private
template<typename T >
boost::iterator_archetype<Quantity, boost::iterator_archetypes::writable_iterator_t, boost::incrementable_traversal_tag > DGtal::concepts::CSurfelLocalEstimator< T >::myIto
private
template<typename T >
Quantity DGtal::concepts::CSurfelLocalEstimator< T >::myQ
private
template<typename T >
T DGtal::concepts::CSurfelLocalEstimator< T >::myX
private

The documentation for this struct was generated from the following file: