DGtal  1.2.0
Data Structures | Public Types | Static Public Member Functions | Static Public Attributes | Private Member Functions
DGtal::SpaceND< dim, TInteger > Class Template Reference

#include <DGtal/kernel/SpaceND.h>

Inheritance diagram for DGtal::SpaceND< dim, TInteger >:
[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
 Arithmetic ring induced by (+,-,*) and Integer numbers. More...
 
typedef NumberTraits< Integer >::UnsignedVersion UnsignedInteger
 Unsigned version of the Integers. More...
 
typedef UnsignedInteger Size
 Type used to represent sizes in the digital space. More...
 
typedef PointVector< dim, IntegerPoint
 Points in DGtal::SpaceND. More...
 
typedef PointVector< dim, IntegerVector
 Vectors in DGtal::SpaceND. More...
 
typedef PointVector< dim, double > RealPoint
 
typedef PointVector< dim, double > RealVector
 
typedef SpaceND< dim, IntegerSpace
 Type to denote the space itself. More...
 
typedef Space Self
 Defined for convenience (same as Space). More...
 
typedef DGtal::Dimension Dimension
 Copy of the type used for the dimension. More...
 

Static Public Member Functions

static void selfDisplay (std::ostream &out)
 

Static Public Attributes

static const Dimension dimension =dim
 static constants to store the dimension. More...
 

Private Member Functions

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

Detailed Description

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

 Description of class 'SpaceND' <p>

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

 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 TInteger specifies the integer number type to use as a
 ring for the computations or as coordinates type. Integer must be
 a model of concepts::CInteger and concepts::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
doc-examples/demo-kernel-1.cpp, geometry/tools/exampleLatticeBallDelaunay2D.cpp, and io/viewers/demo-kernel-2.cpp.

Definition at line 95 of file SpaceND.h.

Member Typedef Documentation

◆ Dimension

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 129 of file SpaceND.h.

◆ Integer

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 102 of file SpaceND.h.

◆ Point

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

Points in DGtal::SpaceND.

Definition at line 110 of file SpaceND.h.

◆ RealPoint

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 117 of file SpaceND.h.

◆ RealVector

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 121 of file SpaceND.h.

◆ Self

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

Defined for convenience (same as Space).

Definition at line 126 of file SpaceND.h.

◆ Size

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 107 of file SpaceND.h.

◆ Space

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 124 of file SpaceND.h.

◆ UnsignedInteger

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 104 of file SpaceND.h.

◆ Vector

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

Vectors in DGtal::SpaceND.

Definition at line 113 of file SpaceND.h.

Constructor & Destructor Documentation

◆ SpaceND()

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

Constructor

◆ ~SpaceND()

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

Destructor.

Member Function Documentation

◆ BOOST_CONCEPT_ASSERT()

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

◆ operator=()

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.

◆ selfDisplay()

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 159 of file SpaceND.h.

160  {
161  out << "[SpaceND dim=" << dimension << " size of Integers=" << sizeof( Integer ) << " ]";
162  }
TInteger Integer
Arithmetic ring induced by (+,-,*) and Integer numbers.
Definition: SpaceND.h:102
static const Dimension dimension
static constants to store the dimension.
Definition: SpaceND.h:132

References DGtal::SpaceND< dim, TInteger >::dimension.

Field Documentation

◆ dimension

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 132 of file SpaceND.h.

Referenced by DGtal::SpaceND< dim, TInteger >::selfDisplay().


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