Quantum GIS API Documentation  1.8
src/analysis/network/qgsgraphdirector.h
Go to the documentation of this file.
00001 /***************************************************************************
00002   qgsgraphdirector.h
00003   --------------------------------------
00004   Date                 : 2010-10-18
00005   Copyright            : (C) 2010 by Yakushev Sergey
00006   Email                : YakushevS <at> list.ru
00007 ****************************************************************************
00008 *                                                                          *
00009 *   This program is free software; you can redistribute it and/or modify   *
00010 *   it under the terms of the GNU General Public License as published by   *
00011 *   the Free Software Foundation; either version 2 of the License, or      *
00012 *   (at your option) any later version.                                    *
00013 *                                                                          *
00014 ***************************************************************************/
00015 #ifndef QGSGRAPHDIRECTORH
00016 #define QGSGRAPHDIRECTORH
00017 
00018 //QT4 includes
00019 #include <QObject>
00020 #include <QVector>
00021 #include <QList>
00022 
00023 //QGIS includes
00024 #include <qgspoint.h>
00025 #include "qgsarcproperter.h"
00026 
00027 //forward declarations
00028 class QgsGraphBuilderInterface;
00029 
00035 class ANALYSIS_EXPORT QgsGraphDirector : public QObject
00036 {
00037     Q_OBJECT
00038 
00039   signals:
00040     void buildProgress( int, int ) const;
00041     void buildMessage( QString ) const;
00042 
00043   public:
00045     virtual ~QgsGraphDirector() { };
00046 
00058     virtual void makeGraph( QgsGraphBuilderInterface *builder,
00059                             const QVector< QgsPoint > &additionalPoints,
00060                             QVector< QgsPoint > &tiedPoints ) const
00061     {
00062       Q_UNUSED( builder );
00063       Q_UNUSED( additionalPoints );
00064       Q_UNUSED( tiedPoints );
00065     }
00066 
00067     void addProperter( QgsArcProperter* prop )
00068     {
00069       mProperterList.push_back( prop );
00070     }
00071 
00075     virtual QString name() const = 0;
00076 
00077   protected:
00078     QList<QgsArcProperter*> mProperterList;
00079 };
00080 #endif //QGSGRAPHDIRECTORH
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines