Torch
Loading...
Searching...
No Matches
TriangleFactory.h
1
#pragma once
2
3
#include "factories/BaseFactory.h"
4
#include "types/Vec3D.h"
5
6
namespace
SF64 {
7
8
class
TriangleData :
public
IParsedData
{
9
public
:
10
std::vector<Vec3s> mTris;
11
std::vector<YAML::Node> mMeshNodes;
12
13
TriangleData(std::vector<Vec3s> tris, std::vector<YAML::Node> meshNodes);
14
};
15
16
class
TriangleHeaderExporter
:
public
BaseExporter
{
17
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
18
};
19
20
class
TriangleBinaryExporter
:
public
BaseExporter
{
21
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
22
};
23
24
class
TriangleCodeExporter
:
public
BaseExporter
{
25
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
26
};
27
28
class
TriangleFactory
:
public
BaseFactory
{
29
public
:
30
std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data)
override
;
31
inline
std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters()
override
{
32
return
{
33
REGISTER(Code,
TriangleCodeExporter
)
34
REGISTER(Header,
TriangleHeaderExporter
)
35
REGISTER(Binary,
TriangleBinaryExporter
)
36
};
37
}
38
};
39
}
BaseExporter
Definition
BaseFactory.h:88
BaseFactory
Definition
BaseFactory.h:94
IParsedData
Definition
BaseFactory.h:80
SF64::TriangleBinaryExporter
Definition
TriangleFactory.h:20
SF64::TriangleCodeExporter
Definition
TriangleFactory.h:24
SF64::TriangleFactory
Definition
TriangleFactory.h:28
SF64::TriangleHeaderExporter
Definition
TriangleFactory.h:16
src
factories
sf64
TriangleFactory.h
Generated by
1.14.0