/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/analysis/network/qgsgraphdirector.h                              *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/





%ModuleHeaderCode
#include <qgsvectorlayerdirector.h>
%End

class QgsGraphDirector : QObject
{
%Docstring(signature="appended")
Determine making the graph. :py:class:`QgsGraphBuilder` and
:py:class:`QgsGraphDirector` implemented using "builder" design patter.
%End

%TypeHeaderCode
#include "qgsgraphdirector.h"
%End
%ConvertToSubClassCode
    if ( dynamic_cast<QgsVectorLayerDirector *>( sipCpp ) != NULL )
      sipType = sipType_QgsVectorLayerDirector;
    else
      sipType = NULL;
%End
  public:
    ~QgsGraphDirector();

    virtual void makeGraph( QgsGraphBuilderInterface *builder, const QVector<QgsPointXY> &additionalPoints, QVector<QgsPointXY> &snappedPoints /Out/, QgsFeedback *feedback = 0 ) const;
%Docstring
Make a graph using :py:class:`QgsGraphBuilder`

:param builder: the graph builder
:param additionalPoints: list of points that should be snapped to the
                         graph
:param feedback: feedback object for reporting progress

.. note::

   if snappedPoints[i] == QgsPointXY(0.0,0.0) then snapping failed.

:return: list of snapped points
%End

    void addStrategy( QgsNetworkStrategy *prop /Transfer/ );
%Docstring
Add optimization strategy
%End

    virtual QString name() const = 0;
%Docstring
Returns director name
%End

  protected:
};

/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/analysis/network/qgsgraphdirector.h                              *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/
