QGIS API Documentation
3.6.0-Noosa (5873452)
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
#define SIP_NO_FILE
34
35
36
#include <QList>
37
38
namespace
pal
39
{
40
41
class
LabelPosition;
42
class
Layer;
43
class
FeaturePart;
44
50
class
Feats
51
{
52
public
:
54
Feats
() =
default
;
55
56
FeaturePart
*
feature
=
nullptr
;
57
PointSet
*
shape
=
nullptr
;
58
double
priority
= 0;
59
QList< LabelPosition *>
lPos
;
60
};
61
62
63
typedef
struct
_elementary_transformation
64
{
65
int
feat
;
66
int
old_label
;
67
int
new_label
;
68
}
ElemTrans
;
69
70
struct
Point
71
{
72
double
x,
y
;
73
};
74
75
#define EPSILON 1e-9
76
82
class
Util
83
{
84
public
:
85
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
Q_DECLARE_TYPEINFO
(
pal::Point
, Q_PRIMITIVE_TYPE );
101
102
#endif
pal::Feats::feature
FeaturePart * feature
Definition:
util.h:56
pal::Feats::Feats
Feats()=default
Constructor for Feats.
pal::_elementary_transformation
Definition:
util.h:63
pal::ElemTrans
struct pal::_elementary_transformation ElemTrans
pal::Point
Definition:
util.h:70
pal::Feats::shape
PointSet * shape
Definition:
util.h:57
pal::_elementary_transformation::old_label
int old_label
Definition:
util.h:66
Q_DECLARE_TYPEINFO
Q_DECLARE_TYPEINFO(pal::Point, Q_PRIMITIVE_TYPE)
pal::Feats::lPos
QList< LabelPosition * > lPos
Definition:
util.h:59
pal::Feats
For usage in problem solving algorithm.
Definition:
util.h:50
pal::Util
Definition:
util.h:82
pal::Feats::priority
double priority
Definition:
util.h:58
pal::FeaturePart
Main class to handle feature.
Definition:
feature.h:96
pal::_elementary_transformation::new_label
int new_label
Definition:
util.h:67
pal::PointSet
Definition:
pointset.h:68
pal::_elementary_transformation::feat
int feat
Definition:
util.h:65
pal
Definition:
qgsdiagramrenderer.h:47
pal::Point::y
double y
Definition:
util.h:72
Generated on Sat Feb 23 2019 03:59:22 for QGIS API Documentation by
1.8.13