pgRouting  2.2
pgRouting extends the PostGIS / PostgreSQL geospatial database to provide geospatial routing functionality.
 All Classes Functions Variables Pages
pgr_withPoints.hpp
1 /*PGR-GNU*****************************************************************
2 File: withPoints_driver.h
3 
4 Copyright (c) 2015 pgRouting developers
5 Mail: project@pgrouting.org
6 
7 Function's developer:
8 Copyright (c) 2015 Celia Virginia Vergara Castillo
9 Mail:
10 
11 ------
12 
13 This program is free software; you can redistribute it and/or modify
14 it under the terms of the GNU General Public License as published by
15 the Free Software Foundation; either version 2 of the License, or
16 (at your option) any later version.
17 
18 This program is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 GNU General Public License for more details.
22 
23 You should have received a copy of the GNU General Public License
24 along with this program; if not, write to the Free Software
25 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
26 
27 ********************************************************************PGR-GNU*/
28 
29 #pragma once
30 
31 #include "./../../common/src/pgr_types.h"
32 #include "./../../common/src/basePath_SSEC.hpp"
33 
34 int
35 check_points(std::vector< Point_on_edge_t > &points,
36  std::ostringstream &log);
37 
38 void
39 eliminate_details_dd(
40  Path &path);
41 
42 void
43 eliminate_details(
44  Path &path,
45  const std::vector< pgr_edge_t > &point_edges);
46 
47 void
48 adjust_pids(
49  const std::vector< Point_on_edge_t > &points,
50  Path &path);
51 
52 
53 bool
54 create_new_edges(
55  std::vector< Point_on_edge_t > &points,
56  const std::vector< pgr_edge_t > &edges,
57  char driving_side,
58  std::vector< pgr_edge_t > &new_edges);
59 
60 bool
61 create_new_edges(
62  std::vector< Point_on_edge_t > &points,
63  const std::vector< pgr_edge_t > &edges,
64  char driving_side,
65  std::vector< pgr_edge_t > &new_edges,
66  std::ostringstream &log);