added graph data access
This commit is contained in:
		
							parent
							
								
									1bd24f7042
								
							
						
					
					
						commit
						8753dbdb0f
					
				| @ -30,13 +30,43 @@ or see http://www.gnu.org/licenses/agpl.txt. | |||||||
| 
 | 
 | ||||||
| #include <string> | #include <string> | ||||||
| 
 | 
 | ||||||
|  | template<class EdgeDataT> | ||||||
| class QueryDataFacade { | class QueryDataFacade { | ||||||
| public: | public: | ||||||
|     QueryDataFacade() { } |     QueryDataFacade() { } | ||||||
|     virtual ~QueryDataFacade() { } |     virtual ~QueryDataFacade() { } | ||||||
| 
 | 
 | ||||||
|     //search graph access
 |     //search graph access
 | ||||||
|     //TODO
 |     virtual unsigned GetNumberOfNodes() const = 0; | ||||||
|  | 
 | ||||||
|  |     virtual unsigned GetNumberOfEdges() const = 0; | ||||||
|  | 
 | ||||||
|  |     virtual unsigned GetOutDegree( const NodeID n ) const = 0; | ||||||
|  | 
 | ||||||
|  |     virtual NodeID GetTarget( const EdgeID e ) const = 0; | ||||||
|  | 
 | ||||||
|  |     virtual EdgeDataT &GetEdgeData( const EdgeID e ) = 0; | ||||||
|  | 
 | ||||||
|  |     virtual const EdgeDataT &GetEdgeData( const EdgeID e ) const = 0; | ||||||
|  | 
 | ||||||
|  |     virtual EdgeID BeginEdges( const NodeID n ) const = 0; | ||||||
|  | 
 | ||||||
|  |     virtual EdgeID EndEdges( const NodeID n ) const = 0; | ||||||
|  | 
 | ||||||
|  |     //searches for a specific edge
 | ||||||
|  |     virtual EdgeID FindEdge( const NodeID from, const NodeID to ) const = 0; | ||||||
|  | 
 | ||||||
|  |     virtual EdgeID FindEdgeInEitherDirection( | ||||||
|  |         const NodeID from, | ||||||
|  |         const NodeID to | ||||||
|  |     ) const = 0; | ||||||
|  | 
 | ||||||
|  |     virtual EdgeID FindEdgeIndicateIfReverse( | ||||||
|  |         const NodeID from, | ||||||
|  |         const NodeID to, | ||||||
|  |         bool & result | ||||||
|  |     ) const = 0; | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
|     //node and edge information access
 |     //node and edge information access
 | ||||||
|     virtual FixedPointCoordinate GetCoordinateOfNode( |     virtual FixedPointCoordinate GetCoordinateOfNode( | ||||||
| @ -47,8 +77,6 @@ public: | |||||||
|         const unsigned id |         const unsigned id | ||||||
|     ) const  = 0; |     ) const  = 0; | ||||||
| 
 | 
 | ||||||
|     virtual NodeID GetNumberOfNodes( ) const  = 0; |  | ||||||
| 
 |  | ||||||
|     virtual bool LocateClosestEndPointForCoordinate( |     virtual bool LocateClosestEndPointForCoordinate( | ||||||
|         const FixedPointCoordinate& input_coordinate, |         const FixedPointCoordinate& input_coordinate, | ||||||
|         FixedPointCoordinate& result, |         FixedPointCoordinate& result, | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user