DGtal  0.6.devel
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Data Structures | Public Types | Static Public Member Functions | Static Public Attributes | Private Member Functions
DGtal::SpaceND< dim, TInteger > Class Template Reference

#include <SpaceND.h>

Inheritance diagram for DGtal::SpaceND< dim, TInteger >:
Inheritance graph
[legend]

Data Structures

struct  Subcospace
 Define the type of a sub co-Space. More...
struct  Subspace
 Define the type of a subspace. More...

Public Types

typedef TInteger Integer
typedef NumberTraits< Integer >
::UnsignedVersion 
UnsignedInteger
typedef UnsignedInteger Size
typedef PointVector< dim, IntegerPoint
typedef PointVector< dim, IntegerVector
typedef PointVector< dim, double > RealPoint
typedef PointVector< dim, double > RealVector
typedef SpaceND< dim, IntegerSpace
typedef Space Self
typedef DGtal::Dimension Dimension

Static Public Member Functions

static void selfDisplay (std::ostream &out)

Static Public Attributes

static const Dimension dimension = dim

Private Member Functions

 BOOST_CONCEPT_ASSERT ((CInteger< TInteger >))
 BOOST_CONCEPT_ASSERT ((CCommutativeRing< TInteger >))
SpaceNDoperator= (const SpaceND &other)
 SpaceND ()
 ~SpaceND ()

Detailed Description

template<Dimension dim, typename TInteger = DGtal::int32_t>
class DGtal::SpaceND< dim, TInteger >

Aim: SpaceND is a utility class that defines the fundamental structure of a Digital Space in ND.

 Description of class 'SpaceND' <p>

 This class just defines fundamental types associated to a digital
 space in dimension n. For instance, it specifies the type of a
 Point lying in this space, the type of a Vector or the type of subspace.

 @tparam dim static constant of type DGtal::Dimension that
 specifies the static  dimension of the space.
 @tparam Integer specifies the integer number type to use as a
 ring for the computations or as coordinates type. Integer must be
 a model of CInteger and CSignedInteger concepts.  

 Example of use:
@code 

#include <DGtal/kernel/SpaceND.h>

//...

//We define the type of a digital domain on dimension 4 using the //"int" arithmetic ring.

typedef SpaceND<4, int> Space4Int;

//We deduce the type to represent points in this space typedef Space4::Point Point4Int;

//and we use it (see PointVector documentation). Point4Int a= {2, 3 , -5 , 6};

Examples:
topology/3dBorderExtraction.cpp.

Definition at line 98 of file SpaceND.h.


Member Typedef Documentation

template<Dimension dim, typename TInteger = DGtal::int32_t>
typedef DGtal::Dimension DGtal::SpaceND< dim, TInteger >::Dimension

Copy of the type used for the dimension.

Definition at line 135 of file SpaceND.h.

template<Dimension dim, typename TInteger = DGtal::int32_t>
typedef TInteger DGtal::SpaceND< dim, TInteger >::Integer

Arithmetic ring induced by (+,-,*) and Integer numbers.

Definition at line 108 of file SpaceND.h.

template<Dimension dim, typename TInteger = DGtal::int32_t>
typedef PointVector<dim,Integer> DGtal::SpaceND< dim, TInteger >::Point

Points in DGtal::SpaceND.

Definition at line 116 of file SpaceND.h.

template<Dimension dim, typename TInteger = DGtal::int32_t>
typedef PointVector<dim, double> DGtal::SpaceND< dim, TInteger >::RealPoint

Point with "double" as coordinate type with the same dimension as SpaceND.

Definition at line 123 of file SpaceND.h.

template<Dimension dim, typename TInteger = DGtal::int32_t>
typedef PointVector<dim, double> DGtal::SpaceND< dim, TInteger >::RealVector

Point with "double" as coordinate type with the same dimension as SpaceND.

Definition at line 127 of file SpaceND.h.

template<Dimension dim, typename TInteger = DGtal::int32_t>
typedef Space DGtal::SpaceND< dim, TInteger >::Self

Defined for convenience (same as Space).

Definition at line 132 of file SpaceND.h.

template<Dimension dim, typename TInteger = DGtal::int32_t>
typedef UnsignedInteger DGtal::SpaceND< dim, TInteger >::Size

Type used to represent sizes in the digital space.

Definition at line 113 of file SpaceND.h.

template<Dimension dim, typename TInteger = DGtal::int32_t>
typedef SpaceND<dim, Integer> DGtal::SpaceND< dim, TInteger >::Space

Type to denote the space itself.

Definition at line 130 of file SpaceND.h.

template<Dimension dim, typename TInteger = DGtal::int32_t>
typedef NumberTraits<Integer>::UnsignedVersion DGtal::SpaceND< dim, TInteger >::UnsignedInteger

Unsigned version of the Integers.

Definition at line 110 of file SpaceND.h.

template<Dimension dim, typename TInteger = DGtal::int32_t>
typedef PointVector<dim,Integer> DGtal::SpaceND< dim, TInteger >::Vector

Vectors in DGtal::SpaceND.

Definition at line 119 of file SpaceND.h.


Constructor & Destructor Documentation

template<Dimension dim, typename TInteger = DGtal::int32_t>
DGtal::SpaceND< dim, TInteger >::SpaceND ( )
private

Constructor

template<Dimension dim, typename TInteger = DGtal::int32_t>
DGtal::SpaceND< dim, TInteger >::~SpaceND ( )
private

Destructor.


Member Function Documentation

template<Dimension dim, typename TInteger = DGtal::int32_t>
DGtal::SpaceND< dim, TInteger >::BOOST_CONCEPT_ASSERT ( (CInteger< TInteger >)  )
private
template<Dimension dim, typename TInteger = DGtal::int32_t>
DGtal::SpaceND< dim, TInteger >::BOOST_CONCEPT_ASSERT ( (CCommutativeRing< TInteger >)  )
private
template<Dimension dim, typename TInteger = DGtal::int32_t>
SpaceND& DGtal::SpaceND< dim, TInteger >::operator= ( const SpaceND< dim, TInteger > &  other)
private

Assignment.

Parameters:
otherthe object to copy.
Returns:
a reference on 'this'. Forbidden by default.
template<Dimension dim, typename TInteger = DGtal::int32_t>
static void DGtal::SpaceND< dim, TInteger >::selfDisplay ( std::ostream &  out)
inlinestatic

Writes/Displays the object on an output stream.

Parameters:
outthe output stream where the object is written.

Definition at line 165 of file SpaceND.h.

{
out << "[SpaceND dim=" << dimension << " size of Integers=" << sizeof( Integer ) << " ]";
}

Field Documentation

template<Dimension dim, typename TInteger = DGtal::int32_t>
const Dimension DGtal::SpaceND< dim, TInteger >::dimension = dim
static

static constants to store the dimension.

Definition at line 138 of file SpaceND.h.

Referenced by DGtal::SpaceND< 2, Integer >::selfDisplay().


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