DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
DigitalSurface2DSlice.h
1
16
17
#pragma once
18
30
31
#if defined(DigitalSurface2DSlice_RECURSES)
32
#error Recursive header files inclusion detected in DigitalSurface2DSlice.h
33
#else
// defined(DigitalSurface2DSlice_RECURSES)
35
#define DigitalSurface2DSlice_RECURSES
36
37
#if !defined DigitalSurface2DSlice_h
39
#define DigitalSurface2DSlice_h
40
42
// Inclusions
43
#include <iostream>
44
#include <deque>
45
#include "DGtal/base/Common.h"
46
#include "DGtal/base/Circulator.h"
47
#include "DGtal/topology/DigitalSurface.h"
48
#include "DGtal/topology/CDigitalSurfaceTracker.h"
50
51
namespace
DGtal
52
{
53
55
// template class DigitalSurface2DSlice
92
template
<
typename
TDigitalSurfaceTracker>
93
class
DigitalSurface2DSlice
94
{
95
public
:
96
typedef
TDigitalSurfaceTracker
DigitalSurfaceTracker
;
97
BOOST_CONCEPT_ASSERT
((
concepts::CDigitalSurfaceTracker<DigitalSurfaceTracker>
));
98
99
typedef
DigitalSurface2DSlice<DigitalSurfaceTracker>
Self
;
100
typedef
typename
DigitalSurfaceTracker::DigitalSurfaceContainer
DigitalSurfaceContainer
;
101
typedef
typename
DigitalSurfaceContainer::KSpace
KSpace
;
102
typedef
typename
DigitalSurfaceContainer::Surfel
Surfel
;
103
typedef
typename
DigitalSurfaceContainer::Size
Size
;
104
typedef
DigitalSurface<DigitalSurfaceContainer>
TheDigitalSurface
;
105
106
typedef
std::deque<Surfel>
Storage
;
107
typedef
typename
Storage::const_iterator
ConstIterator
;
108
typedef
typename
Storage::const_reverse_iterator
ConstReverseIterator
;
109
typedef
Circulator<ConstIterator>
ConstCirculator
;
110
typedef
Circulator<ConstReverseIterator>
ConstReverseCirculator
;
111
112
113
// ----------------------- Standard services ------------------------------
114
public
:
115
119
~DigitalSurface2DSlice
();
120
140
DigitalSurface2DSlice
(
DigitalSurfaceTracker
* tracker,
Dimension
i );
141
161
bool
init
(
DigitalSurfaceTracker
* tracker,
Dimension
i );
162
164
Size
size
()
const
;
165
167
bool
isClosed
()
const
;
168
172
ConstIterator
start
()
const
;
173
178
ConstReverseIterator
rstart
()
const
;
179
183
ConstCirculator
cstart
()
const
;
184
189
ConstReverseCirculator
rcstart
()
const
;
190
191
// ------------------------- iterator services ----------------------------
192
public
:
193
198
ConstIterator
begin
()
const
;
199
204
ConstIterator
end
()
const
;
205
210
ConstReverseIterator
rbegin
()
const
;
211
216
ConstReverseIterator
rend
()
const
;
217
222
ConstCirculator
c
()
const
;
223
228
ConstReverseCirculator
rc
()
const
;
229
230
// ----------------------- Interface --------------------------------------
231
public
:
232
237
void
selfDisplay
( std::ostream & out )
const
;
238
243
bool
isValid
()
const
;
244
245
// ------------------------- Protected Data ------------------------------
246
private
:
247
// ------------------------- Private Data --------------------------------
248
private
:
250
std::deque<Surfel>
mySurfels
;
252
bool
myIsClosed
;
255
ConstIterator
myStart
;
256
// ------------------------- Hidden services ------------------------------
257
protected
:
258
263
DigitalSurface2DSlice
();
264
265
private
:
266
272
DigitalSurface2DSlice
(
const
DigitalSurface2DSlice
& other );
273
280
DigitalSurface2DSlice
&
operator=
(
const
DigitalSurface2DSlice
& other );
281
282
// ------------------------- Internals ------------------------------------
283
private
:
284
285
};
// end of class DigitalSurface2DSlice
286
287
294
template
<
typename
TDigitalSurfaceTracker>
295
std::ostream&
296
operator<<
( std::ostream & out,
const
DigitalSurface2DSlice<TDigitalSurfaceTracker>
&
object
);
297
298
}
// namespace DGtal
299
300
302
// Includes inline functions.
303
#include "DGtal/topology/DigitalSurface2DSlice.ih"
304
305
// //
307
308
#endif
// !defined DigitalSurface2DSlice_h
309
310
#undef DigitalSurface2DSlice_RECURSES
311
#endif
// else defined(DigitalSurface2DSlice_RECURSES)
DGtal::Circulator
Aim: Provides an adapter for classical iterators that can iterate through the underlying data structu...
Definition
Circulator.h:86
DGtal::DigitalSurface2DSlice
Aim: Represents a 2-dimensional slice in a DigitalSurface. In a sense, it is a 4-connected contour,...
Definition
DigitalSurface2DSlice.h:94
DGtal::DigitalSurface2DSlice::cstart
ConstCirculator cstart() const
DGtal::DigitalSurface2DSlice::begin
ConstIterator begin() const
DGtal::DigitalSurface2DSlice::size
Size size() const
The number of surfels of this slice.
DGtal::DigitalSurface2DSlice< Tracker >::KSpace
DigitalSurfaceContainer::KSpace KSpace
Definition
DigitalSurface2DSlice.h:101
DGtal::DigitalSurface2DSlice::selfDisplay
void selfDisplay(std::ostream &out) const
DGtal::DigitalSurface2DSlice< Tracker >::Self
DigitalSurface2DSlice< DigitalSurfaceTracker > Self
Definition
DigitalSurface2DSlice.h:99
DGtal::DigitalSurface2DSlice::rbegin
ConstReverseIterator rbegin() const
DGtal::DigitalSurface2DSlice::isClosed
bool isClosed() const
DGtal::DigitalSurface2DSlice< Tracker >::Size
DigitalSurfaceContainer::Size Size
Definition
DigitalSurface2DSlice.h:103
DGtal::DigitalSurface2DSlice::isValid
bool isValid() const
DGtal::DigitalSurface2DSlice< Tracker >::Storage
std::deque< Surfel > Storage
Definition
DigitalSurface2DSlice.h:106
DGtal::DigitalSurface2DSlice::~DigitalSurface2DSlice
~DigitalSurface2DSlice()
DGtal::DigitalSurface2DSlice< Tracker >::DigitalSurfaceTracker
Tracker DigitalSurfaceTracker
Definition
DigitalSurface2DSlice.h:96
DGtal::DigitalSurface2DSlice::start
ConstIterator start() const
DGtal::DigitalSurface2DSlice< Tracker >::ConstReverseIterator
Storage::const_reverse_iterator ConstReverseIterator
Definition
DigitalSurface2DSlice.h:108
DGtal::DigitalSurface2DSlice< Tracker >::ConstReverseCirculator
Circulator< ConstReverseIterator > ConstReverseCirculator
Definition
DigitalSurface2DSlice.h:110
DGtal::DigitalSurface2DSlice::rc
ConstReverseCirculator rc() const
DGtal::DigitalSurface2DSlice::c
ConstCirculator c() const
DGtal::DigitalSurface2DSlice::end
ConstIterator end() const
DGtal::DigitalSurface2DSlice::operator=
DigitalSurface2DSlice & operator=(const DigitalSurface2DSlice &other)
DGtal::DigitalSurface2DSlice::rcstart
ConstReverseCirculator rcstart() const
DGtal::DigitalSurface2DSlice< Tracker >::myStart
ConstIterator myStart
Definition
DigitalSurface2DSlice.h:255
DGtal::DigitalSurface2DSlice< Tracker >::ConstCirculator
Circulator< ConstIterator > ConstCirculator
Definition
DigitalSurface2DSlice.h:109
DGtal::DigitalSurface2DSlice< Tracker >::DigitalSurfaceContainer
DigitalSurfaceTracker::DigitalSurfaceContainer DigitalSurfaceContainer
Definition
DigitalSurface2DSlice.h:100
DGtal::DigitalSurface2DSlice::init
bool init(DigitalSurfaceTracker *tracker, Dimension i)
DGtal::DigitalSurface2DSlice::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((concepts::CDigitalSurfaceTracker< DigitalSurfaceTracker >))
DGtal::DigitalSurface2DSlice< Tracker >::TheDigitalSurface
DigitalSurface< DigitalSurfaceContainer > TheDigitalSurface
Definition
DigitalSurface2DSlice.h:104
DGtal::DigitalSurface2DSlice< Tracker >::mySurfels
std::deque< Surfel > mySurfels
Definition
DigitalSurface2DSlice.h:250
DGtal::DigitalSurface2DSlice< Tracker >::Surfel
DigitalSurfaceContainer::Surfel Surfel
Definition
DigitalSurface2DSlice.h:102
DGtal::DigitalSurface2DSlice< Tracker >::myIsClosed
bool myIsClosed
Definition
DigitalSurface2DSlice.h:252
DGtal::DigitalSurface2DSlice::DigitalSurface2DSlice
DigitalSurface2DSlice()
DGtal::DigitalSurface2DSlice::rend
ConstReverseIterator rend() const
DGtal::DigitalSurface2DSlice< Tracker >::ConstIterator
Storage::const_iterator ConstIterator
Definition
DigitalSurface2DSlice.h:107
DGtal::DigitalSurface2DSlice::DigitalSurface2DSlice
DigitalSurface2DSlice(const DigitalSurface2DSlice &other)
DGtal::DigitalSurface2DSlice::DigitalSurface2DSlice
DigitalSurface2DSlice(DigitalSurfaceTracker *tracker, Dimension i)
DGtal::DigitalSurface2DSlice::rstart
ConstReverseIterator rstart() const
DGtal::DigitalSurface
Aim: Represents a set of n-1-cells in a nD space, together with adjacency relation between these cell...
Definition
DigitalSurface.h:140
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition
ClosedIntegerHalfPlane.h:49
DGtal::operator<<
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
DGtal::Dimension
DGtal::uint32_t Dimension
Definition
Common.h:119
DGtal::concepts::CDigitalSurfaceTracker
Aim:
Definition
CDigitalSurfaceTracker.h:86
src
DGtal
topology
DigitalSurface2DSlice.h
Generated on
for DGtal by
1.18.0