QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
core
vectorfield
qgsvectorfieldtraceanimationgenerator.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsvectorfieldtraceanimationgenerator.h
3
---------------------------------------
4
begin : November 2019
5
copyright : (C) 2019 by Vincent Cloarec
6
email : vcloarec at gmail dot com
7
***************************************************************************/
8
9
/***************************************************************************
10
* *
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
15
* *
16
***************************************************************************/
17
18
#ifndef QGSVECTORFIELDTRACEANIMATIONGENERATOR_H
19
#define QGSVECTORFIELDTRACEANIMATIONGENERATOR_H
20
21
#include <memory>
22
23
#include "qgis_core.h"
24
#include "
qgis_sip.h
"
25
#include "
qgsrendercontext.h
"
26
27
#include <QImage>
28
29
class
QgsMeshLayer
;
30
class
QgsVectorFieldParticleTracesField;
31
class
QgsVectorFieldSettings
;
32
class
QgsVectorFieldValueSource
;
33
48
class
CORE_EXPORT
QgsVectorFieldTraceAnimationGenerator
SIP_NODEFAULTCTORS
49
{
50
public
:
57
QgsVectorFieldTraceAnimationGenerator
(
58
std::unique_ptr<QgsVectorFieldValueSource> source,
const
QgsRenderContext
&rendererContext,
const
QgsVectorFieldSettings
&vectorSettings,
bool
minimizeFieldSize =
true
59
)
SIP_SKIP
;
60
67
static
QgsVectorFieldTraceAnimationGenerator
*
fromMeshLayer
(
QgsMeshLayer
*layer,
const
QgsRenderContext
&rendererContext )
SIP_FACTORY
;
68
69
QgsVectorFieldTraceAnimationGenerator
(
const
QgsVectorFieldTraceAnimationGenerator
&other );
70
71
~QgsVectorFieldTraceAnimationGenerator
();
72
74
void
seedRandomParticles
(
int
count );
75
77
QImage
imageRendered
();
78
80
void
setFramesPerSecond
(
int
frames );
81
83
void
setMaximumSpeedPixel
(
int
pixels );
84
86
void
setParticlesLifeTime
(
double
particleLifeTime );
87
89
void
setParticlesColor
(
const
QColor &
c
);
90
92
void
setParticlesSize
(
double
width );
93
95
void
setTailFactor
(
double
fct );
96
98
void
setMinimumTailLength
(
int
l );
99
101
void
setTailPersitence
(
double
p );
102
103
QgsVectorFieldTraceAnimationGenerator
&
operator=
(
const
QgsVectorFieldTraceAnimationGenerator
&other );
104
105
private
:
106
std::unique_ptr<QgsVectorFieldParticleTracesField> mParticleField;
107
const
QgsRenderContext
&mRendererContext;
108
int
mFps = 15;
//frame per second of the output, used to calculate orher parameters of the field
109
int
mVpixMax = 2000;
//is the number of pixels that are going through for 1 s
110
double
mParticleLifeTime = 5;
111
112
void
updateFieldParameter();
113
114
protected
:
121
QgsVectorFieldTraceAnimationGenerator
(
QgsMeshLayer
*layer,
const
QgsRenderContext
&rendererContext )
SIP_SKIP
;
122
};
123
124
#endif
// QGSVECTORFIELDTRACEANIMATIONGENERATOR_H
QgsMeshLayer
Represents a mesh layer supporting display of data on structured or unstructured meshes.
Definition
qgsmeshlayer.h:105
QgsRenderContext
Contains information about the context of a rendering operation.
Definition
qgsrendercontext.h:63
QgsVectorFieldSettings
Represents a renderer settings for vector datasets.
Definition
qgsvectorfieldsettings.h:39
QgsVectorFieldTraceAnimationGenerator::~QgsVectorFieldTraceAnimationGenerator
~QgsVectorFieldTraceAnimationGenerator()
QgsVectorFieldTraceAnimationGenerator::operator=
QgsVectorFieldTraceAnimationGenerator & operator=(const QgsVectorFieldTraceAnimationGenerator &other)
Definition
qgsvectorfieldtraceanimationgenerator.cpp:184
QgsVectorFieldTraceAnimationGenerator::setMinimumTailLength
void setMinimumTailLength(int l)
Sets the minimum tail length.
Definition
qgsvectorfieldtraceanimationgenerator.cpp:170
QgsVectorFieldTraceAnimationGenerator::QgsVectorFieldTraceAnimationGenerator
QgsVectorFieldTraceAnimationGenerator(std::unique_ptr< QgsVectorFieldValueSource > source, const QgsRenderContext &rendererContext, const QgsVectorFieldSettings &vectorSettings, bool minimizeFieldSize=true)
Constructs a generator sampling the vector field from source, which is taken ownership of.
Definition
qgsvectorfieldtraceanimationgenerator.cpp:28
QgsVectorFieldTraceAnimationGenerator::seedRandomParticles
void seedRandomParticles(int count)
Seeds particles in the vector field.
Definition
qgsvectorfieldtraceanimationgenerator.cpp:121
QgsVectorFieldTraceAnimationGenerator::setParticlesSize
void setParticlesSize(double width)
Sets particle size in px.
Definition
qgsvectorfieldtraceanimationgenerator.cpp:160
QgsVectorFieldTraceAnimationGenerator::setMaximumSpeedPixel
void setMaximumSpeedPixel(int pixels)
Sets the max number of pixels that can be go through by the particles in 1 second.
Definition
qgsvectorfieldtraceanimationgenerator.cpp:143
QgsVectorFieldTraceAnimationGenerator::setParticlesLifeTime
void setParticlesLifeTime(double particleLifeTime)
Sets maximum life time of particles in seconds.
Definition
qgsvectorfieldtraceanimationgenerator.cpp:149
QgsVectorFieldTraceAnimationGenerator::setTailFactor
void setTailFactor(double fct)
Sets the tail factor, used to adjust the length of the tail. 0 : minimum length, >1 increase the tail...
Definition
qgsvectorfieldtraceanimationgenerator.cpp:165
QgsVectorFieldTraceAnimationGenerator::setTailPersitence
void setTailPersitence(double p)
Sets the visual persistence of the tail.
Definition
qgsvectorfieldtraceanimationgenerator.cpp:175
QgsVectorFieldTraceAnimationGenerator::fromMeshLayer
static QgsVectorFieldTraceAnimationGenerator * fromMeshLayer(QgsMeshLayer *layer, const QgsRenderContext &rendererContext)
Returns a generator for the active vector dataset of layer, or nullptr if the layer has no vector dat...
Definition
qgsvectorfieldtraceanimationgenerator.cpp:38
QgsVectorFieldTraceAnimationGenerator::setParticlesColor
void setParticlesColor(const QColor &c)
Sets colors of particle.
Definition
qgsvectorfieldtraceanimationgenerator.cpp:155
QgsVectorFieldTraceAnimationGenerator::imageRendered
QImage imageRendered()
Moves all the particles using frame per second (fps) to calculate the displacement and return the ren...
Definition
qgsvectorfieldtraceanimationgenerator.cpp:127
QgsVectorFieldTraceAnimationGenerator::setFramesPerSecond
void setFramesPerSecond(int frames)
Sets the number of frames per seconds that will be rendered.
Definition
qgsvectorfieldtraceanimationgenerator.cpp:133
QgsVectorFieldValueSource
Abstract source of vector (u/v) values sampled at arbitrary map positions.
Definition
qgsvectorfieldvaluesource.h:48
c
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into c
Definition
porting_processing.dox:1
qgis_sip.h
SIP_SKIP
#define SIP_SKIP
Definition
qgis_sip.h:138
SIP_FACTORY
#define SIP_FACTORY
Definition
qgis_sip.h:83
SIP_NODEFAULTCTORS
#define SIP_NODEFAULTCTORS
Definition
qgis_sip.h:108
qgsrendercontext.h
Generated on
for QGIS API Documentation by
1.17.0