LeviLamina
Loading...
Searching...
No Matches
BohrModelRenderer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/controls/renderers/MinecraftUICustomRenderer.h"
7#include "mc/deps/core/math/Vec2.h"
8#include "mc/deps/minecraft_renderer/renderer/TexturePtr.h"
9
10// auto generated forward declare list
11// clang-format off
12class IClientInstance;
14class Stopwatch;
15class UIControl;
17class UIScene;
18namespace mce { class Mesh; }
19// clang-format on
20
22public:
23 // BohrModelRenderer inner types declare
24 // clang-format off
25 class Renderable;
26 struct State;
27 // clang-format on
28
29 // BohrModelRenderer inner types define
30 class Renderable {
31 public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::mce::Mesh>> mMesh;
35 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mTexture;
36 // NOLINTEND
37 };
38
39 struct State {
40 public:
41 // member variables
42 // NOLINTBEGIN
43 ::ll::TypedStorage<4, 4, int> mElectrons;
44 ::ll::TypedStorage<4, 4, int> mProtons;
45 ::ll::TypedStorage<4, 4, int> mNeutrons;
46 ::ll::TypedStorage<4, 4, int> mRings;
47 ::ll::TypedStorage<4, 4, float> mScale;
48 ::ll::TypedStorage<4, 8, ::Vec2> mTopLeft;
49 ::ll::TypedStorage<4, 8, ::Vec2> mBottomRight;
50 // NOLINTEND
51 };
52
53public:
54 // member variables
55 // NOLINTBEGIN
56 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Stopwatch>> mStopwatch;
57 ::ll::TypedStorage<4, 36, ::BohrModelRenderer::State> mCurState;
58 ::ll::TypedStorage<4, 36, ::BohrModelRenderer::State> mLastState;
59 ::ll::TypedStorage<4, 4, float> mCenterRadius;
60 ::ll::TypedStorage<4, 4, float> mRingDistance;
61 ::ll::TypedStorage<4, 4, float> mRingThickness;
62 ::ll::TypedStorage<4, 4, float> mMargin;
63 ::ll::TypedStorage<4, 4, float> mElectronSize;
64 ::ll::TypedStorage<4, 4, float> mClumpRadius;
65 ::ll::TypedStorage<4, 4, uint> mProtonSeed;
66 ::ll::TypedStorage<4, 4, uint> mNeutronSeed;
67 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mRingTexture;
68 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mProtonTexture;
69 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mElectronTexture;
70 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mNeutronTexture;
71 ::ll::TypedStorage<8, 24, ::std::vector<::BohrModelRenderer::Renderable>> mRenderables;
72 // NOLINTEND
73
74public:
75 // virtual functions
76 // NOLINTBEGIN
77 virtual ~BohrModelRenderer() /*override*/ = default;
78
79 virtual ::std::shared_ptr<::UICustomRenderer> clone() const /*override*/;
80
81 virtual void render(::MinecraftUIRenderContext& renderContext, ::IClientInstance&, ::UIControl&, int) /*override*/;
82
83 virtual bool update(::IClientInstance& client, ::UIControl& owner, ::UIScene const&) /*override*/;
84 // NOLINTEND
85
86public:
87 // member functions
88 // NOLINTBEGIN
89 MCAPI BohrModelRenderer();
90 // NOLINTEND
91
92public:
93 // constructor thunks
94 // NOLINTBEGIN
95 MCAPI void* $ctor();
96 // NOLINTEND
97
98public:
99 // virtual function thunks
100 // NOLINTBEGIN
101 MCAPI ::std::shared_ptr<::UICustomRenderer> $clone() const;
102
103 MCAPI void $render(::MinecraftUIRenderContext& renderContext, ::IClientInstance&, ::UIControl&, int);
104
105 MCAPI bool $update(::IClientInstance& client, ::UIControl& owner, ::UIScene const&);
106 // NOLINTEND
107
108public:
109 // vftables
110 // NOLINTBEGIN
111 MCNAPI static void** $vftable();
112 // NOLINTEND
113};
Definition BohrModelRenderer.h:14
Definition BohrModelRenderer.h:5
static MCAPI void ** $vftable()
Definition IClientInstance.h:5
Definition MinecraftUICustomRenderer.h:5
Definition MinecraftUIRenderContext.h:5
Definition Stopwatch.h:5
Definition UIControl.h:5
Definition UICustomRenderer.h:5
Definition UIScene.h:5
Definition Mesh.h:7
Definition BohrModelRenderer.h:16