Ilwis-Objects
1.0
GIS and Remote Sensing framework for data access and processing
Main Page
Classes
Files
File List
All
Classes
Functions
Enumerations
Pages
ilwisobjects
domain
domainmerger.h
1
#ifndef DOMAINMERGER_H
2
#define DOMAINMERGER_H
3
4
namespace
Ilwis{
8
class
DomainMerger
9
{
10
public
:
11
15
DomainMerger
();
16
25
DomainMerger
(
const
IDomain
& dom1,
const
IDomain
& dom2);
26
38
IDomain
mergeDomains
(
const
IDomain
& dom1,
const
IDomain
& dom2);
39
45
std::map<quint32, quint32>
renumberer
()
const
;
46
53
virtual
bool
merge
() = 0;
54
61
IDomain
mergedDomain
()
const
;
62
63
protected
:
64
IDomain
_domain1;
65
IDomain
_domain2;
66
IDomain
_mergedDomain;
67
std::map<quint32, quint32> _renumber;
68
69
};
70
71
class
NumericDomainMerger
:
private
DomainMerger
{
72
friend
class
DomainMerger
;
73
74
NumericDomainMerger
(
const
IDomain
& dom1,
const
IDomain
& dom2);
75
bool
merge();
76
};
77
78
class
ItemDomainMergerIndexedItems
:
private
DomainMerger
{
79
friend
class
DomainMerger
;
80
81
ItemDomainMergerIndexedItems
(
const
IDomain
& dom1,
const
IDomain
& dom2);
82
bool
merge();
83
84
};
85
86
class
ItemDomainMergerNamedItems
:
private
DomainMerger
{
87
friend
class
DomainMerger
;
88
89
ItemDomainMergerNamedItems
(
const
IDomain
& dom1,
const
IDomain
& dom2);
90
bool
merge();
91
92
93
private
:
94
void
renumber(
const
std::unique_ptr<Ilwis::NamedIdentifierRange> &newRange,
const
QSharedPointer<NamedIdentifierRange> &range1, QSharedPointer<NamedIdentifierRange> &range2);
95
};
96
}
97
98
#endif // DOMAINMERGER_H
Generated on Fri Mar 28 2014 13:51:04 for Ilwis-Objects by
1.8.3.1