-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMain.cpp
56 lines (41 loc) · 1.61 KB
/
Main.cpp
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
#include <iostream>
#include <map>
#include "scaling/Scaling.h"
#include "io/GraphLoader.h"
#include "io/user-input/UserInputPrompt.h"
#include "io/user-input/UserInputCMD.h"
std::string logo = " ____ _ ____ \n"
" / ___| __ _ _ __ ___ _ __ | | ___ / ___| _ __ _ __ __ _ _ _ \n"
" \\___ \\ / _` | '_ ` _ \\| '_ \\| |/ _ \\ \\___ \\| '_ \\| '__/ _` | | | |\n"
" ___) | (_| | | | | | | |_) | | __/ ___) | |_) | | | (_| | |_| |\n"
" |____/ \\__,_|_| |_| |_| .__/|_|\\___| |____/| .__/|_| \\__,_|\\__, |\n"
" |_| |_| |___/ ";
void scaleUp(Graph *graph, UserInput *userInput);
void scaleDown(Graph* graph, UserInput *userInput);
UserInput* getUserInput(int argc, char* argv[]);
void scaleGraph(UserInput *userInput, Graph *graph);
int main(int argc, char* argv[]) {
std::cout << logo << std::endl;
UserInput* userInput = getUserInput(argc, argv);
GraphLoader* graphLoader = new GraphLoader();
Graph* graph = graphLoader->loadGraph(userInput->getInputGraphPath());
scaleGraph(userInput, graph);
delete(userInput);
delete(graphLoader);
return 0;
}
void scaleGraph(UserInput* userInput, Graph *graph) {
Scaling* scaling = new Scaling(graph, userInput);
if (userInput->getScalingType() == 1) {
scaling->scaleUp();
} else {
scaling->scaleDown();
}
delete(scaling);
}
UserInput* getUserInput(int argc, char* argv[]) {
if (argc > 1) {
return new UserInputCMD(argc, argv);
}
return new UserInputPrompt();
}