XX CMake Package
Loading...
Searching...
No Matches
XXGraphEdge.h
Go to the documentation of this file.
1#ifndef XXDiscreteMathsEdgeH
2#define XXDiscreteMathsEdgeH
3
4#include "XXMathExportDef.h"
5
6#include "XXGraph.h"
7
8class Vertex;
9
10namespace XX
11{
15
17 {
18 public:
19 static const double invalidWeight;
20
21 public:
22 Edge(Vertex* vertexA = nullptr, Vertex* vertexB = nullptr, const double& weightForward = 1.0, const double& weightBackward = Edge::invalidWeight);
23
24 public:
25 virtual double getForwardWeight() const;
26 virtual double getBackwardWeight() const;
27 bool hasForwardLink() const;
28 bool hasBackwardLink() const;
29 bool linksVertex(const Vertex* vertex) const;
30
31 const Vertex* getVertexA() const;
32 const Vertex* getVertexB() const;
33
34 protected:
39
40 private:
41 friend class Graph;
42 };
43} // namespace XX
44
45#endif // NOT XXDiscreteMathsEdgeH
#define XXMATH_DECLSPEC
Definition XXMathExportDef.h:17
Edge(Vertex *vertexA=nullptr, Vertex *vertexB=nullptr, const double &weightForward=1.0, const double &weightBackward=Edge::invalidWeight)
virtual double getForwardWeight() const
double weightBackward
Definition XXGraphEdge.h:38
static const double invalidWeight
Definition XXGraphEdge.h:19
Vertex * vertexA
Definition XXGraphEdge.h:35
virtual double getBackwardWeight() const
Vertex * vertexB
Definition XXGraphEdge.h:36
double weightForward
Definition XXGraphEdge.h:37
bool hasForwardLink() const
const Vertex * getVertexB() const
bool linksVertex(const Vertex *vertex) const
const Vertex * getVertexA() const
bool hasBackwardLink() const
friend class Graph
Definition XXGraphEdge.h:41
a vertex in a graph
Definition XXGraphVertex.h:16
Definition XXPopulatedAbstract.h:11