3#include "mc/_HeaderOutputPredefine.h"
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"
20namespace mce {
class Mesh; }
37 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::mce::Mesh>> mMesh;
38 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mTexture;
46 ::ll::TypedStorage<4, 4, int> mElectrons;
47 ::ll::TypedStorage<4, 4, int> mProtons;
48 ::ll::TypedStorage<4, 4, int> mNeutrons;
49 ::ll::TypedStorage<4, 4, int> mRings;
50 ::ll::TypedStorage<4, 4, float> mScale;
51 ::ll::TypedStorage<4, 8, ::Vec2> mTopLeft;
52 ::ll::TypedStorage<4, 8, ::Vec2> mBottomRight;
59 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Stopwatch>> mStopwatch;
60 ::ll::TypedStorage<4, 36, ::BohrModelRenderer::State> mCurState;
61 ::ll::TypedStorage<4, 36, ::BohrModelRenderer::State> mLastState;
62 ::ll::TypedStorage<4, 4, float> mCenterRadius;
63 ::ll::TypedStorage<4, 4, float> mRingDistance;
64 ::ll::TypedStorage<4, 4, float> mRingThickness;
65 ::ll::TypedStorage<4, 4, float> mMargin;
66 ::ll::TypedStorage<4, 4, float> mElectronSize;
67 ::ll::TypedStorage<4, 4, float> mClumpRadius;
68 ::ll::TypedStorage<4, 4, uint> mProtonSeed;
69 ::ll::TypedStorage<4, 4, uint> mNeutronSeed;
70 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mRingTexture;
71 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mProtonTexture;
72 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mElectronTexture;
73 ::ll::TypedStorage<8, 32, ::mce::TexturePtr> mNeutronTexture;
74 ::ll::TypedStorage<8, 24, ::std::vector<::BohrModelRenderer::Renderable>> mRenderables;
80 virtual ~BohrModelRenderer() ;
82 virtual ::std::shared_ptr<::UICustomRenderer> clone() const ;
84 virtual
void render(::MinecraftUIRenderContext& renderContext, ::IClientInstance&, ::UIControl&,
int) ;
86 virtual
bool update(::IClientInstance& client, ::UIControl& owner, ::UIScene const&) ;
92 MCAPI BohrModelRenderer();
94 MCAPI
void _extractElectrons(::Tessellator& t,
int electrons, ::RectangleArea const& rect);
96 MCAPI
void _extractParticleClump(::Tessellator& t,
int protons,
int neutrons, ::RectangleArea const& rect);
98 MCAPI
void _extractRings(::Tessellator& t,
int rings, ::RectangleArea const& rect);
100 MCAPI
void _loadTextures(::std::shared_ptr<::mce::TextureGroup> textureGroup);
102 MCAPI
void _renderTick(::MinecraftUIRenderContext& renderContext);
104 MCAPI
void _updateState(::UIControl& owner);
122 MCAPI ::std::shared_ptr<::UICustomRenderer> $clone() const;
124 MCAPI
void $render(::MinecraftUIRenderContext& renderContext, ::IClientInstance&, ::UIControl&,
int);
126 MCAPI
bool $update(::IClientInstance& client, ::UIControl& owner, ::UIScene const&);
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 RectangleArea.h:5
Definition Tessellator.h:5
Definition UICustomRenderer.h:5
Definition TextureGroup.h:7
Definition BohrModelRenderer.h:16