QGIS API Documentation
2.14.11-Essen
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
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::Util::unmulti
static QLinkedList< const GEOSGeometry * > * unmulti(const GEOSGeometry *the_geom)
Definition:
util.cpp:97
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
pal::Util::sort
static void sort(void **items, int N, bool(*greater)(void *l, void *r))
Sort an array of pointers.
Definition:
util.cpp:50
pal::Point::x
double x
Definition:
util.h:74
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 Wed Jan 25 2017 08:47:17 for QGIS API Documentation by
1.8.8