added graph data access
This commit is contained in:
parent
4900f3e54d
commit
a04f77e7e0
@ -30,13 +30,43 @@ or see http://www.gnu.org/licenses/agpl.txt.
|
||||
|
||||
#include <string>
|
||||
|
||||
template<class EdgeDataT>
|
||||
class QueryDataFacade {
|
||||
public:
|
||||
QueryDataFacade() { }
|
||||
virtual ~QueryDataFacade() { }
|
||||
|
||||
//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
|
||||
virtual FixedPointCoordinate GetCoordinateOfNode(
|
||||
@ -47,8 +77,6 @@ public:
|
||||
const unsigned id
|
||||
) const = 0;
|
||||
|
||||
virtual NodeID GetNumberOfNodes( ) const = 0;
|
||||
|
||||
virtual bool LocateClosestEndPointForCoordinate(
|
||||
const FixedPointCoordinate& input_coordinate,
|
||||
FixedPointCoordinate& result,
|
||||
|
Loading…
Reference in New Issue
Block a user