DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
DigitalSetBySTLVector.h
1
16
17
#pragma once
18
34
35
#if defined(DigitalSetBySTLVector_RECURSES)
36
#error Recursive header files inclusion detected in DigitalSetBySTLVector.h
37
#else
// defined(DigitalSetBySTLVector_RECURSES)
39
#define DigitalSetBySTLVector_RECURSES
40
41
#if !defined DigitalSetBySTLVector_h
43
#define DigitalSetBySTLVector_h
44
46
// Inclusions
47
#include <iostream>
48
#include <vector>
49
#include <string>
50
#include "DGtal/base/Common.h"
51
#include "DGtal/base/CowPtr.h"
52
#include "DGtal/base/Clone.h"
53
#include "DGtal/base/Alias.h"
54
#include "DGtal/base/ConstAlias.h"
56
57
namespace
DGtal
58
{
59
61
// template class DigitalSetBySTLVector
79
template
<
typename
TDomain>
80
class
DigitalSetBySTLVector
81
{
82
public
:
83
typedef
TDomain
Domain
;
84
typedef
DigitalSetBySTLVector<Domain>
Self
;
85
typedef
typename
Domain::Space
Space
;
86
typedef
typename
Domain::Point
Point
;
87
typedef
typename
Domain::Size
Size
;
88
typedef
std::vector<Point>
Container
;
89
typedef
typename
std::vector<Point>::iterator
Iterator
;
90
typedef
typename
std::vector<Point>::const_iterator
ConstIterator
;
91
typedef
typename
std::vector<Point>::iterator
MutableIterator
;
92
93
// ----------------------- Standard services ------------------------------
94
public
:
95
99
~DigitalSetBySTLVector
();
100
107
DigitalSetBySTLVector
(
Clone<Domain>
d );
108
113
DigitalSetBySTLVector
(
const
DigitalSetBySTLVector
& other );
114
120
DigitalSetBySTLVector
&
operator=
(
const
DigitalSetBySTLVector
& other );
121
125
const
Domain
&
domain
()
const
;
126
130
CowPtr<Domain>
domainPointer
()
const
;
131
132
// ----------------------- Standard Set services --------------------------
133
public
:
134
138
Size
size
()
const
;
139
143
bool
empty
()
const
;
144
151
void
insert
(
const
Point
& p );
152
161
template
<
typename
Po
int
InputIterator>
162
void
insert
( PointInputIterator first, PointInputIterator last );
163
174
void
insertNew
(
const
Point
& p );
175
190
template
<
typename
Po
int
InputIterator>
191
void
insertNew
( PointInputIterator first, PointInputIterator last );
192
199
Size
erase
(
const
Point
& p );
200
208
void
erase
(
Iterator
it );
209
217
void
erase
(
Iterator
first,
Iterator
last );
218
223
void
clear
();
224
229
ConstIterator
find
(
const
Point
& p )
const
;
230
235
Iterator
find
(
const
Point
& p );
236
240
ConstIterator
begin
()
const
;
241
245
ConstIterator
end
()
const
;
246
250
Iterator
begin
();
251
255
Iterator
end
();
256
261
const
Container
&
container
()
const
;
262
Container
&
container
();
263
268
DigitalSetBySTLVector<Domain>
&
operator
+=
269
(
const
DigitalSetBySTLVector<Domain>
& aSet );
270
271
// ----------------------- Model of concepts::CPointPredicate -----------------------------
272
public
:
273
278
bool
operator()
(
const
Point
& p )
const
;
279
280
// ----------------------- Other Set services -----------------------------
281
public
:
282
288
template
<
typename
TOutputIterator >
289
void
computeComplement
(TOutputIterator& ito)
const
;
290
297
void
assignFromComplement
(
const
DigitalSetBySTLVector<Domain>
& other_set );
298
307
void
computeBoundingBox
(
Point
&
lower
,
Point
&
upper
)
const
;
308
309
// ----------------------- Interface --------------------------------------
310
public
:
311
316
void
selfDisplay
( std::ostream & out )
const
;
317
322
bool
isValid
()
const
;
323
324
// ------------------------- Protected Data ------------------------------
325
protected
:
326
331
CowPtr<Domain>
myDomain
;
332
336
std::vector<Point>
myVector
;
337
338
// ------------------------- Private Data --------------------------------
339
private
:
340
341
342
343
// --------------- CDrawableWithBoard2D realization --------------------
344
public
:
345
349
std::string
className
()
const
;
350
351
public
:
352
353
354
// ------------------------- Hidden services ------------------------------
355
protected
:
356
361
DigitalSetBySTLVector
();
362
363
// ------------------------- Internals ------------------------------------
364
private
:
365
366
};
// end of class DigitalSetBySTLVector
367
368
375
template
<
typename
Domain>
376
std::ostream&
377
operator<<
( std::ostream & out,
378
const
DigitalSetBySTLVector<Domain>
&
object
);
379
380
}
// namespace DGtal
381
382
384
// Includes inline functions.
385
#include "DGtal/kernel/sets/DigitalSetBySTLVector.ih"
386
387
// //
389
390
#endif
// !defined DigitalSetBySTLVector_h
391
392
#undef DigitalSetBySTLVector_RECURSES
393
#endif
// else defined(DigitalSetBySTLVector_RECURSES)
DGtal::Clone
Aim: This class encapsulates its parameter class to indicate that the given parameter is required to ...
Definition
Clone.h:266
DGtal::CowPtr
Aim: Copy on write shared pointer.
Definition
CowPtr.h:68
DGtal::DigitalSetBySTLVector
Aim: Realizes the concept CDigitalSet by using the STL container std::vector.
Definition
DigitalSetBySTLVector.h:81
DGtal::DigitalSetBySTLVector::domainPointer
CowPtr< Domain > domainPointer() const
DGtal::DigitalSetBySTLVector::erase
Size erase(const Point &p)
DGtal::DigitalSetBySTLVector::insert
void insert(PointInputIterator first, PointInputIterator last)
DGtal::DigitalSetBySTLVector::operator=
DigitalSetBySTLVector & operator=(const DigitalSetBySTLVector &other)
DGtal::DigitalSetBySTLVector::insertNew
void insertNew(const Point &p)
DGtal::DigitalSetBySTLVector< Domain >::MutableIterator
std::vector< Point >::iterator MutableIterator
Definition
DigitalSetBySTLVector.h:91
DGtal::DigitalSetBySTLVector::computeBoundingBox
void computeBoundingBox(Point &lower, Point &upper) const
DGtal::DigitalSetBySTLVector< Domain >::ConstIterator
std::vector< Point >::const_iterator ConstIterator
Definition
DigitalSetBySTLVector.h:90
DGtal::DigitalSetBySTLVector::end
Iterator end()
DGtal::DigitalSetBySTLVector::className
std::string className() const
DGtal::DigitalSetBySTLVector::operator()
bool operator()(const Point &p) const
DGtal::DigitalSetBySTLVector::DigitalSetBySTLVector
DigitalSetBySTLVector()
DGtal::DigitalSetBySTLVector< Domain >::Iterator
std::vector< Point >::iterator Iterator
Definition
DigitalSetBySTLVector.h:89
DGtal::DigitalSetBySTLVector::isValid
bool isValid() const
DGtal::DigitalSetBySTLVector< Domain >::myVector
std::vector< Point > myVector
Definition
DigitalSetBySTLVector.h:336
DGtal::DigitalSetBySTLVector::Self
DigitalSetBySTLVector< Domain > Self
Definition
DigitalSetBySTLVector.h:84
DGtal::DigitalSetBySTLVector::DigitalSetBySTLVector
DigitalSetBySTLVector(Clone< Domain > d)
DGtal::DigitalSetBySTLVector< Domain >::Container
std::vector< Point > Container
Definition
DigitalSetBySTLVector.h:88
DGtal::DigitalSetBySTLVector::DigitalSetBySTLVector
DigitalSetBySTLVector(const DigitalSetBySTLVector &other)
DGtal::DigitalSetBySTLVector::insertNew
void insertNew(PointInputIterator first, PointInputIterator last)
DGtal::DigitalSetBySTLVector::size
Size size() const
DGtal::DigitalSetBySTLVector::find
Iterator find(const Point &p)
DGtal::DigitalSetBySTLVector< Domain >::Size
Domain::Size Size
Definition
DigitalSetBySTLVector.h:87
DGtal::DigitalSetBySTLVector::container
Container & container()
DGtal::DigitalSetBySTLVector::computeComplement
void computeComplement(TOutputIterator &ito) const
DGtal::DigitalSetBySTLVector::erase
void erase(Iterator first, Iterator last)
DGtal::DigitalSetBySTLVector::insert
void insert(const Point &p)
DGtal::DigitalSetBySTLVector::begin
Iterator begin()
DGtal::DigitalSetBySTLVector::selfDisplay
void selfDisplay(std::ostream &out) const
DGtal::DigitalSetBySTLVector::find
ConstIterator find(const Point &p) const
DGtal::DigitalSetBySTLVector< Domain >::Point
Domain::Point Point
Definition
DigitalSetBySTLVector.h:86
DGtal::DigitalSetBySTLVector::begin
ConstIterator begin() const
DGtal::DigitalSetBySTLVector< Domain >::Space
Domain::Space Space
Definition
DigitalSetBySTLVector.h:85
DGtal::DigitalSetBySTLVector::domain
const Domain & domain() const
DGtal::DigitalSetBySTLVector::empty
bool empty() const
DGtal::DigitalSetBySTLVector::assignFromComplement
void assignFromComplement(const DigitalSetBySTLVector< Domain > &other_set)
DGtal::DigitalSetBySTLVector::~DigitalSetBySTLVector
~DigitalSetBySTLVector()
DGtal::DigitalSetBySTLVector::Domain
TDomain Domain
Definition
DigitalSetBySTLVector.h:83
DGtal::DigitalSetBySTLVector::container
const Container & container() const
DGtal::DigitalSetBySTLVector< Domain >::myDomain
CowPtr< Domain > myDomain
Definition
DigitalSetBySTLVector.h:331
DGtal::DigitalSetBySTLVector::clear
void clear()
DGtal::DigitalSetBySTLVector::end
ConstIterator end() const
DGtal::DigitalSetBySTLVector::erase
void erase(Iterator it)
DGtal::HyperRectDomain< Space >::Size
Space::Size Size
Definition
HyperRectDomain.h:117
DGtal::HyperRectDomain< Space >::Space
Space Space
Definition
HyperRectDomain.h:110
DGtal::HyperRectDomain< Space >::Point
Space::Point Point
Definition
HyperRectDomain.h:113
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)
lower
Vector lower(const Vector &z, unsigned int k)
Definition
viewDualSurface.cpp:189
upper
Vector upper(const Vector &z, unsigned int k)
Definition
viewDualSurface.cpp:196
src
DGtal
kernel
sets
DigitalSetBySTLVector.h
Generated on
for DGtal by
1.18.0