Torch
Loading...
Searching...
No Matches
ColPolyFactory.h
1#pragma once
2
3#include <factories/BaseFactory.h>
4#include "types/Vec3D.h"
5
6namespace SF64 {
7
9 Vec3s tri;
10 int16_t unk_06;
11 Vec3s norm;
12 int16_t unk_0E;
13 int32_t dist;
14};
15
16class ColPolyData : public IParsedData {
17public:
18 std::vector<CollisionPoly> mPolys;
19 std::vector<YAML::Node> mMeshNodes;
20
21 ColPolyData(std::vector<CollisionPoly> polys, std::vector<YAML::Node> meshNodes);
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
29 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
30};
31
33 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
34};
35
37public:
38 std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data) override;
39 inline std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters() override {
40 return {
41 REGISTER(Code, ColPolyCodeExporter)
42 REGISTER(Header, ColPolyHeaderExporter)
43 REGISTER(Binary, ColPolyBinaryExporter)
44 };
45 }
46};
47}
Definition BaseFactory.h:88
Definition BaseFactory.h:94
Definition BaseFactory.h:80
Definition ColPolyFactory.h:28
Definition ColPolyFactory.h:32
Definition ColPolyFactory.h:36
Definition ColPolyFactory.h:24
Definition Vec3D.h:17
Definition ColPolyFactory.h:8