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
static
IBox
* New(
const
IGeometry
& obj);
18
19
IBox
*
clone
()
const override
= 0;
20
protected
:
21
virtual
~
IBox
() {}
22
23
public
:
24
virtual
double
zmin()
const
= 0;
25
virtual
double
zmax()
const
= 0;
26
27
virtual
void
zmin(
double
) = 0;
28
virtual
void
zmax(
double
) = 0;
29
30
virtual
void
zrange(
double
zmin,
double
zmax) = 0;
31
32
virtual
void
expand(
double
) = 0;
33
};
34
35
typedef
Handle<IBox>
BoxHandle
;
36
37
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::IGeometry
Base class of all geometry objects.
Definition:
IGeometry.hpp:26
DM::Handle
Smart pointer class using reference counting with support for DM objects (see ObjectBase)
Definition:
Handle.hpp:75