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
Processor
ICUStrategy.hpp
1
#pragma once
2
3
#include "DM/config.hpp"
4
#include "DM/IPoint.hpp"
5
#include "DM/IPolyline.hpp"
6
#include "DM/IBox.hpp"
7
#include "DM/IPointIndexLeaf.hpp"
8
#include "DM/ObjectBase.hpp"
9
#include "DM/IPointSet.hpp"
10
11
#include "DM/Processor/AutoLink.hpp"
12
#include "DM/Processor/IKernelBase.hpp"
13
14
DM_NAMESPACE_BEGIN
15
16
enum struct
CUStrategyOrder {
17
auto_
,
18
horizontal,
19
vertical
20
};
21
22
23
/// \brief kernel for handling point object
24
class
DM_PS_API
ICUStrategy
:
public
ObjectBase
25
{
26
public
:
27
static
ICUStrategy
* New(
const
IWindow
&processLimit,
double
rasterSizeX,
double
rasterSizeY,
28
unsigned
tileSizeX,
unsigned
tileSizeY,
29
bool
pixelIsPoint, CUStrategyOrder order = CUStrategyOrder::auto_);
30
31
protected
:
32
virtual
~
ICUStrategy
() {}
33
34
public
:
35
virtual
unsigned
count
()
const
= 0;
36
37
virtual
double
rasterSizeX()
const
= 0;
38
virtual
double
rasterSizeY()
const
= 0;
39
40
virtual
unsigned
tileSizeX()
const
= 0;
41
virtual
unsigned
tileSizeY()
const
= 0;
42
43
//convert raster index to coordinates
44
virtual
void
index2Coord(
unsigned
rasterIndexX,
unsigned
rasterIndexY,
double
&coordX,
double
&coordY)
const
= 0;
45
46
virtual
WindowHandle
get(
unsigned
idx,
unsigned
&cuIndexX,
unsigned
&cuIndexY,
47
unsigned
&rasterIndexX,
unsigned
&rasterIndexY,
48
unsigned
&cuSizeX,
unsigned
&cuSizeY)
const
= 0;
49
50
};
51
typedef
Handle< ICUStrategy >
CUStrategyHandle
;
52
53
54
DM_NAMESPACE_END
DM::IWindow
2d window object
Definition:
IWindow.hpp:11
DM::ICUStrategy
kernel for handling point object
Definition:
ICUStrategy.hpp:24
DM::ColumnType::count
@ count
always last element
opals::DBHModel::auto_
@ auto_
automatic model selection
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