DISPLACE  1.0
A spatial model of fisheries to help sustainable fishing and maritime spatial planning
shortestpathbuilder.h
Go to the documentation of this file.
1 // --------------------------------------------------------------------------
2 // DISPLACE: DYNAMIC INDIVIDUAL VESSEL-BASED SPATIAL PLANNING
3 // AND EFFORT DISPLACEMENT
4 // Copyright (c) 2012-2019 Francois Bastardie <fba@aqua.dtu.dk>
5 
6 // This program is free software; you can redistribute it and/or modify
7 // it under the terms of the GNU General Public License as published by
8 // the Free Software Foundation; either version 2 of the License, or
9 // (at your option) any later version.
10 
11 // This program is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
15 
16 // You should have received a copy of the GNU General Public License along
17 // with this program; if not, write to the Free Software Foundation, Inc.,
18 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 // --------------------------------------------------------------------------
20 
21 /* --------------------------------------------------------------------------
22  * DISPLACE: DYNAMIC INDIVIDUAL VESSEL-BASED SPATIAL PLANNING
23  * AND EFFORT DISPLACEMENT
24  * Copyright (c) 2012, 2013, 2014 Francois Bastardie <fba@aqua.dtu.dk>
25  *
26  * This program is free software; you can redistribute it and/or modify
27  * it under the terms of the GNU General Public License as published by
28  * the Free Software Foundation; either version 2 of the License, or
29  * (at your option) any later version.
30  *
31  * This program is distributed in the hope that it will be useful,
32  * but WITHOUT ANY WARRANTY; without even the implied warranty of
33  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
34  * GNU General Public License for more details.
35  *
36  * You should have received a copy of the GNU General Public License along
37  * with this program; if not, write to the Free Software Foundation, Inc.,
38  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
39  * --------------------------------------------------------------------------
40  */
41 #ifndef SHORTESTPATHBUILDER_H
42 #define SHORTESTPATHBUILDER_H
43 
44 #include <memory>
45 
46 #include <QString>
47 
48 class NodeData;
49 class DisplaceModel;
50 
52 {
53 private:
54  struct Impl;
55  std::unique_ptr<Impl> p;
56 public:
57  enum class AlgoType { Dijkstra, AStar };
58 
59  explicit ShortestPathBuilder(DisplaceModel *model, AlgoType type);
60 
61  virtual ~ShortestPathBuilder() noexcept ;
62 
63  enum Format {
65  };
66 
67  void create(std::shared_ptr<NodeData> node, QString path, bool simplify, const QList<std::shared_ptr<NodeData> > &relevantNodes, Format format = Binary);
68  //void appendPostProcessingFilter(PostProcessingFilter);
69 };
70 
71 #endif // SHORTESTPATHBUILDER_H
Definition: shortestpathbuilder.cpp:45
AlgoType
Definition: shortestpathbuilder.h:57
virtual ~ShortestPathBuilder() noexcept
Definition: shortestpathbuilder.h:64
ShortestPathBuilder(DisplaceModel *model, AlgoType type)
Definition: shortestpathbuilder.cpp:113
Definition: displacemodel.h:71
Format
Definition: shortestpathbuilder.h:63
Definition: shortestpathbuilder.h:51
an extension class for Node
Definition: nodedata.h:43
void create(std::shared_ptr< NodeData > node, QString path, bool simplify, const QList< std::shared_ptr< NodeData > > &relevantNodes, Format format=Binary)
Definition: shortestpathbuilder.cpp:120
Definition: shortestpathbuilder.h:64