TazGraph Project v0.1.0
Loading...
Searching...
No Matches
Map.h
1#pragma once
2#include <string>
3#include <fstream>
4#include <sstream>
5
6#include <JsonParser.h>
7#include "GECS/Core/GECSEntityTypes.h"
8
9#include "./Parsers/TextMapParser.h"
10#include "./Parsers/PythonMapParser.h"
11#include "./Parsers/GraphMLMapParser.h"
12#include "./Parsers/DOTMapParser.h"
13
14#include "./PathParsers/TextPathParser.h"
15
16#include <algorithm>
17#include <random>
18#include <ctime>
19
28class Map
29{
30public:
31
32 Map(Manager& m_manager, int ms, int ns);
33 ~Map();
34
35 void saveMapAsText(const char* fileName);
36
37 void loadMap(
38 const char* fileName,
39 std::function<void(Entity&, glm::vec3)> addNodeFunc,
40 std::function<void(Entity&)> addLinkFunc,
41 Threader* m_threadPool
42 );
43
44 void loadPaths(const char* fileName, std::function<void(Entity&, glm::vec3)> addNodeFunc, std::function<void(Entity&)> addLinkFunc, Threader* m_threadPool);
45
46 void AddDefaultNode(Entity& node, glm::vec3 mPosition);
47 void AddTreeNode(Entity& node, glm::vec3 mPosition);
48 void AddDefaultLink(Entity& node);
49 void AddTreeLink(Entity& link);
50 void AddPathLink(Entity& link);
51
52 Manager* manager;
53private:
54 int mapScale;
55 int nodeSize;
56 int scaledSize;
57};
Definition GECS.h:152
Definition GECSManager.h:14
Definition Map.h:29
void AddDefaultNode(Entity &node, glm::vec3 mPosition)
Adds a default node to the ECS.
Definition Map.cpp:118
Definition Threader.h:84