QGIS API Documentation
3.26.3-Buenos Aires (65e4edfdad)
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
w
z
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
w
z
Variables
Typedefs
Enumerations
Enumerator
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
2
3
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
2
3
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
c
e
f
g
h
k
l
m
o
p
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Related Functions
3
a
b
c
d
e
f
g
i
l
m
n
o
p
q
r
s
t
v
Files
File List
File Members
All
3
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Variables
a
b
c
d
e
f
g
h
i
l
n
o
p
q
r
s
t
u
w
Typedefs
3
a
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
Enumerator
c
l
s
t
Macros
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
w
x
y
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
src
core
qgsvector.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgsvector.cpp - QgsVector
3
4
---------------------
5
begin : 24.2.2017
6
copyright : (C) 2017 by Matthias Kuhn
7
email : matthias@opengis.ch
8
***************************************************************************
9
* *
10
* This program is free software; you can redistribute it and/or modify *
11
* it under the terms of the GNU General Public License as published by *
12
* the Free Software Foundation; either version 2 of the License, or *
13
* (at your option) any later version. *
14
* *
15
***************************************************************************/
16
17
#include "
qgsvector.h
"
18
#include "
qgis.h
"
19
#include "
qgsexception.h
"
20
21
QgsVector
QgsVector::rotateBy
(
double
rot )
const
22
{
23
const
double
angle
= std::atan2( mY, mX ) + rot;
24
const
double
len =
length
();
25
return
QgsVector
( len * std::cos(
angle
), len * std::sin(
angle
) );
26
}
27
28
QgsVector
QgsVector::normalized
()
const
29
{
30
const
double
len =
length
();
31
32
if
( len == 0.0 )
33
{
34
throw
QgsException
( QStringLiteral(
"normalized vector of null vector undefined"
) );
35
}
36
37
return
*
this
/ len;
38
}
QgsException
Defines a QGIS exception class.
Definition:
qgsexception.h:34
QgsVector::angle
double angle() const SIP_HOLDGIL
Returns the angle of the vector in radians.
Definition:
qgsvector.h:186
QgsVector::rotateBy
QgsVector rotateBy(double rot) const SIP_HOLDGIL
Rotates the vector by a specified angle.
Definition:
qgsvector.cpp:21
qgis.h
QgsVector::QgsVector
QgsVector()=default
Default constructor for QgsVector.
QgsVector::normalized
QgsVector normalized() const SIP_THROW(QgsException)
Returns the vector's normalized (or "unit") vector (ie same angle but length of 1....
Definition:
qgsvector.cpp:28
qgsvector.h
QgsVector::length
double length() const SIP_HOLDGIL
Returns the length of the vector.
Definition:
qgsvector.h:142
QgsVector
A class to represent a vector. Currently no Z axis / 2.5D support is implemented.
Definition:
qgsvector.h:29
qgsexception.h
Generated on Sun Sep 11 2022 00:03:17 for QGIS API Documentation by
1.8.17