Technische Universität Wien
Orientation and Processing of Airborne Laser Scanning data
Department of Geodesy and Geoinformation - Research Groups Photogrammetry and Remote Sensing
distroDM
c++_api
inc
DM
IIndexHelperSet.hpp
1
#pragma once
2
3
4
#include "DM/config.hpp"
5
#include "DM/Iterator.hpp"
6
7
DM_NAMESPACE_BEGIN
8
9
/// \brief Helper class for traversing a IndexMap object in multiple stages
10
class
DM_API
IIndexHelper
:
public
ObjectBase
11
{
12
protected
:
13
virtual
~
IIndexHelper
() {}
14
15
public
:
16
virtual
IIndexHelper
* clone()
const
= 0;
17
18
virtual
int
id()
const
= 0;
///< corresponding class id
19
virtual
int64_t counter()
const
= 0;
///< number of points/object that have been traversed in this class
20
virtual
int64_t index()
const
= 0;
///< next index for the corresponding IndexMap object that has to be considered
21
};
22
23
typedef
Handle<IIndexHelper>
IndexHelperHandle
;
24
25
26
27
/// \brief Helper class for traversing a IndexMapSet object in multiple stages
28
class
DM_API
IIndexHelperSet
:
public
ObjectBase
29
{
30
public
:
31
// Iterator typedefs ============================================================================
32
typedef
ConstIterator< IIndexHelper >
const_iterator
;
33
34
static
IIndexHelperSet
* New();
///< create an empty index helper set
35
36
// General member functions ====================================================================
37
virtual
IIndexHelperSet
* clone()
const
= 0;
///< clone object
38
39
virtual
int64_t size()
const
= 0;
///< size of index map set
40
41
virtual
IIndexHelper
& operator[](
const
int
id
) = 0;
///< access index helper by class id
42
virtual
const
IIndexHelper
& operator[](
const
int
id
)
const
= 0;
///< const access index helper by class id
43
44
virtual
const_iterator
beginIndexHelper()
const
= 0;
45
virtual
const_iterator
endIndexHelper()
const
= 0;
46
};
47
48
typedef
Handle<IIndexHelperSet>
IndexHelperSetHandle
;
49
50
DM_NAMESPACE_END
DM::IIndexHelper
Helper class for traversing a IndexMap object in multiple stages.
Definition:
IIndexHelperSet.hpp:10
DM::ConstIterator
Definition:
Iterator.hpp:96
DM::IIndexHelperSet
Helper class for traversing a IndexMapSet object in multiple stages.
Definition:
IIndexHelperSet.hpp:28
DM::Handle
Smart pointer class using reference counting with support for DM objects (see ObjectBase)
Definition:
Handle.hpp:75
DM::ObjectBase
Definition:
M/c++_api/inc/DM/ObjectBase.hpp:8