TazGraph Project v0.1.0
Loading...
Searching...
No Matches
IMapParser.h
1#pragma once
2
3#include <algorithm>
4#include <random>
5#include <ctime>
6
7#include <JsonParser.h> //for json
8#include <tinyxml2.h> // for graphml
9#include <DotParser.h> // for dot/graphviz
10
11#include "GECS/Core/GECSEntityTypes.h"
12#include "GECS/UtilComponents.h"
13
14struct ParsedNode {
15 int id;
16 glm::vec3 pos;
17};
18
19struct ParsedLink {
20 int id;
21 int fromId, toId;
22};
23
25 int id;
26 int fromId, toId;
27 NodeEntity* from = nullptr;
28 NodeEntity* to = nullptr;
29};
30
42public:
43 virtual ~IMapParser() = default;
44
45 virtual void readFile(std::string m_fileName) = 0;
46
47 virtual void parse(
48 Manager& manager,
49 std::function<void(Entity&, glm::vec3)> addNodeFunc,
50 std::function<void(Entity&)> addLinkFunc) = 0;
51
52 virtual void closeFile() = 0;
53
54
55 Threader* _threader = nullptr;
56
57 void setThreader(Threader& mthreader) {
58 _threader = &mthreader;
59 }
60};
Definition GECS.h:152
Abstract base class for all map parsers.
Definition IMapParser.h:41
Definition GECSManager.h:14
Definition GECSEntity.h:43
Definition IMapParser.h:14
Definition Threader.h:84