Torch
Loading...
Searching...
No Matches
TriangleFactory.h
1#pragma once
2
3#include "factories/BaseFactory.h"
4#include "types/Vec3D.h"
5
6namespace SF64 {
7
8class TriangleData : public IParsedData {
9public:
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
17 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
18};
19
21 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
22};
23
25 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
26};
27
29public:
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}
Definition BaseFactory.h:88
Definition BaseFactory.h:94
Definition BaseFactory.h:80
Definition TriangleFactory.h:20
Definition TriangleFactory.h:24
Definition TriangleFactory.h:28
Definition TriangleFactory.h:16