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
IPolygonFactory.hpp
1
#pragma once
2
3
#include "DM/config.hpp"
4
#include "DM/Handle.hpp"
5
#include "DM/IPolygon.hpp"
6
#include "DM/AutoLink.hpp"
//enable autolink
7
8
DM_NAMESPACE_BEGIN
9
10
/// \brief factory interface for creating polygon objects
11
class
DM_API
IPolygonFactory
:
public
ObjectBase
12
{
13
public
:
14
static
IPolygonFactory
* New();
15
16
protected
:
17
virtual
~
IPolygonFactory
() {}
18
19
public
:
20
virtual
void
clear() = 0;
21
22
virtual
IPolygonFactory
& addPoint(
const
IPoint
&pt) = 0;
23
virtual
IPolygonFactory
& addPoint(
PointHandle
pt) = 0;
24
virtual
IPolygonFactory
& addPoint(
double
x,
double
y) = 0;
25
virtual
IPolygonFactory
& addPoint(
double
x,
double
y,
double
z) = 0;
26
27
virtual
IPolygonFactory
& closePart() = 0;
28
29
virtual
PolygonHandle
getPolygon(
Orientation
ori = Orientation::undefined,
bool
clear =
true
) = 0;
30
};
31
32
typedef
Handle<IPolygonFactory>
PolygonFactoryHandle
;
33
34
35
DM_NAMESPACE_END
DM::Orientation
Orientation
orientation enum
Definition:
ColumnTypes.hpp:148
DM::IPolygonFactory
factory interface for creating polygon objects
Definition:
IPolygonFactory.hpp:11
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
DM::IPoint
3d point object
Definition:
IPoint.hpp:14