DGtal 2.1.0
Loading...
Searching...
No Matches
MyImage< T, N > Class Template Reference

[includes] More...

Inheritance diagram for MyImage< T, N >:
[legend]

Public Types

typedef MyImage< T, N > Self
 
typedef DGtal::IteratorCompletionTraits< Self >::Iterator Iterator
 
typedef DGtal::IteratorCompletionTraits< Self >::ConstIterator ConstIterator
 
typedef T Value
 
typedef DGtal::SpaceND< N > Space
 
typedef DGtal::HyperRectDomain< SpaceDomain
 
typedef Space::Point Point
 
typedef DGtal::Linearizer< Domain, DGtal::ColMajorStorageLinearizer
 Linearization of the points.
 
- Public Types inherited from DGtal::IteratorCompletion< MyImage< T, N > >
typedef IteratorCompletionTraits< MyImage< T, N > >::Iterator Iterator
 Mutable iterator type.
 
typedef IteratorCompletionTraits< MyImage< T, N > >::ConstIterator ConstIterator
 Constant iterator type.
 
typedef IteratorCompletionTraits< MyImage< T, N > >::DistanceFunctor DistanceFunctor
 Type of the functor calculating the distance between iterators.
 
typedef boost::reverse_iterator< IteratorReverseIterator
 Mutable reverse iterator type.
 
typedef boost::reverse_iterator< ConstIteratorConstReverseIterator
 Constant reverse iterator type.
 
typedef SimpleRandomAccessRangeFromPoint< ConstIterator, Iterator, DistanceFunctorRange
 Mutable range type.
 
typedef SimpleRandomAccessConstRangeFromPoint< ConstIterator, DistanceFunctorConstRange
 Constant range type.
 
typedef std::ptrdiff_t Difference
 Type of the distance between two iterators.
 

Public Member Functions

 MyImage (Domain const &aDomain=Domain())
 
 ~MyImage ()
 
Value operator() (Point const &aPoint) const
 [MyImageHeader]
 
Value getValue (Point const &aPoint) const
 
void setValue (Point const &aPoint, Value const &aValue)
 
Domain const & domain () const
 
Selfoperator= (Self const &other)
 
Iterator begin ()
 [CImageBasicInterface]
 
ConstIterator begin () const
 
Iterator end ()
 
ConstIterator end () const
 
- Public Member Functions inherited from DGtal::IteratorCompletion< MyImage< T, N > >
ReverseIterator rbegin ()
 
ConstReverseIterator rbegin () const
 
ConstReverseIterator crbegin () const
 
ReverseIterator rend ()
 
ConstReverseIterator rend () const
 
ConstReverseIterator crend () const
 
Range range ()
 
ConstRange constRange () const
 

Private Attributes

Domain myDomain
 [BasicIteratorInterface]
 
T * myData
 

Additional Inherited Members

- Protected Member Functions inherited from DGtal::IteratorCompletion< MyImage< T, N > >
 ~IteratorCompletion ()
 Protected destructor to avoid memory leak.
 

Detailed Description

template<typename T, DGtal::Dimension N>
class MyImage< T, N >

[includes]

[includes] [MyImageHeader]

Definition at line 48 of file exampleIteratorCompletion.cpp.

Member Typedef Documentation

◆ ConstIterator

◆ Domain

template<typename T , DGtal::Dimension N>
typedef DGtal::HyperRectDomain<Space> MyImage< T, N >::Domain

Definition at line 60 of file exampleIteratorCompletion.cpp.

◆ Iterator

template<typename T , DGtal::Dimension N>
typedef DGtal::IteratorCompletionTraits<Self>::Iterator MyImage< T, N >::Iterator

Definition at line 55 of file exampleIteratorCompletion.cpp.

◆ Linearizer

Linearization of the points.

Definition at line 62 of file exampleIteratorCompletion.cpp.

◆ Point

template<typename T , DGtal::Dimension N>
typedef Space::Point MyImage< T, N >::Point

Definition at line 61 of file exampleIteratorCompletion.cpp.

◆ Self

template<typename T , DGtal::Dimension N>
typedef MyImage<T, N> MyImage< T, N >::Self

Definition at line 54 of file exampleIteratorCompletion.cpp.

◆ Space

template<typename T , DGtal::Dimension N>
typedef DGtal::SpaceND<N> MyImage< T, N >::Space

Definition at line 59 of file exampleIteratorCompletion.cpp.

◆ Value

template<typename T , DGtal::Dimension N>
typedef T MyImage< T, N >::Value

Definition at line 58 of file exampleIteratorCompletion.cpp.

Constructor & Destructor Documentation

◆ MyImage()

template<typename T , DGtal::Dimension N>
MyImage< T, N >::MyImage ( Domain const &  aDomain = Domain())
inline

Definition at line 65 of file exampleIteratorCompletion.cpp.

66 : myDomain(aDomain), myData( new T[ myDomain.size() ] )
67 {}
Domain myDomain
[BasicIteratorInterface]

◆ ~MyImage()

template<typename T , DGtal::Dimension N>
MyImage< T, N >::~MyImage ( )
inline

Definition at line 70 of file exampleIteratorCompletion.cpp.

71 {
72 delete[] myData;
73 }

References MyImage< T, N >::myData.

Member Function Documentation

◆ begin() [1/2]

template<typename T , DGtal::Dimension N>
Iterator MyImage< T, N >::begin ( )
inline

[CImageBasicInterface]

[BasicIteratorInterface]

Definition at line 122 of file exampleIteratorCompletion.cpp.

123 {
124 return myData;
125 }

References MyImage< T, N >::myData.

Referenced by MyImage< T, N >::operator=().

◆ begin() [2/2]

template<typename T , DGtal::Dimension N>
ConstIterator MyImage< T, N >::begin ( ) const
inline

Definition at line 128 of file exampleIteratorCompletion.cpp.

129 {
130 return myData;
131 }

References MyImage< T, N >::myData.

◆ domain()

template<typename T , DGtal::Dimension N>
Domain const & MyImage< T, N >::domain ( ) const
inline

Definition at line 98 of file exampleIteratorCompletion.cpp.

99 {
100 return myDomain;
101 }

References MyImage< T, N >::myDomain.

Referenced by MyImage< T, N >::operator=().

◆ end() [1/2]

template<typename T , DGtal::Dimension N>
Iterator MyImage< T, N >::end ( )
inline

◆ end() [2/2]

template<typename T , DGtal::Dimension N>
ConstIterator MyImage< T, N >::end ( ) const
inline

◆ getValue()

template<typename T , DGtal::Dimension N>
Value MyImage< T, N >::getValue ( Point const &  aPoint) const
inline

Definition at line 86 of file exampleIteratorCompletion.cpp.

87 {
88 return operator()(aPoint);
89 }
Value operator()(Point const &aPoint) const
[MyImageHeader]
const Point aPoint(3, 4)

References aPoint, and MyImage< T, N >::operator()().

◆ operator()()

template<typename T , DGtal::Dimension N>
Value MyImage< T, N >::operator() ( Point const &  aPoint) const
inline

[MyImageHeader]

[CImageBasicInterface]

Definition at line 80 of file exampleIteratorCompletion.cpp.

81 {
82 return myData[ Linearizer::getIndex(aPoint, myDomain) ];
83 }

References aPoint, MyImage< T, N >::myData, and MyImage< T, N >::myDomain.

Referenced by MyImage< T, N >::getValue().

◆ operator=()

template<typename T , DGtal::Dimension N>
Self & MyImage< T, N >::operator= ( Self const &  other)
inline

Definition at line 104 of file exampleIteratorCompletion.cpp.

105 {
106 if ( this != &other )
107 {
108 myDomain = other.domain();
109 delete[] myData;
110 myData = new Value[ myDomain.size() ];
111 std::copy( other.begin(), other.end(), begin() );
112 }
113
114 return *this;
115 }
Iterator begin()
[CImageBasicInterface]

References MyImage< T, N >::begin(), MyImage< T, N >::domain(), MyImage< T, N >::end(), MyImage< T, N >::myData, MyImage< T, N >::myDomain, and DGtal::HyperRectDomain< TSpace >::size().

◆ setValue()

template<typename T , DGtal::Dimension N>
void MyImage< T, N >::setValue ( Point const &  aPoint,
Value const &  aValue 
)
inline

Definition at line 92 of file exampleIteratorCompletion.cpp.

93 {
94 myData[ Linearizer::getIndex(aPoint, myDomain) ] = aValue;
95 }

References aPoint, MyImage< T, N >::myData, and MyImage< T, N >::myDomain.

Referenced by testImageCopyShort().

Field Documentation

◆ myData

◆ myDomain

template<typename T , DGtal::Dimension N>
Domain MyImage< T, N >::myDomain
private

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