Torch
Loading...
Searching...
No Matches
ColPolyFactory.h
1
#pragma once
2
3
#include <factories/BaseFactory.h>
4
#include "types/Vec3D.h"
5
6
namespace
SF64 {
7
8
struct
CollisionPoly
{
9
Vec3s
tri;
10
int16_t unk_06;
11
Vec3s
norm;
12
int16_t unk_0E;
13
int32_t dist;
14
};
15
16
class
ColPolyData :
public
IParsedData
{
17
public
:
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
24
class
ColPolyHeaderExporter
:
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
ColPolyBinaryExporter
:
public
BaseExporter
{
29
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
30
};
31
32
class
ColPolyCodeExporter
:
public
BaseExporter
{
33
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
34
};
35
36
class
ColPolyFactory
:
public
BaseFactory
{
37
public
:
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
}
BaseExporter
Definition
BaseFactory.h:88
BaseFactory
Definition
BaseFactory.h:94
IParsedData
Definition
BaseFactory.h:80
SF64::ColPolyBinaryExporter
Definition
ColPolyFactory.h:28
SF64::ColPolyCodeExporter
Definition
ColPolyFactory.h:32
SF64::ColPolyFactory
Definition
ColPolyFactory.h:36
SF64::ColPolyHeaderExporter
Definition
ColPolyFactory.h:24
Vec3s
Definition
Vec3D.h:17
SF64::CollisionPoly
Definition
ColPolyFactory.h:8
src
factories
sf64
ColPolyFactory.h
Generated by
1.14.0