QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgsnetworkstrategy.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsnetworkstrategy.h
3 --------------------------------------
4 Date : 2011-04-01
5 Copyright : (C) 2010 by Yakushev Sergey
6 Email : YakushevS <at> list.ru
7****************************************************************************
8* *
9* This program is free software; you can redistribute it and/or modify *
10* it under the terms of the GNU General Public License as published by *
11* the Free Software Foundation; either version 2 of the License, or *
12* (at your option) any later version. *
13* *
14***************************************************************************/
15
16#ifndef QGSNETWORKSTRATERGY_H
17#define QGSNETWORKSTRATERGY_H
18
19#include <QVariant>
20
21#include "qgsfeature.h"
22#include "qgis_analysis.h"
23
24#ifdef SIP_RUN
25% ModuleHeaderCode
28% End
29#endif
30
40class ANALYSIS_EXPORT QgsNetworkStrategy
41{
42
43#ifdef SIP_RUN
45 if ( dynamic_cast< QgsNetworkDistanceStrategy * >( sipCpp ) != NULL )
46 sipType = sipType_QgsNetworkDistanceStrategy;
47 else if ( dynamic_cast< QgsNetworkSpeedStrategy * >( sipCpp ) != NULL )
48 sipType = sipType_QgsNetworkSpeedStrategy;
49 else
50 sipType = NULL;
52#endif
53
54 public:
55
59 QgsNetworkStrategy() = default;
60
61 virtual ~QgsNetworkStrategy() = default;
62
67 virtual QSet< int > requiredAttributes() const { return QSet< int >(); }
68
72 virtual QVariant cost( double distance, const QgsFeature &f ) const = 0;
73};
74
75#endif // QGSNETWORKSTRATERGY_H
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Definition: qgsfeature.h:56
Strategy for calculating edge cost based on its length.
Strategy for calculating edge cost based on travel time.
QgsNetworkStrategy defines strategy used for calculation of the edge cost.
virtual QVariant cost(double distance, const QgsFeature &f) const =0
Returns edge cost.
QgsNetworkStrategy()=default
Default constructor.
virtual ~QgsNetworkStrategy()=default
virtual QSet< int > requiredAttributes() const
Returns a list of the source layer attributes needed for cost calculation.
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Definition: qgis_sip.h:191
#define SIP_END
Definition: qgis_sip.h:208