LeviLamina
Loading...
Searching...
No Matches
Cube.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/model/geom/QuadUVRotation.h"
7#include "mc/deps/core/math/Color.h"
8#include "mc/deps/core/math/Vec2.h"
9#include "mc/deps/core/math/Vec3.h"
10
11// auto generated forward declare list
12// clang-format off
13class AABB;
14class PolygonQuad;
15class Tessellator;
16class TextureOffset;
17class VertexPT;
18// clang-format on
19
20class Cube {
21public:
22 // Cube inner types declare
23 // clang-format off
24 struct FaceUVData;
25 // clang-format on
26
27 // Cube inner types define
28 struct FaceUVData {
29 public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::TypedStorage<4, 8, ::Vec2> mUV;
33 ::ll::TypedStorage<4, 8, ::Vec2> mUVSize;
34 ::ll::TypedStorage<4, 4, int> mMaterialInstanceListIndex;
35 ::ll::TypedStorage<1, 1, bool> mFaceValid;
36 ::ll::TypedStorage<1, 1, ::QuadUVRotation> mUvRotation;
37 // NOLINTEND
38 };
39
40public:
41 // member variables
42 // NOLINTBEGIN
43 ::ll::TypedStorage<4, 12, ::Vec3> mOrigin;
44 ::ll::TypedStorage<4, 12, ::Vec3> mSize;
45 ::ll::TypedStorage<4, 12, ::Vec3> mRotation;
46 ::ll::TypedStorage<4, 12, ::Vec3> mCubePivot;
47 ::ll::TypedStorage<8, 24, ::std::vector<::PolygonQuad>> mPolygons;
48 ::ll::TypedStorage<4, 16, ::mce::Color> mColor;
49 ::ll::TypedStorage<1, 1, bool> mMirrored;
50 ::ll::TypedStorage<4, 144, ::std::array<::Cube::FaceUVData, 6>> mFaceData;
51 // NOLINTEND
52
53public:
54 // prevent constructor by default
55 Cube& operator=(Cube const&);
56 Cube(Cube const&);
57 Cube();
58
59public:
60 // member functions
61 // NOLINTBEGIN
62 MCAPI Cube(::Cube&&);
63
64 MCAPI Cube(
65 ::Vec3 const& point,
66 ::Vec3 const& extents,
67 float growAmount,
68 bool shouldMirror,
69 ::std::array<::Cube::FaceUVData, 6> const& faceUVData,
70 ::Vec2 const& inTexExtents,
71 ::mce::Color const& color
72 );
73
74 MCAPI Cube(
75 ::Vec3 const& point,
76 ::Vec3 const& extents,
77 float growAmount,
78 bool shouldMirror,
79 ::Vec2 const& inTexExtents,
80 ::TextureOffset const& inTexOffs,
81 ::mce::Color const& color
82 );
83
84 MCAPI void compile(::Tessellator& t) const;
85
86 MCAPI void expandAABB(::AABB& aabb) const;
87
88 MCAPI void
89 setQuad(uchar facing, float u0, float v0, float u1, float v1, ::VertexPT* vertices, ::QuadUVRotation uvRotation);
90
91 MCAPI ~Cube();
92 // NOLINTEND
93
94public:
95 // constructor thunks
96 // NOLINTBEGIN
97 MCAPI void* $ctor(::Cube&&);
98
99 MCAPI void* $ctor(
100 ::Vec3 const& point,
101 ::Vec3 const& extents,
102 float growAmount,
103 bool shouldMirror,
104 ::std::array<::Cube::FaceUVData, 6> const& faceUVData,
105 ::Vec2 const& inTexExtents,
106 ::mce::Color const& color
107 );
108
109 MCAPI void* $ctor(
110 ::Vec3 const& point,
111 ::Vec3 const& extents,
112 float growAmount,
113 bool shouldMirror,
114 ::Vec2 const& inTexExtents,
115 ::TextureOffset const& inTexOffs,
116 ::mce::Color const& color
117 );
118 // NOLINTEND
119
120public:
121 // destructor thunk
122 // NOLINTBEGIN
123 MCAPI void $dtor();
124 // NOLINTEND
125};
Definition AABB.h:18
Definition Cube.h:5
Definition PolygonQuad.h:5
Definition Tessellator.h:5
Definition TextureOffset.h:5
Definition VertexPT.h:5
Definition Cube.h:13