|
PGROUTING
3.2
|
Go to the documentation of this file.
26 #ifndef INCLUDE_TRSP_PGR_TRSPHANDLER_H_
27 #define INCLUDE_TRSP_PGR_TRSPHANDLER_H_
56 typedef std::pair<double, std::pair<int64_t, bool>>
PDP;
105 const size_t edge_count,
107 const std::vector<Rule> &ruleList);
114 const int64_t start_vertex,
115 const int64_t end_vertex);
118 const std::vector<int64_t> sources,
119 const std::vector<int64_t> targets);
127 const size_t edge_count,
128 const bool directed);
131 const std::vector<Rule> &ruleList);
154 size_t firstEdge_idx,
155 size_t secondEdge_idx);
158 size_t firstEdge_idx,
159 size_t secondEdge_idx);
166 const size_t edge_count)
const;
213 std::priority_queue<PDP, std::vector<PDP>, std::greater<PDP> >
que;
220 #endif // INCLUDE_TRSP_PGR_TRSPHANDLER_H_
int64_t renumber_edges(pgr_edge_t *edges, const size_t edge_count) const
EdgeInfo dijkstra_exploration()
Path process(const int64_t start_vertex, const int64_t end_vertex)
process
std::vector< Position > v_pos
void explore(int64_t cur_node, const EdgeInfo cur_edge, bool isStart)
std::vector< CostHolder > m_dCost
std::map< int64_t, std::vector< Rule > > m_ruleTable
void construct_graph(pgr_edge_t *edges, const size_t edge_count, const bool directed)
bool isIllegal(Position i)
~Pgr_trspHandler(void)=default
#define pgassert(expr)
Uses the standard assert syntax.
std::map< int64_t, std::vector< size_t > > m_adjacency
m_adjacency[vertex] = {edges}
void add_to_que(double cost, size_t e_idx, bool isStart)
std::vector< size_t > e_idx
std::map< int64_t, int64_t > m_mapEdgeId2Index
Used only to veryfy that there are no reppetitions inserted the way it orks, repeating edges id is no...
bool addEdge(const pgr_edge_t edgeIn)
Path process_trsp(size_t edge_count)
std::vector< EdgeInfo > m_edges
double get_tot_cost(double cost, size_t edge_idx, bool isStart)
void connectStartEdge(size_t firstEdge_idx, size_t secondEdge_idx)
Pgr_trspHandler(void)=delete
int initialize_restrictions(const std::vector< Rule > &ruleList)
std::vector< Predecessor > m_parent
std::pair< double, std::pair< int64_t, bool > > PDP
Used in the priority queue.
double getRestrictionCost(int64_t cur_node, const EdgeInfo &new_edge, bool isStart)
void connectEndEdge(size_t firstEdge_idx, size_t secondEdge_idx)
std::priority_queue< PDP, std::vector< PDP >, std::greater< PDP > > que
Book keeping class for swapping orders between vehicles.
double construct_path(int64_t ed_id, Position pos)