35#include <NDEVR/ViewportManager.h>
36#include <NDEVR/ContainerWidget.h>
37#include <NDEVR/QCustomDockWidget.h>
38#include <NDEVR/SnapLocation.h>
39#include <NDEVR/ViewportLayout.h>
40#include <NDEVR/Pointer.h>
The equivelent of std::vector but with a bit more control.
bool sharedToolbar() const
Returns whether camera views share a single toolbar.
bool m_cameras_moveable
Whether camera views can be rearranged by the user.
void updateCamerasClosable() const
Updates whether each camera view can be closed by the user.
QSize sizeHint() const override
Returns the recommended size for this widget.
void cameraThemeChanged(ViewportLayoutTheme theme)
Emitted when the camera layout theme changes.
Dictionary< UUID, QTResourceListener * > m_click_listeners
Listeners for camera click events.
QTWindowManager * m_window_manager
The window manager for dialog and layout services.
void makeCurrentConfigDefault()
Saves the current camera layout as the default configuration.
void layoutViews(ViewportLayout camera_theme, DesignObjectLookup *manager, Buffer< QPointer< DockWidget< CameraView > > > &removed_views) override
Rearranges all camera views according to the specified layout.
ContainerWidget * m_camera_area
The container managing the camera dock layout.
void createListeners(UUID id)
Creates resource listeners for the camera with the given UUID.
RibbonArea m_ribbon_area
The ribbon area position for the toolbar.
CustomDockButton * m_add_camera_button
Button for adding new cameras.
bool removeCamera(const DynamicPointer< Camera > &camera)
Removes the specified camera from the pane.
Buffer< QPointer< QWidget > > m_extra_widgets
Additional widgets embedded in the pane.
bool removeCamera(const UUID &camera)
Removes the camera with the given UUID from the pane.
void addWidget(const QPointer< QWidget > &widget)
Adds an extra widget to the camera pane layout.
void onViewsSwapped(DockWidget< CameraView > *camera_a, DockWidget< CameraView > *camera_b) override
Called when two camera views are swapped in the layout.
void removeWidget(const QPointer< QWidget > &widget)
Removes an extra widget from the camera pane layout.
CustomDockButton * addCameraButton()
Returns the button used to add new cameras.
Toolbar * m_toolbar
The shared camera toolbar.
void onCameraDelete(UUID camera)
Slot invoked when a camera is deleted.
void setSelectedCamera(UUID camera)
Sets the currently selected camera by UUID.
void activeCameraChangedSignal()
Emitted when the active camera selection changes.
CameraPane(QTWindowManager *window_manager, QTModelManager *manager, QWidget *parent=nullptr)
Constructs a CameraPane that manages multiple viewport views.
QTModelManager * m_model_manager
The model manager providing data context.
void setTouchTheme(bool touch_theme)
Enables or disables the touch-optimized theme for camera controls.
bool addView(QPointer< DockWidget< CameraView > > view) override
Adds a camera view to the pane.
void onClearAllSlot()
Slot invoked to clear all camera views from the pane.
ViewportLayoutTheme cameraTheme() const
Returns the current viewport layout theme.
Dictionary< UUID, QTResourceListener * > m_hover_listeners
Listeners for camera hover events.
void setRibbonArea(RibbonArea ribbon_area)
Sets the ribbon area where the camera toolbar is displayed.
bool m_touch_theme
Whether the touch-optimized theme is active.
bool removeView(QPointer< DockWidget< CameraView > > view) override
Removes a camera view from the pane.
A core object representing a user view as well as convenience functions for moving this view through ...
A core class where all Design Objects including models, materials, and geometries are stored.
A hash-based key-value store, useful for quick associative lookups.
Provides a modifiable pointer that has shared ownership of a dynamically allocated object.
A wrapper around DesignObjectLookup that provides signal and slot functionality and adds rendering ca...
A ResourceListener which will always be executed on the main UI thread and can be tied to a Qt Object...
Manages all windows and logic surrounding dialogs and views for displaying and managing a 3D environm...
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
Stores information for how to construct a group of viewports such as those in the center 3D panel.
Logic for placing Viewports or Camera Views into widgets.
ViewportLayout m_current_layout
The current viewport layout arrangement.
A Viewport for rendering 3D objects in the scene with the NDEVR Graphics Engine.
The primary namespace for the NDEVR SDK.
RibbonArea
Requests a ribbon or tab area to be in a certain location and orientation relative to another widget.
@ e_left
Ribbon positioned on the left, oriented vertically.
ViewportLayoutTheme
The potential layouts of multiple viewports within the NDEVR engine.