2023-06-18 07:45:39 -04:00
|
|
|
#ifndef LEGO3DVIEW_H
|
|
|
|
#define LEGO3DVIEW_H
|
|
|
|
|
2023-12-28 12:38:37 -05:00
|
|
|
#include "mxrendersettings.h"
|
2023-12-16 13:14:01 -05:00
|
|
|
#include "mxtypes.h"
|
2023-12-26 17:20:20 -05:00
|
|
|
#include "tgl/d3drm/impl.h"
|
2023-11-19 09:38:07 -05:00
|
|
|
#include "viewmanager/viewmanager.h"
|
2023-06-18 07:45:39 -04:00
|
|
|
|
2023-12-16 13:14:01 -05:00
|
|
|
class LegoROI;
|
2023-12-28 12:38:37 -05:00
|
|
|
class Tgl::Renderer;
|
2023-12-16 13:14:01 -05:00
|
|
|
|
2023-12-28 12:38:37 -05:00
|
|
|
// VTABLE: LEGO1 0x100dbf78
|
|
|
|
// SIZE 0xa8
|
2023-10-24 19:38:27 -04:00
|
|
|
class Lego3DView {
|
2023-06-18 07:45:39 -04:00
|
|
|
public:
|
2023-12-28 12:38:37 -05:00
|
|
|
Lego3DView();
|
|
|
|
virtual ~Lego3DView();
|
|
|
|
|
2023-10-24 19:38:27 -04:00
|
|
|
inline ViewManager* GetViewManager() { return this->m_viewManager; }
|
2023-12-26 17:20:20 -05:00
|
|
|
inline TglImpl::ViewImpl* GetViewPort() { return this->m_viewPort; }
|
2023-12-28 12:38:37 -05:00
|
|
|
MxBool Init(MxRenderSettings& p_renderSettings, Tgl::Renderer& p_render);
|
2023-12-16 13:14:01 -05:00
|
|
|
LegoROI* PickROI(MxLong p_a, MxLong p_b);
|
2023-06-18 07:45:39 -04:00
|
|
|
|
|
|
|
private:
|
2023-12-26 17:20:20 -05:00
|
|
|
// TODO: all of these fields are in various base classes
|
2023-12-28 12:38:37 -05:00
|
|
|
undefined4 m_unk0x4; // 0x04
|
|
|
|
TglImpl::RendererImpl* m_renderImpl; // 0x08
|
|
|
|
TglImpl::DeviceImpl* m_deviceImpl; // 0x0c
|
2023-12-26 17:20:20 -05:00
|
|
|
TglImpl::ViewImpl* m_viewPort; // 0x10
|
2023-12-28 12:38:37 -05:00
|
|
|
undefined m_unk0x14[0x74]; // 0x14
|
2023-12-26 17:20:20 -05:00
|
|
|
ViewManager* m_viewManager; // 0x88
|
2023-12-28 12:38:37 -05:00
|
|
|
undefined m_unk0x8c[0x1c]; // 0x8c
|
2023-06-18 07:45:39 -04:00
|
|
|
};
|
|
|
|
|
2023-12-28 12:38:37 -05:00
|
|
|
// SYNTHETIC: LEGO1 0x100aaf10
|
|
|
|
// Lego3DView::`scalar deleting destructor'
|
|
|
|
|
2023-06-18 07:45:39 -04:00
|
|
|
#endif // LEGO3DVIEW_H
|