QGIS API Documentation
2.18.21-Las Palmas (9fba24a)
src
core
pal
util.h
Go to the documentation of this file.
1
/*
2
* libpal - Automated Placement of Labels Library
3
*
4
* Copyright (C) 2008 Maxence Laurent, MIS-TIC, HEIG-VD
5
* University of Applied Sciences, Western Switzerland
6
* http://www.hes-so.ch
7
*
8
* Contact:
9
* maxence.laurent <at> heig-vd <dot> ch
10
* or
11
* eric.taillard <at> heig-vd <dot> ch
12
*
13
* This file is part of libpal.
14
*
15
* libpal is free software: you can redistribute it and/or modify
16
* it under the terms of the GNU General Public License as published by
17
* the Free Software Foundation, either version 3 of the License, or
18
* (at your option) any later version.
19
*
20
* libpal is distributed in the hope that it will be useful,
21
* but WITHOUT ANY WARRANTY; without even the implied warranty of
22
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23
* GNU General Public License for more details.
24
*
25
* You should have received a copy of the GNU General Public License
26
* along with libpal. If not, see <http://www.gnu.org/licenses/>.
27
*
28
*/
29
30
#ifndef PAL_UTIL_H
31
#define PAL_UTIL_H
32
33
#include "
pal.h
"
34
#include "rtree.hpp"
35
#include "
pointset.h
"
36
#include "
qgsgeometry.h
"
37
38
namespace
pal
39
{
40
41
class
LabelPosition;
42
class
Layer;
43
class
FeaturePart;
44
50
class
Feats
51
{
52
public
:
53
Feats
()
54
:
feature
( nullptr )
55
,
shape
( nullptr )
56
,
priority
( 0 )
57
{}
58
59
FeaturePart
*
feature
;
60
PointSet
*
shape
;
61
double
priority
;
62
QList< LabelPosition*>
lPos
;
63
};
64
65
66
typedef
struct
_elementary_transformation
67
{
68
int
feat
;
69
int
old_label
;
70
int
new_label
;
71
}
ElemTrans
;
72
73
struct
Point
74
{
75
double
x,
y
;
76
};
77
78
#define EPSILON 1e-9
79
85
class
Util
86
{
87
public
:
94
static
void
sort(
void
** items,
int
N,
bool
( *greater )(
void
*l,
void
*r ) );
95
96
static
QLinkedList<const GEOSGeometry*>
* unmulti(
const
GEOSGeometry* the_geom );
97
};
98
99
100
}
// namespace
101
102
#endif
pal.h
pointset.h
pal::Feats::feature
FeaturePart * feature
Definition:
util.h:59
pal::_elementary_transformation
Definition:
util.h:66
pal::ElemTrans
struct pal::_elementary_transformation ElemTrans
pal::Feats::Feats
Feats()
Definition:
util.h:53
pal::Point
Definition:
util.h:73
pal::Feats::shape
PointSet * shape
Definition:
util.h:60
QLinkedList
pal::_elementary_transformation::old_label
int old_label
Definition:
util.h:69
QList
pal::Feats
For usage in problem solving algorithm.
Definition:
util.h:50
pal::Util
Definition:
util.h:85
pal::Feats::priority
double priority
Definition:
util.h:61
pal::FeaturePart
Main class to handle feature.
Definition:
feature.h:91
pal::_elementary_transformation::new_label
int new_label
Definition:
util.h:70
qgsgeometry.h
pal::PointSet
Definition:
pointset.h:64
pal::_elementary_transformation::feat
int feat
Definition:
util.h:68
pal
Definition:
qgsdiagramrendererv2.h:40
pal::Point::y
double y
Definition:
util.h:75
pal::Feats::lPos
QList< LabelPosition * > lPos
Definition:
util.h:62
Generated on Sun Jun 24 2018 11:42:48 for QGIS API Documentation by
1.8.13