How to work with our project?  OrianHindi/Graphs GitHub Wiki
Hello user,
at this page we will explain you all the interfaces, classes and functions.
if you want to work with our project, first you have to know it.
The graph is constructed from five packages:
algorithms, data structur, GUI, test and utils.
let us show you the three main packages:
DATA STRUCTURE:
graph this interface represents a graph with few functions.
getters and setters, add node, connect, remove node and remove edge.
DGraph this class implements graph interface, and realize all the functions.
in addition, DGraph implements Serializable.
edge_data this interface represents edge in the graph.
edge is a line between two points.
edge_data includes getters and setters of all the properties of the edge.
the properties:
Src the point from which the edge get out
Dest the point from which the edge get in
Weight the "Weight" of the edge, is the "cost" to over on the edge.
Tag boolean factor to know if we was at that edge.
Edge this class implements edge_data interface, and realize all the functions.
the class include constructors.
node_data this interface represents node in the graph. (point)
node is a point in a graph. the nodes connected with edges.
node_data includes getters and setters of all the properties of the node.
the properties:
Key the number of the point. like ID.
Location the location at (x,y,z) 3D.
Weight " how much i pay to get this point ? "
Tag boolean factor to know if we was at that node.
Node this class implements node_data interface, and realize all the functions.
the class include constructors.
ALGORITHMS:
graph_algorithms this interface represents the algorithms are work on the graphs.
with those algorithms we can to provide information about the graph.
the properties of the interface:
init initialize graph.

you can init graph from file.

you can save graph to file.
copy deep copy of the graph.
isConnected we check if the graph is strong connected.
returns true if and only if (iff) there is a valid path from EVREY node to each other node.
shortestPathDist that function returns the length of the shortest path between src and dest.
shortestPath returns the the shortest path between src to dest  as an ordered List of nodes.
TSP computes a relatively short path which visit each node in the targets List.
Graph_Algo this class implements graph_algorithm and realize all the functions.
We make some auxiliary functions to make it better and readable, like STPRec, transPose and DFSUtil.
GUI:
Graph_GUI this class represents the GUI of the project.
here we "make it real". and you can see the graph on your eyes.
the class allowed to display a graph, save it, run algorithms on it, and display the results.
we did functions like: print graph, add edge, add node and more.