Torch
Loading...
Searching...
No Matches
TrajectoryFactory.h
1
#pragma once
2
3
#include "factories/BaseFactory.h"
4
#include "types/Vec3D.h"
5
6
namespace
SM64 {
7
8
struct
Trajectory {
9
int16_t trajId;
10
int16_t posX;
11
int16_t posY;
12
int16_t posZ;
13
Trajectory(int16_t trajId, int16_t posX, int16_t posY, int16_t posZ) : trajId(trajId), posX(posX), posY(posY), posZ(posZ) {}
14
};
15
16
class
TrajectoryData :
public
IParsedData
{
17
public
:
18
std::vector<Trajectory> mTrajectoryData;
19
20
TrajectoryData(std::vector<Trajectory> trajectoryData) : mTrajectoryData(std::move(trajectoryData)) {}
21
};
22
23
class
TrajectoryHeaderExporter
:
public
BaseExporter
{
24
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
25
};
26
27
class
TrajectoryBinaryExporter
:
public
BaseExporter
{
28
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
29
};
30
31
class
TrajectoryCodeExporter
:
public
BaseExporter
{
32
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
33
};
34
35
class
TrajectoryFactory
:
public
BaseFactory
{
36
public
:
37
std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data)
override
;
38
inline
std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters()
override
{
39
return
{
40
REGISTER(Code,
TrajectoryCodeExporter
)
41
REGISTER(Header,
TrajectoryHeaderExporter
)
42
REGISTER(Binary,
TrajectoryBinaryExporter
)
43
};
44
}
45
};
46
}
BaseExporter
Definition
BaseFactory.h:88
BaseFactory
Definition
BaseFactory.h:94
IParsedData
Definition
BaseFactory.h:80
SM64::TrajectoryBinaryExporter
Definition
TrajectoryFactory.h:27
SM64::TrajectoryCodeExporter
Definition
TrajectoryFactory.h:31
SM64::TrajectoryFactory
Definition
TrajectoryFactory.h:35
SM64::TrajectoryHeaderExporter
Definition
TrajectoryFactory.h:23
src
factories
sm64
TrajectoryFactory.h
Generated by
1.14.0