NDEVR
API Documentation
ViewportManagerabstract

Logic for placing Viewports or Camera Views into widgets. More...

Inheritance diagram for ViewportManager:
[legend]
Collaboration diagram for ViewportManager:
[legend]

Public Member Functions

virtual UUID activeViewport () const
 Returns the UUID of the currently active viewport.
virtual bool addView (QPointer< DockWidget< CameraView > > view)=0
 Adds the given view dock widget to the layout.
virtual DockWidget< CameraView > * createView (DynamicPointer< Camera > &camera, DesignObjectLookup *manager)
 Creates a new viewport dock widget for the given camera.
virtual bool hasViewport (const UUID &id) const
 Checks whether a viewport with the given ID is managed.
virtual uint04 layoutIndex (const UUID &id) const
 Returns the layout index of the viewport with the given ID.
virtual void layoutViews (ViewportLayout camera_theme, DesignObjectLookup *manager, Buffer< QPointer< DockWidget< CameraView > > > &removed_views)
 Arranges viewports according to the specified layout theme.
virtual CameraView * mainViewport ()
 Returns the main (primary) camera view.
virtual QCustomDockWidgetmainViewportDock ()
 Returns the dock widget containing the main viewport.
virtual void onGlobalLayoutUpdated (Buffer< QPointer< DockWidget< CameraView > > > &)
 Called when the global viewport layout has been updated.
virtual void onViewsSwapped (DockWidget< CameraView > *camera_a, DockWidget< CameraView > *camera_b)
 Called when two viewport dock widgets have been swapped in the layout.
virtual bool removeView (QPointer< DockWidget< CameraView > > view)=0
 Removes the given view dock widget from the layout.
virtual DockWidget< CameraView > * removeViewport (const UUID &id)
 Removes the viewport with the given ID from management.
virtual DockWidget< CameraView > * viewport (const UUID &id) const
 Returns the viewport dock widget with the given ID.
virtual Buffer< QPointer< DockWidget< CameraView > > > views () const
 Returns all managed viewport dock widgets.

Protected Attributes

UUID m_active_viewport = Constant<UUID>::Invalid
 The UUID of the currently active viewport.
ViewportLayout m_current_layout
 The current viewport layout arrangement.
bool m_is_dirty = false
 Whether the layout needs to be refreshed.
Dictionary< UUID, QPointer< DockWidget< CameraView > > > m_view_docks
 Map of viewport UUIDs to their dock widgets.

Detailed Description

Logic for placing Viewports or Camera Views into widgets.


Definition at line 17 of file ViewportManager.h.

Member Function Documentation

◆ activeViewport()

virtual UUID ViewportManager::activeViewport ( ) const
inlinevirtual

Returns the UUID of the currently active viewport.

Returns
The active viewport UUID.

Definition at line 71 of file ViewportManager.h.

References m_active_viewport.

◆ addView()

virtual bool ViewportManager::addView ( QPointer< DockWidget< CameraView > > view)
pure virtual

Adds the given view dock widget to the layout.

Parameters
[in]viewThe dock widget to add.
Returns
True if the view was successfully added.

Implemented in CameraPane.

◆ createView()

virtual DockWidget< CameraView > * ViewportManager::createView ( DynamicPointer< Camera > & camera,
DesignObjectLookup * manager )
virtual

Creates a new viewport dock widget for the given camera.

Parameters
[in]cameraThe camera to create a view for.
[in]managerThe design object lookup providing scene data.
Returns
The newly created dock widget containing the camera view.

◆ hasViewport()

virtual bool ViewportManager::hasViewport ( const UUID & id) const
inlinevirtual

Checks whether a viewport with the given ID is managed.

Parameters
[in]idThe UUID to check.
Returns
True if the viewport exists.

Definition at line 87 of file ViewportManager.h.

References m_view_docks.

◆ layoutIndex()

virtual uint04 ViewportManager::layoutIndex ( const UUID & id) const
virtual

Returns the layout index of the viewport with the given ID.

Parameters
[in]idThe UUID of the viewport.
Returns
The layout index.

◆ layoutViews()

virtual void ViewportManager::layoutViews ( ViewportLayout camera_theme,
DesignObjectLookup * manager,
Buffer< QPointer< DockWidget< CameraView > > > & removed_views )
virtual

Arranges viewports according to the specified layout theme.

Parameters
[in]camera_themeThe layout arrangement to apply.
[in]managerThe design object lookup providing scene data.
[in]removed_viewsBuffer populated with views removed during layout.

Reimplemented in CameraPane.

◆ mainViewport()

virtual CameraView * ViewportManager::mainViewport ( )
virtual

Returns the main (primary) camera view.

Returns
The main CameraView, or nullptr if none exists.

◆ mainViewportDock()

virtual QCustomDockWidget * ViewportManager::mainViewportDock ( )
virtual

Returns the dock widget containing the main viewport.

Returns
The main viewport dock widget, or nullptr if none exists.

◆ onGlobalLayoutUpdated()

virtual void ViewportManager::onGlobalLayoutUpdated ( Buffer< QPointer< DockWidget< CameraView > > > & )
inlinevirtual

Called when the global viewport layout has been updated.

Parameters
[in]removed_viewsBuffer that may be populated with views removed during the update.

Definition at line 42 of file ViewportManager.h.

◆ onViewsSwapped()

virtual void ViewportManager::onViewsSwapped ( DockWidget< CameraView > * camera_a,
DockWidget< CameraView > * camera_b )
virtual

Called when two viewport dock widgets have been swapped in the layout.

Parameters
[in]camera_aThe first viewport dock widget.
[in]camera_bThe second viewport dock widget.

Reimplemented in CameraPane.

◆ removeView()

virtual bool ViewportManager::removeView ( QPointer< DockWidget< CameraView > > view)
pure virtual

Removes the given view dock widget from the layout.

Parameters
[in]viewThe dock widget to remove.
Returns
True if the view was successfully removed.

Implemented in CameraPane.

◆ removeViewport()

virtual DockWidget< CameraView > * ViewportManager::removeViewport ( const UUID & id)
virtual

Removes the viewport with the given ID from management.

Parameters
[in]idThe UUID of the viewport to remove.
Returns
The removed dock widget, or nullptr if not found.

◆ viewport()

virtual DockWidget< CameraView > * ViewportManager::viewport ( const UUID & id) const
virtual

Returns the viewport dock widget with the given ID.

Parameters
[in]idThe UUID of the viewport.
Returns
The dock widget, or nullptr if not found.

◆ views()

virtual Buffer< QPointer< DockWidget< CameraView > > > ViewportManager::views ( ) const
virtual

Returns all managed viewport dock widgets.

Returns
A buffer of viewport dock widget pointers.

The documentation for this class was generated from the following file: