DGtal  0.6.devel
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Private Attributes
DGtal::CDigitalSurfaceContainer< T > Struct Template Reference

#include <CDigitalSurfaceContainer.h>

Collaboration diagram for DGtal::CDigitalSurfaceContainer< T >:
Collaboration graph
[legend]

Public Types

typedef T::KSpace KSpace
typedef T::Surfel Surfel
typedef T::SurfelConstIterator SurfelConstIterator
typedef T::DigitalSurfaceTracker DigitalSurfaceTracker
typedef T::Size Size

Public Member Functions

 BOOST_CONCEPT_ASSERT ((boost_concepts::SinglePassIteratorConcept< SurfelConstIterator >))
 BOOST_CONCEPT_ASSERT ((CCellularGridSpaceND< KSpace >))
 BOOST_CONCEPT_ASSERT ((CDigitalSurfaceTracker< DigitalSurfaceTracker >))
 BOOST_CONCEPT_USAGE (CDigitalSurfaceContainer)
void checkConstConstraints () const

Private Attributes

myX
KSpace myKSpace
Surfel mySurfel
bool myBool
SurfelConstIterator mySurfelCIt
DigitalSurfaceTrackermyPtrTracker
Connectedness myConnectedness
Size mySize

Detailed Description

template<typename T>
struct DGtal::CDigitalSurfaceContainer< T >

Aim:

Description of concept 'CDigitalSurfaceContainer'

Refinement of boost_concepts::CopyConstructible

Associated types :

- KSpace: the type of cellular grid space in which lies the digital surface.
- Surfel: the type of an oriented n-1-cell in this space.
- SurfelConstIterator: the type for iterating over the of surfels of the digital surface, must be a model of boost_concepts::SinglePassIteratorConcept
- DigitalSurfaceTracker: the type for tracking surfels over the digital surface
- Size: the integral type for counting elements.

Notation

Definitions

Valid expressions and

Name Expression Type requirements Return type Precondition Semantics Postcondition Complexity
Space accessor x.space() const KSpace & Returns a reference to the cellular grid space in which lies the digital surface.
Inside test x.isInside( s ) bool Returns true iff the surfel s belongs to this digital surface.
Beginning of range x.begin() SurfelConstIterator Returns a const iterator pointing to the first element in the digital surface, seen as a collection of surfels.
End of range x.end() SurfelConstIterator Returns an iterator pointing one past the last element in the digital surface, seen as a collection of surfels.
Tracker instanciation x.newTracker( s ) DigitalSurfaceTracker* Returns a dynamically allocated instance of tracker initialized at the surfel s.
Connectedness test x.connectedness() enum Connectedness Returns either DISCONNECTED, CONNECTED, UNKNOWN depending on the surface.
Number of surfels x.nbSurfels() Size Returns the number of surfels of this surface.
Empty container test x.empty() bool Equivalent to x.size() == 0, but possibly faster.

Invariants

Models

DigitalSetBoundary, SetOfSurfels, ImplicitDigitalSurface, LightImplicitDigitalSurface, ExplicitDigitalSurface, LightExplicitDigitalSurface

Notes

Template Parameters:
Tthe type that should be a model of CDigitalSurfaceContainer.

Definition at line 183 of file CDigitalSurfaceContainer.h.


Member Typedef Documentation

template<typename T >
typedef T::DigitalSurfaceTracker DGtal::CDigitalSurfaceContainer< T >::DigitalSurfaceTracker

Definition at line 190 of file CDigitalSurfaceContainer.h.

template<typename T >
typedef T::KSpace DGtal::CDigitalSurfaceContainer< T >::KSpace

Definition at line 187 of file CDigitalSurfaceContainer.h.

template<typename T >
typedef T::Size DGtal::CDigitalSurfaceContainer< T >::Size

Definition at line 191 of file CDigitalSurfaceContainer.h.

template<typename T >
typedef T::Surfel DGtal::CDigitalSurfaceContainer< T >::Surfel

Definition at line 188 of file CDigitalSurfaceContainer.h.

template<typename T >
typedef T::SurfelConstIterator DGtal::CDigitalSurfaceContainer< T >::SurfelConstIterator

Definition at line 189 of file CDigitalSurfaceContainer.h.


Member Function Documentation

template<typename T >
DGtal::CDigitalSurfaceContainer< T >::BOOST_CONCEPT_ASSERT ( (boost_concepts::SinglePassIteratorConcept< SurfelConstIterator >)  )
template<typename T >
DGtal::CDigitalSurfaceContainer< T >::BOOST_CONCEPT_ASSERT ( (CCellularGridSpaceND< KSpace >)  )
template<typename T >
DGtal::CDigitalSurfaceContainer< T >::BOOST_CONCEPT_ASSERT ( (CDigitalSurfaceTracker< DigitalSurfaceTracker >)  )
template<typename T >
DGtal::CDigitalSurfaceContainer< T >::BOOST_CONCEPT_USAGE ( CDigitalSurfaceContainer< T >  )
inline

Definition at line 198 of file CDigitalSurfaceContainer.h.

References DGtal::CDigitalSurfaceContainer< T >::checkConstConstraints().

{
// check const methods.
}
template<typename T >
void DGtal::CDigitalSurfaceContainer< T >::checkConstConstraints ( ) const
inline

Definition at line 203 of file CDigitalSurfaceContainer.h.

References DGtal::CDigitalSurfaceContainer< T >::myBool, DGtal::CDigitalSurfaceContainer< T >::myConnectedness, DGtal::CDigitalSurfaceContainer< T >::myKSpace, DGtal::CDigitalSurfaceContainer< T >::myPtrTracker, DGtal::CDigitalSurfaceContainer< T >::mySize, DGtal::CDigitalSurfaceContainer< T >::mySurfel, DGtal::CDigitalSurfaceContainer< T >::mySurfelCIt, DGtal::CDigitalSurfaceContainer< T >::myX, and DGtal::ConceptUtils::sameType().

Referenced by DGtal::CDigitalSurfaceContainer< T >::BOOST_CONCEPT_USAGE().

{
// x.space() const, returns a const KSpace &
// x.isInside( Surfel ) const, returns bool.
// x.begin() const, returns SurfelConstIterator
// x.end() const, returns SurfelConstIterator
// x.newTracker( Surfel ) const, returns DigitalSurfaceTracker*
// x.connectedness() const, returns Connectedness
// x.nbSurfels() const, returns Connectedness
// x.empty() const, returns bool
}

Field Documentation

template<typename T >
bool DGtal::CDigitalSurfaceContainer< T >::myBool
private
template<typename T >
Connectedness DGtal::CDigitalSurfaceContainer< T >::myConnectedness
private
template<typename T >
KSpace DGtal::CDigitalSurfaceContainer< T >::myKSpace
private
template<typename T >
DigitalSurfaceTracker* DGtal::CDigitalSurfaceContainer< T >::myPtrTracker
private
template<typename T >
Size DGtal::CDigitalSurfaceContainer< T >::mySize
private
template<typename T >
Surfel DGtal::CDigitalSurfaceContainer< T >::mySurfel
private
template<typename T >
SurfelConstIterator DGtal::CDigitalSurfaceContainer< T >::mySurfelCIt
private
template<typename T >
T DGtal::CDigitalSurfaceContainer< T >::myX
private

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