%ModuleHeaderCode #include %End /** * \ingroup analysis * \class QgsGraphDirector * \brief Determine making the graph. QgsGraphBuilder and QgsGraphDirector * are implemented using "builder" design patter. */ class QgsGraphDirector : QObject { %TypeHeaderCode #include %End %ConvertToSubClassCode if ( dynamic_cast< QgsVectorLayerDirector* > ( sipCpp ) != NULL ) sipType = sipType_QgsVectorLayerDirector; else sipType = NULL; %End signals: void buildProgress( int, int ) const; void buildMessage( const QString& ) const; public: //! Destructor virtual ~QgsGraphDirector(); /** * Make a graph using QgsGraphBuilder * * @param builder the graph builder * @param additionalPoints list of points that should be snapped to the graph * @param snappedPoints list of snapped points * @note if snappedPoints[i] == QgsPoint(0.0,0.0) then snapping failed. */ virtual void makeGraph( QgsGraphBuilderInterface *builder, const QVector< QgsPoint > &additionalPoints, QVector< QgsPoint > &snappedPoints /Out/ ) const; //! Add optimization strategy void addStrategy( QgsNetworkStrategy* prop /Transfer/); //! Returns director name virtual QString name() const = 0; };