TazGraph Project v0.1.0
Loading...
Searching...
No Matches
GraphLoader.h
1#pragma once
2#include <string>
3#include <fstream>
4#include <sstream>
5
6#include <JsonParser.h>
7
8#include "TazGraphEngine.h"
9
10#include "./Parsers/TextMapParser.h"
11#include "./Parsers/PythonMapParser.h"
12#include "./Parsers/GraphMLMapParser.h"
13#include "./Parsers/DOTMapParser.h"
14#include "./Parsers/SimDumpMapParser.h"
15
16#include "./PathParsers/TextPathParser.h"
17
18#include <algorithm>
19#include <random>
20#include <ctime>
21
23{
24public:
25
26 GraphLoader(Manager& m_manager, int ms, int ns);
28
29 void saveMap(const char* fileName);
30
31 void loadMap(
32 const char* fileName,
33 std::function<void(Entity&, glm::vec3)> addNodeFunc,
34 std::function<void(Entity&)> addLinkFunc,
35 Threader* m_threadPool
36 );
37
38 void loadPaths(const char* fileName, std::function<void(Entity&, glm::vec3)> addNodeFunc, std::function<void(Entity&)> addLinkFunc, Threader* m_threadPool);
39
40 void update(float deltaTime);
41
42 Manager* manager;
43private:
44 std::unique_ptr<IGraphParser> processor;
45
46 int mapScale;
47 int nodeSize;
48 int scaledSize;
49};
Definition GECS.h:224
Definition GraphLoader.h:23
Definition GECSManager.h:20
Definition Threader.h:84