20#ifndef LIBREPCB_EDITOR_BOARD3DTAB_H
21#define LIBREPCB_EDITOR_BOARD3DTAB_H
26#include "../../3d/openglobject.h"
43class OpenGlSceneBuilder;
46struct OpenGlProjection;
66 QObject* parent =
nullptr) noexcept;
72 ui::TabData
getUiData() const noexcept override;
77 void trigger(ui::TabAction a) noexcept override;
79 int scene) noexcept override;
81 const QPointF& pos, slint::private_api::PointerEvent e) noexcept override;
84 slint::private_api::PointerScrollEvent e) noexcept override;
The Board class represents a PCB of a project and is always part of a circuit.
Definition board.h:74
The Image class.
Definition image.h:49
The Project class represents a whole (opened) project with all its content.
Definition project.h:71
The Signal class is used to emit signals on non-QObject derived classes.
Definition signalslot.h:65
The Board3dTab class.
Definition board3dtab.h:55
slint::Image renderScene(float width, float height, int scene) noexcept override
Definition board3dtab.cpp:270
void sceneRebuildTimerTimeout() noexcept
Definition board3dtab.cpp:297
std::shared_ptr< SlintOpenGlView > mView
Definition board3dtab.h:108
void applyTheme() noexcept
Definition board3dtab.cpp:322
qint64 mTimestampOfLastSceneRebuild
Definition board3dtab.h:104
ui::Board3dTabData getDerivedUiData() const noexcept
Definition board3dtab.cpp:135
std::unique_ptr< OpenGlProjection > mProjection
Definition board3dtab.h:102
int mFrameIndex
Definition board3dtab.h:106
QHash< OpenGlObject::Type, float > mAlpha
Definition board3dtab.h:103
std::shared_ptr< OpenGlSceneBuilder > mSceneBuilder
Definition board3dtab.h:109
bool processSceneScrolled(const QPointF &pos, slint::private_api::PointerScrollEvent e) noexcept override
Definition board3dtab.cpp:284
Signal< Board3dTab > onDerivedUiDataChanged
Definition board3dtab.h:60
ProjectEditor & mProjectEditor
Definition board3dtab.h:96
void requestRepaint() noexcept
Definition board3dtab.cpp:333
bool processScenePointerEvent(const QPointF &pos, slint::private_api::PointerEvent e) noexcept override
Definition board3dtab.cpp:279
Board & mBoard
Definition board3dtab.h:99
Board3dTab(const Board3dTab &other)=delete
Project & mProject
Definition board3dtab.h:97
QStringList mSceneBuilderErrors
Definition board3dtab.h:105
int getProjectObjectIndex() const noexcept
Definition board3dtab.cpp:110
BoardEditor & mBoardEditor
Definition board3dtab.h:98
void scheduleSceneRebuild() noexcept
Definition board3dtab.cpp:293
void trigger(ui::TabAction a) noexcept override
Definition board3dtab.cpp:233
void setDerivedUiData(const ui::Board3dTabData &data) noexcept
Definition board3dtab.cpp:164
void deactivate() noexcept override
Definition board3dtab.cpp:216
ui::TabData getUiData() const noexcept override
Definition board3dtab.cpp:114
int getProjectIndex() const noexcept
Definition board3dtab.cpp:106
std::unique_ptr< QTimer > mSceneRebuildTimer
Definition board3dtab.h:110
void activate() noexcept override
Definition board3dtab.cpp:179
The BoardEditor class.
Definition boardeditor.h:58
The GuiApplication class.
Definition guiapplication.h:75
Represents one 3D object in an OpenGL 3D model.
Definition openglobject.h:43
Asynchronously generates a 3D board scene for OpenGL rendering.
Definition openglscenebuilder.h:50
The ProjectEditor class.
Definition projecteditor.h:64
The SlintOpenGlView class.
Definition slintopenglview.h:86
The WindowTab class.
Definition windowtab.h:52
Definition occmodel.cpp:77
Definition slintopenglview.h:43