Ilwis-Objects  1.0
GIS and Remote Sensing framework for data access and processing
 All Classes Functions Enumerations Pages
Public Member Functions | Protected Attributes | List of all members
Ilwis::DomainMerger Class Referenceabstract

#include <domainmerger.h>

Inheritance diagram for Ilwis::DomainMerger:
Ilwis::ItemDomainMergerIndexedItems Ilwis::ItemDomainMergerNamedItems Ilwis::NumericDomainMerger

Public Member Functions

 DomainMerger ()
 
 DomainMerger (const IDomain &dom1, const IDomain &dom2)
 
IDomain mergeDomains (const IDomain &dom1, const IDomain &dom2)
 
std::map< quint32, quint32 > renumberer () const
 
virtual bool merge ()=0
 
IDomain mergedDomain () const
 

Protected Attributes

IDomain _domain1
 
IDomain _domain2
 
IDomain _mergedDomain
 
std::map< quint32, quint32 > _renumber
 

Detailed Description

The DomainMerger class merges domains, when possible

Constructor & Destructor Documentation

DomainMerger::DomainMerger ( )

Constructor for an empty DomainMerger

DomainMerger::DomainMerger ( const IDomain dom1,
const IDomain dom2 
)

Creates a DomainMerger from 2 IDomain 's
Does not yet do the actual merging
the domains may not be null

Parameters
dom1an IDomain you want merged
dom2an IDomain you want merged

Member Function Documentation

virtual bool Ilwis::DomainMerger::merge ( )
pure virtual

merges the 2 domains, which have been specified in the constructor
requires the 2 domains to be compatible. the actual merging details are in the relevant subclasses

Returns
true when the merging was succesfull
IDomain DomainMerger::mergedDomain ( ) const

Query for the merged domain in this DomainMerger
based on the 2 domains specified in the constructor
only works after the domains have been merged, if the domains have not yet been merged this will return null

Returns
the result of the merging
IDomain DomainMerger::mergeDomains ( const IDomain dom1,
const IDomain dom2 
)

Merges the domains and returns the result
for a merge to work the domains must be valid and must have the same valuetypes

the merged domain will be saved in this domainmerger
which means if you want to acces an already merged domain again you should use mergedDomain() instead of this

Parameters
dom1first domain to be merged
dom2second domain to be merged
Returns
the result of the merge, can be null if the domains are not compatible
std::map< quint32, quint32 > DomainMerger::renumberer ( ) const

Query for the renumberer
the renumberer is the map that is used to renumber the elements in the 2 soon to be merged domains

Returns
the renumberer (a map<quint32,quint32>)

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