QGIS API Documentation
3.26.3-Buenos Aires (65e4edfdad)
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
#include <vector>
38
#include <memory>
39
40
namespace
pal
41
{
42
43
class
LabelPosition;
44
class
Layer;
45
class
FeaturePart;
46
class
PointSet;
47
53
class
Feats
54
{
55
public
:
57
Feats
() =
default
;
58
59
FeaturePart
*
feature
=
nullptr
;
60
PointSet
*
shape
=
nullptr
;
61
double
priority
= 0;
62
std::vector< std::unique_ptr< LabelPosition > >
candidates
;
63
};
64
65
66
struct
ElemTrans
67
{
68
int
feat
;
69
int
old_label
;
70
int
new_label
;
71
};
72
73
struct
Point
74
{
75
double
x
,
y
;
76
};
77
78
#define EPSILON 1e-9
79
86
class
Util
87
{
88
public
:
89
90
static
QLinkedList<const GEOSGeometry *> *
unmulti
(
const
GEOSGeometry *the_geom );
91
};
92
93
94
}
// namespace
95
96
Q_DECLARE_TYPEINFO
(
pal::Point
, Q_PRIMITIVE_TYPE );
97
98
#endif
pal::ElemTrans
Definition:
util.h:66
pal::Feats::Feats
Feats()=default
Constructor for Feats.
pal::Util
Pal utilities.
Definition:
util.h:86
pal::Point::y
double y
Definition:
util.h:75
pal::ElemTrans::feat
int feat
Definition:
util.h:68
pal::Util::unmulti
static QLinkedList< const GEOSGeometry * > * unmulti(const GEOSGeometry *the_geom)
Definition:
util.cpp:40
pal::ElemTrans::old_label
int old_label
Definition:
util.h:69
pal
Definition:
qgsdiagramrenderer.h:50
pal::Point
Definition:
util.h:73
pal::Feats::priority
double priority
Definition:
util.h:61
pal::FeaturePart
Main class to handle feature.
Definition:
feature.h:64
pal::Feats::feature
FeaturePart * feature
Definition:
util.h:59
pal::Feats::candidates
std::vector< std::unique_ptr< LabelPosition > > candidates
Definition:
util.h:62
pal::PointSet
The underlying raw pal geometry class.
Definition:
pointset.h:76
pal::ElemTrans::new_label
int new_label
Definition:
util.h:70
pal::Feats
For usage in problem solving algorithm.
Definition:
util.h:53
pal::Point::x
double x
Definition:
util.h:75
pal::Feats::shape
PointSet * shape
Definition:
util.h:60
Q_DECLARE_TYPEINFO
Q_DECLARE_TYPEINFO(pal::Point, Q_PRIMITIVE_TYPE)
Generated on Sun Sep 11 2022 00:03:17 for QGIS API Documentation by
1.8.17