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
ICylinder.hpp
1
#pragma once
2
3
#include "DM/IGeometry.hpp"
4
#include "DM/Handle.hpp"
5
#include "DM/AutoLink.hpp"
//enable autolink
6
7
DM_NAMESPACE_BEGIN
8
9
/// \brief Geometry object describing a finite 3d cylinder
10
class
DM_API
ICylinder
:
public
IGeometry
11
{
12
public
:
13
static
ICylinder
* New();
14
static
ICylinder
* New(
double
x,
double
y,
double
r,
double
zmin,
double
zmax);
15
16
ICylinder
*
clone
()
const override
= 0;
17
protected
:
18
virtual
~
ICylinder
() {}
19
20
public
:
21
virtual
double
x()
const
= 0;
22
virtual
double
y()
const
= 0;
23
virtual
double
r()
const
= 0;
24
virtual
double
zmin()
const
= 0;
25
virtual
double
zmax()
const
= 0;
26
27
virtual
void
x(
double
) = 0;
28
virtual
void
y(
double
) = 0;
29
virtual
void
r(
double
) = 0;
30
virtual
void
zmin(
double
) = 0;
31
virtual
void
zmax(
double
) = 0;
32
};
33
34
typedef
Handle< ICylinder >
CylinderHandle
;
35
36
DM_NAMESPACE_END
DM::IGeometry::clone
virtual IGeometry * clone() const =0
get an object copy
DM::ICylinder
Geometry object describing a finite 3d cylinder.
Definition:
ICylinder.hpp:10
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