VizualizerWPF
Data Structures
Here are the data structures with brief descriptions:
[detail level 12]
 NVizualizerWPFIn MainWindow.xaml we have one mainCanvas, topbar for setting constant and resizing/closing the window There are also some information about a drawing. To operate with the drawing, there are some buttons to help us, adding, removing, ... Then values we want to consider are shown, for more see User's guide
 CAppInteraction logic for App.xaml
 CLineWithCoeffientsLine in form ax + by + c = 0
 CHalfLineWithCoeffientsHalf line with the direction which is either the same or opposite to "line", the "direction" choose which one
 CCollisionDetection
 CCustomMath
 CEdgeClass to store edges in graph meaming all lines and points
 CEdgeListExtensionsExtension class on list of Edges
 CForceDirectedAlgorithmsClass to apply (iteratively) force-directed algorithm
 CGraphCoordinatesClass to store graph to know what to draw on canvas

Parameters
verticesHashset to store vertices
edgeList to store edges
neigborsDictionary to store neighbors of all vertices
 CGraphGeneratorClass to read drawing from file, create and store graphs
 CHashSetExtesions
 CMainWindow
 CPointExtensionsClass to extend methods as Scale Point Add two Points, Multiply point with int Substract two points and Method point ToVector
 CVertexStruct to store vertices

Parameters
ellipseDrawing of vertex
centerCenter of vertex
stateState of vertex

Implementing IEqualityComparer <Vertex> , IEquatable <Vertex> to index HashSet and Dictionary