-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.html
127 lines (110 loc) · 7.41 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<!DOCTYPE HTML>
<html lang="en">
<style>
</style>
<head>
<meta charset="utf-8" />
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="style.css">
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.12.4.min.js"></script>
<title>PlanarGraphLab</title>
</head>
<body onload="onload()" onresize="onresize()">
<p class="h3">PlanarGraphLab</h1>
<ul class="list-group list-group-horizontal my-3" id="graphModes">
<li class="list-group-item list-group-item-action active" onclick="modeClick(0)">Selection</li>
<li class="list-group-item list-group-item-action" onclick="modeClick(1)">Vertices</li>
<li class="list-group-item list-group-item-action" onclick="modeClick(2)">Edges</li>
<li class="list-group-item list-group-item-action" onclick="modeClick(3); changeAlgorithmsVisible(true)">Algorithms</li>
<li class="list-group-item list-group-item-action" onclick="modeClick(4); changePredefinedVisible(true)">Predefined</li>
<li class="list-group-item list-group-item-action" onclick="modeClick(5); changeJsonToolsVisible(true)">JSON</li>
</ul>
<ul class="list-group list-group-horizontal my-3 collapse" id="vertexTools">
<li class="list-group-item list-group-item-action" onclick="vertexToolClick(0)">Delete</li>
<li class="list-group-item list-group-item-action" onclick="vertexToolClick(1)">Make source</li>
<li class="list-group-item list-group-item-action" onclick="vertexToolClick(2)">Make target</li>
<li class="list-group-item list-group-item-action" onclick="vertexToolClick(3)">Delete source</li>
<li class="list-group-item list-group-item-action" onclick="vertexToolClick(4)">Delete target</li>
</ul>
<ul class="list-group list-group-horizontal my-3 collapse" id="edgeTools">
<li class="list-group-item list-group-item-action" onclick="edgeToolClick(0)">Delete</li>
<li class="list-group-item list-group-item-action" onclick="edgeToolClick(1)">Expand</li>
<li class="list-group-item list-group-item-action" onclick="edgeToolClick(2)">Contract</li>
<li class="list-group-item list-group-item-action" onclick="edgeToolClick(3)">Change Orientation</li>
<li class="list-group-item list-group-item-action" onclick="edgeToolClick(4)">Set Weight</li>
</ul>
<ul class="list-group list-group-horizontal my-3 collapse" id="algorithms">
<li class="list-group-item list-group-item-action" onclick="algorithmClick(0)">Triangulate</li>
<li class="list-group-item list-group-item-action" onclick="algorithmClick(1)">Planar Separator Case 1, (Case 2 WIP)</li>
<li class="list-group-item list-group-item-action" onclick="algorithmClick(2)">Weight Max. Matching</li>
<li class="list-group-item list-group-item-action" onclick="algorithmClick(3)">Mixed Max Cut</li>
<li class="list-group-item list-group-item-action" onclick="algorithmClick(4)">Max Flow</li>
<li class="list-group-item list-group-item-action" onclick="algorithmClick(5)">Disjunct S-T-Paths</li>
<li class="list-group-item list-group-item-action" onclick="algorithmClick(6)">LR Planarity Test</li>
<li class="list-group-item list-group-item-action" onclick="algorithmClick(7)">Okamura-Seymour Disjunct Paths</li>
</ul>
<ul class="list-group list-group-horizontal my-3 collapse" id="predefinedGraphs">
<li class="list-group-item list-group-item-action" onclick="predefinedClick(2)">Debug Graph</li>
<li class="list-group-item list-group-item-action" onclick="predefinedClick(3)">Sigma Graph</li>
<li class="list-group-item list-group-item-action" onclick="predefinedClick(4)">Star Graph</li>
<li class="list-group-item list-group-item-action" onclick="predefinedClick(5)">Tri Star Graph (Pre-Cases)</li>
<li class="list-group-item list-group-item-action" onclick="predefinedClick(6)">Big mü Graph (PS Case 2)</li>
<li class="list-group-item list-group-item-action" onclick="predefinedClick(7)">PS Case 1 Graph</li>
<li class="list-group-item list-group-item-action" onclick="predefinedClick(8)">Create Wheel</li>
<li class="list-group-item list-group-item-action" onclick="predefinedClick(9)">Weight Max Graph</li>
<li class="list-group-item list-group-item-action" onclick="predefinedClick(10)">Mixed Max Graph</li>
<li class="list-group-item list-group-item-action" onclick="predefinedClick(11)">Max Flow Graph</li>
<li class="list-group-item list-group-item-action" onclick="predefinedClick(12)">Nice ST Graph</li>
<li class="list-group-item list-group-item-action" onclick="predefinedClick(13)">Planarity Test Graph</li>
<li class="list-group-item list-group-item-action" onclick="predefinedClick(14)">Oka Sey Graph</li>
</ul>
<ul class="list-group list-group-horizontal my-3 collapse" id="jsonTools">
<li class="list-group-item list-group-item-action" onclick="jsonClick(0)">Get current graph representation</li>
<li class="list-group-item list-group-item-action" onclick="jsonClick(1)">Load graph from JSON</li>
</ul>
<canvas id="fgCanvas"></canvas>
<div id="algoControlPanel" class="invisible">
<p>
<button id="stepButton" type="button" class="btn btn-primary disabled" onclick="stepClick()">Step</button>
<button id="runCompleteButton" type="button" class="btn btn-success disabled" onclick="runCompleteClick()">Run to completion</button>
<button id="finishButton" type="button" class="btn btn-success collapse" onclick="finishClick()">Finish</button>
</p>
<div class="card" id="stepCard" style="width: 30rem;">
<div class="card-body">
<h5 id="stepTitle" class="card-title"></h5>
<p id="stepDescription" class="card-text"></p>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"
integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js"
integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"
integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl"
crossorigin="anonymous"></script>
</body>
<script src="js/vertex.js"></script>
<script src="js/edge.js"></script>
<script src="js/graph.js"></script>
<script src="js/canvasUpdates.js"></script>
<script src="js/eventHandler.js"></script>
<script src="js/predefined.js"></script>
<script src="js/jsonTools.js"></script>
<script src="js/graphAlgorithms/algorithms.js"></script>
<script src="js/graphAlgorithms/triangulationAlgorithm.js"></script>
<script src="js/graphAlgorithms/planarSeparatorAlgo.js"></script>
<script src="js/graphAlgorithms/weightMaxMatchingAlgo.js"></script>
<script src="js/graphAlgorithms/mixedMaxCutAlgo.js"></script>
<script src="js/graphAlgorithms/flowAlgorithms.js"></script>
<script src="js/graphAlgorithms/planarityAlgorithm.js"></script>
<script src="js/graphAlgorithms/okamuraSeymourAlgo.js"></script>
<script src="js/helperFunctions/facetHelper.js"></script>
<script src="js/helperFunctions/depthFirstSearchHelper.js"></script>
<script src="js/helperFunctions/intersectTest.js"></script>
<script src="js/helperFunctions/helperFuncs.js"></script>
</html>