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
IBox.hpp
1
#pragma once
2
3
#include "DM/config.hpp"
4
#include "DM/Handle.hpp"
5
#include "DM/IWindow.hpp"
6
#include "DM/AutoLink.hpp"
//enable autolink
7
8
DM_NAMESPACE_BEGIN
9
10
/// \brief Geometry object describing a 3d box
11
class
DM_API
IBox
:
public
IWindow
12
{
13
public
:
14
static
IBox
* New();
15
static
IBox
* New(
double
xmin,
double
ymin,
double
xmax,
double
ymax);
16
static
IBox
* New(
double
xmin,
double
ymin,
double
zmin,
double
xmax,
double
ymax,
double
zmax);
17
18
IBox
*
clone
()
const override
= 0;
19
protected
:
20
virtual
~
IBox
() {}
21
22
public
:
23
virtual
double
zmin()
const
= 0;
24
virtual
double
zmax()
const
= 0;
25
26
virtual
void
zmin(
double
) = 0;
27
virtual
void
zmax(
double
) = 0;
28
29
virtual
void
zrange(
double
zmin,
double
zmax) = 0;
30
31
virtual
void
expand(
double
) = 0;
32
};
33
34
typedef
Handle<IBox>
BoxHandle
;
35
36
DM_NAMESPACE_END
DM::IWindow
2d window object
Definition:
IWindow.hpp:11
DM::IBox
Geometry object describing a 3d box.
Definition:
IBox.hpp:11
DM::IWindow::clone
IWindow * clone() const override=0
get an object copy
DM::Handle
Smart pointer class using reference counting with support for DM objects (see ObjectBase)
Definition:
Handle.hpp:75