QGIS API Documentation 3.41.0-Master (af5edcb665c)
Loading...
Searching...
No Matches
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#ifdef SIP_RUN
44 if ( dynamic_cast<QgsNetworkDistanceStrategy *>( sipCpp ) != NULL )
45 sipType = sipType_QgsNetworkDistanceStrategy;
46 else if ( dynamic_cast<QgsNetworkSpeedStrategy *>( sipCpp ) != NULL )
47 sipType = sipType_QgsNetworkSpeedStrategy;
48 else
49 sipType = NULL;
51#endif
52
53 public:
54 QgsNetworkStrategy() = default;
55
56 virtual ~QgsNetworkStrategy() = default;
57
62 virtual QSet<int> requiredAttributes() const { return QSet<int>(); }
63
67 virtual QVariant cost( double distance, const QgsFeature &f ) const = 0;
68};
69
70#endif // QGSNETWORKSTRATERGY_H
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Definition qgsfeature.h:58
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
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