Pioneer
Loading...
Searching...
No Matches
ObjectViewerView.h
Go to the documentation of this file.
1// Copyright © 2008-2024 Pioneer Developers. See AUTHORS.txt for details
2// Licensed under the terms of the GPL v3. See licenses/GPL-3.txt
3
4#ifndef _OBJECTVIEWERVIEW_H
5#define _OBJECTVIEWERVIEW_H
6
7#include "Camera.h"
8#include "pigui/PiGuiView.h"
9
10class Body;
11class SystemBody;
12
14public:
16 virtual void Update() override;
17 virtual void Draw3D() override;
18
19protected:
20 virtual void OnSwitchTo() override;
21
22 virtual void DrawPiGui() override;
23
24private:
25 void ReloadState();
26 void OnChangeTerrain();
27
28 void DrawInfoWindow();
29 void DrawControlsWindow();
30
31 Body *m_targetBody;
32 const SystemBody *m_systemBody;
33 bool m_isTerrainBody;
34
35 struct ControlState {
36 uint32_t seed;
37 double mass;
38 double radius;
39 double life;
40 double volatileGas;
41 double volatileIces;
42 double volatileLiquid;
43 double metallicity;
44 double volcanicity;
45 } m_state;
46
47 float viewingDist;
48 matrix4x4d m_camRot;
49
50 RefCountedPtr<CameraContext> m_cameraContext;
51 std::unique_ptr<Camera> m_camera;
52};
53
54#endif /* _OBJECTVIEWERVIEW_H */
Definition: Body.h:65
Definition: ObjectViewerView.h:13
virtual void Draw3D() override
virtual void DrawPiGui() override
virtual void Update() override
virtual void OnSwitchTo() override
Definition: PiGuiView.h:11
Definition: RefCounted.h:36
Definition: SystemBody.h:137