QGIS API Documentation
2.14.0-Essen
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
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
49
class
Feats
50
{
51
public
:
52
Feats
()
53
:
feature
( nullptr )
54
,
shape
( nullptr )
55
,
priority
( 0 )
56
{}
57
58
FeaturePart
*
feature
;
59
PointSet
*
shape
;
60
double
priority
;
61
QList< LabelPosition*>
lPos
;
62
};
63
64
65
typedef
struct
_elementary_transformation
66
{
67
int
feat
;
68
int
old_label
;
69
int
new_label
;
70
}
ElemTrans
;
71
72
struct
Point
73
{
74
double
x,
y
;
75
};
76
77
#define EPSILON 1e-9
78
83
class
Util
84
{
85
public
:
92
static
void
sort(
void
** items,
int
N,
bool
( *greater )(
void
*l,
void
*r ) );
93
94
static
QLinkedList<const GEOSGeometry*>
* unmulti(
const
GEOSGeometry* the_geom );
95
};
96
97
98
}
// namespace
99
100
#endif
pal.h
pointset.h
pal::Feats::feature
FeaturePart * feature
Definition:
util.h:58
pal::_elementary_transformation
Definition:
util.h:65
pal::ElemTrans
struct pal::_elementary_transformation ElemTrans
pal::Feats::Feats
Feats()
Definition:
util.h:52
pal::Point
Definition:
util.h:72
pal::Feats::shape
PointSet * shape
Definition:
util.h:59
QLinkedList
pal::_elementary_transformation::old_label
int old_label
Definition:
util.h:68
QList
pal::Feats
For usage in problem solving algorithm.
Definition:
util.h:49
pal::Util
Definition:
util.h:83
pal::Feats::priority
double priority
Definition:
util.h:60
pal::FeaturePart
Main class to handle feature.
Definition:
feature.h:90
pal::_elementary_transformation::new_label
int new_label
Definition:
util.h:69
qgsgeometry.h
pal::PointSet
Definition:
pointset.h:63
pal::_elementary_transformation::feat
int feat
Definition:
util.h:67
pal
Definition:
qgsdiagramrendererv2.h:38
pal::Point::y
double y
Definition:
util.h:74
pal::Feats::lPos
QList< LabelPosition * > lPos
Definition:
util.h:61
Generated on Sat Feb 27 2016 18:33:25 for QGIS API Documentation by
1.8.11