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 PolygonQuad;
14class TextureOffset;
15class VertexPT;
16// clang-format on
17
18class Cube {
19public:
20 // Cube inner types declare
21 // clang-format off
22 struct FaceUVData;
23 // clang-format on
24
25 // Cube inner types define
26 struct FaceUVData {
27 public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<4, 8, ::Vec2> mUV;
31 ::ll::TypedStorage<4, 8, ::Vec2> mUVSize;
32 ::ll::TypedStorage<4, 4, int> mMaterialInstanceListIndex;
33 ::ll::TypedStorage<1, 1, bool> mFaceValid;
34 ::ll::TypedStorage<1, 1, ::QuadUVRotation> mUvRotation;
35 // NOLINTEND
36 };
37
38public:
39 // member variables
40 // NOLINTBEGIN
41 ::ll::TypedStorage<4, 12, ::Vec3> mOrigin;
42 ::ll::TypedStorage<4, 12, ::Vec3> mSize;
43 ::ll::TypedStorage<4, 12, ::Vec3> mRotation;
44 ::ll::TypedStorage<4, 12, ::Vec3> mCubePivot;
45 ::ll::TypedStorage<8, 24, ::std::vector<::PolygonQuad>> mPolygons;
46 ::ll::TypedStorage<4, 16, ::mce::Color> mColor;
47 ::ll::TypedStorage<1, 1, bool> mMirrored;
48 ::ll::TypedStorage<4, 144, ::std::array<::Cube::FaceUVData, 6>> mFaceData;
49 // NOLINTEND
50
51public:
52 // prevent constructor by default
53 Cube();
54
55public:
56 // member functions
57 // NOLINTBEGIN
58 MCAPI Cube(
59 ::Vec3 const& point,
60 ::Vec3 const& extents,
61 float growAmount,
62 bool shouldMirror,
63 ::std::array<::Cube::FaceUVData, 6> const& faceUVData,
64 ::Vec2 const& inTexExtents,
65 ::mce::Color const& color
66 );
67
68 MCAPI Cube(
69 ::Vec3 const& point,
70 ::Vec3 const& extents,
71 float growAmount,
72 bool shouldMirror,
73 ::Vec2 const& inTexExtents,
74 ::TextureOffset const& inTexOffs,
75 ::mce::Color const& color
76 );
77
78 MCAPI void
79 setQuad(uchar facing, float u0, float v0, float u1, float v1, ::VertexPT* vertices, ::QuadUVRotation uvRotation);
80
81 MCAPI ~Cube();
82 // NOLINTEND
83
84public:
85 // constructor thunks
86 // NOLINTBEGIN
87 MCAPI void* $ctor(
88 ::Vec3 const& point,
89 ::Vec3 const& extents,
90 float growAmount,
91 bool shouldMirror,
92 ::std::array<::Cube::FaceUVData, 6> const& faceUVData,
93 ::Vec2 const& inTexExtents,
94 ::mce::Color const& color
95 );
96
97 MCAPI void* $ctor(
98 ::Vec3 const& point,
99 ::Vec3 const& extents,
100 float growAmount,
101 bool shouldMirror,
102 ::Vec2 const& inTexExtents,
103 ::TextureOffset const& inTexOffs,
104 ::mce::Color const& color
105 );
106 // NOLINTEND
107
108public:
109 // destructor thunk
110 // NOLINTBEGIN
111 MCFOLD void $dtor();
112 // NOLINTEND
113};
Definition Cube.h:5
Definition PolygonQuad.h:5
Definition TextureOffset.h:5
Definition VertexPT.h:5
Definition Cube.h:13