Free cookie consent management tool by TermsFeed Policy Generator

source: branches/1894_RoutePlanning/HeuristicLab.Problems.RoutePlanning/3.3/Interfaces/IGraph.cs @ 16310

Last change on this file since 16310 was 8520, checked in by spimming, 12 years ago

#1894:

  • extended datasource interface to get routing graph for a specific vehicle type
  • use ICostCalculator to calculate edge weights
  • moved common enums in own file
  • removed method to estimate cost from graph; use ICostCalculator
File size: 932 bytes
Line 
1
2using System.Collections.Generic;
3using HeuristicLab.Problems.RoutePlanning.RoutingGraph;
4namespace HeuristicLab.Problems.RoutePlanning.Interfaces {
5  public interface IGraph {
6    void AddVertex(Vertex vertex);
7    Vertex GetVertex(long id);
8    List<Vertex> GetVertices();
9    void AddEdge(long startId, long endId);
10    void AddEdge(Edge<Vertex> edge);
11    void RemoveEdge(long startId, long endId);
12    bool HasEdge(long startId, long endId);
13    Edge<Vertex> GetEdge(long startId, long endId);
14    List<Edge<Vertex>> GetEdges(long vertexId);
15    List<Edge<Vertex>> GetInEdges(long vertexId);
16    List<Edge<Vertex>> GetOutEdges(long vertexId);
17    Dictionary<long, float> GetNeighborsWithWeight(long id);
18    Dictionary<long, float> GetNeighborsWithWeightReversed(long id);
19    int GetOutDegree(long id);
20    int GetInDegree(long id);
21
22    //float EstimatedCosts(long sourceId, long targetId);
23  }
24}
Note: See TracBrowser for help on using the repository browser.