!B (Sandbox) (CE-21795) Importing models with multisubmaterials via fbx switches...
[CRYENGINE.git] / Code / Sandbox / Plugins / LodGeneratorPlugin / panel / AutoGeneratorUVUnwrap.h
blob5e3dc1c5d0318d9b2318d38f3ec5954784eaa7ca
1 #pragma once
3 #include "AutoUVBaseType.h"
4 #include <vector>
6 namespace LODGenerator
8 class CAtlasGenerator;
10 enum EUVWarpType
12 eUV_Common,
13 eUV_ABF,
16 class AutoUV
18 public:
19 AutoUV();
20 ~AutoUV();
22 void Run(Vec3 *pVertices, vtx_idx *indices, int faces,EUVWarpType uvWarpType = eUV_ABF);
23 void Prepare(Vec3 *pVertices, vtx_idx *indices, int faces);
24 Vec2 Project(SAutoUVStackEntry &se, SAutoUVFace *f, SAutoUVEdge *e);
25 void SquarePacker(int &w, int &h, std::vector<SAutoUVSquare> &squares);
26 void Unwrap(void);
27 IStatObj* MakeMesh(std::vector<SAutoUVFinalVertex> &vertices, std::vector<int> &indices);
28 void Render();
30 public:
31 std::vector<SAutoUVVertex> m_vertices;
32 std::vector<SAutoUVFace> m_faces;
33 std::vector<SAutoUVEdge> m_edges;
34 std::vector<SAutoUVTri> m_tris;
35 std::vector<int> m_outIndices;
36 std::vector<SAutoUVFinalVertex> m_outVertices;
37 IStatObj* m_outMesh;
38 LODGenerator::CAtlasGenerator* textureAtlasGenerator;
39 std::vector<SAutoUVSquare> m_squares;