![]() |
ImFusion SDK 4.3
|
#include <ImFusion/GUI/RadiologyDisplay.h>
Specialization of a Display that provides an off-the-shelf setup typically present in radiology workstations. More...
Specialization of a Display that provides an off-the-shelf setup typically present in radiology workstations.
This class serves as convenience wrapper aggregating several helper classes and providing syntactic sugar:
Public Member Functions | |
RadiologyDisplay (DataModel *dataModel) | |
bool | automaticallyShowsHidesViews () const |
Returns the flag whether to automatically show a view when it shows datasets and hide it when it becomes empty. | |
void | setAutomaticallyShowHideViews (bool value) |
Sets the flag whether to automatically show a view when it shows datasets and hide it when it becomes empty. | |
void | requestViewVisibility (const std::vector< const View * > views, bool value) |
Sets whether the given set of views should be shown by the layouter() if applicable or not. | |
SliceView & | main2dView () |
Returns the SliceView of mainViewGroup() for showing 2D data. | |
SliceView & | mainAxialView () |
Returns the axial MPR SliceView of mainViewGroup() for showing 3D data. | |
SliceView & | mainCoronalView () |
Returns the sagittal MPR SliceView of mainViewGroup() for showing 3D data. | |
SliceView & | mainSagittalView () |
Returns the coronal MPR SliceView of mainViewGroup() for showing 3D data. | |
VolumeView & | main3dView () |
Returns the VolumeView of mainViewGroup() for showing 3D data. | |
std::vector< SliceView * > | mainMprViews () |
Returns the three MPR views of mainViewGroup for showing 3D data. | |
RadiologyViewGroup & | mainViewGroup () |
Returns the main RadiologyViewGroup hosting the 2D view, the three MPR views, and the 3D VolumeView. | |
RadiologyViewOverlays & | mainViewOverlays () |
Returns the RadiologyViewOverlays instance enabling you to easily create and maintain common ViewOverlays. | |
DisplayAutoLayouter & | layouter () |
Returns the DisplayAutoLayouter used to perform automatic layouting of the views. | |
void | addView (std::unique_ptr< View > view) override |
Adds the given view to this display surface. | |
std::unique_ptr< View > | removeView (View *view) override |
Remove view from this display surface again. | |
void | configure (const Properties *p) override |
Configure this object instance by de-serializing the given Properties. | |
void | configuration (Properties *p) const override |
Serialize the current object configuration into the given Properties object. | |
![]() | |
std::vector< View * > | views () const override |
Returns all views hosted by this display. | |
DisplayLayout & | layout () override |
Returns the DisplayLayout determining how views are distributed within the viewport. | |
GL::Viewport | viewport () const override |
Returns the viewport of this display surface in OpenGL coordinates (origin in lower-left corner). | |
virtual void | setViewport (const GL::Viewport &viewport) |
Sets the viewport size of this display surface in OpenGL coordinates (origin in lower-left corner) and re-layouts the layout() if applicable. | |
const std::optional< vec3 > & | backgroundColor () const |
Returns the optional background color of the rendering area. | |
void | setBackgroundColor (const std::optional< vec3 > &value) |
Sets the optional background color of the rendering area. | |
void | setWatermark (const SharedImage &image) |
Sets a watermark image to be rendered on top of the display. | |
virtual void | render (std::string *outCriticalGlErrorMessage=nullptr) const |
Perform OpenGL-based rendering of the Display and all its Views. | |
EventResult | handleInputEvent (const InputEvent &event) |
Entry point for the dispatching of input events from users. | |
void | requestUpdate () override |
Request an update of the rendered display content. | |
![]() | |
SignalReceiver ()=default | |
Default constructor. | |
SignalReceiver (const SignalReceiver &other) | |
Copy constructor, does not copy any existing signal connections from other. | |
SignalReceiver & | operator= (SignalReceiver rhs) |
Assignment operator, disconnects all existing connections, does not copy any existing signal connections from rhs. | |
virtual | ~SignalReceiver () |
Virtual destructor disconnects from all connected signals. | |
![]() | |
virtual void | configureDefaults () |
Retrieve the properties of this object, replaces values with their defaults and sets it again. | |
void | registerParameter (ParameterBase *param) |
Register the given Parameter or SubProperty, so that it will be configured during configure()/configuration(). | |
void | unregisterParameter (const ParameterBase *param) |
Remove the given Parameter or SubProperty from the list of registered parameters. | |
Configurable (const Configurable &rhs) | |
Configurable (Configurable &&rhs) noexcept | |
Configurable & | operator= (const Configurable &) |
Configurable & | operator= (Configurable &&) noexcept |
Protected Member Functions | |
std::optional< DisplayLayoutConfig > | defaultLayoutConfig () const override |
void | onViewVisibleDataChanged (View &view, const DataList &before, const DataList &after) |
![]() | |
virtual EventResult | handleKeyEvent (const KeyEvent &event) |
virtual EventResult | handleMouseEvent (const MouseEvent &event) |
virtual EventResult | handleTouchEvent (const TouchEvent &event) |
virtual EventResult | handleContextMenuEvent (const ContextMenuEvent &event) |
![]() | |
void | disconnectAll () |
Disconnects all existing connections. | |
Protected Attributes | |
std::unique_ptr< DisplayAutoLayouter > | m_layouter |
std::unique_ptr< RadiologyViewGroup > | m_rvg |
std::unique_ptr< RadiologyViewOverlays > | m_viewOverlays |
bool | m_automaticallyShowHideViews = false |
![]() | |
std::vector< std::unique_ptr< View > > | m_views |
DisplayLayout | m_layout |
std::shared_ptr< DataDisplayDispatcher > | m_dataDisplayDispatcher |
GL::Viewport | m_viewport |
std::optional< vec3 > | m_backgroundColor = vec3::Zero() |
std::unique_ptr< GL::VertexBuffer > | m_vbo |
std::shared_ptr< const GlImage > | m_watermark |
View * | m_mouseEventReceiver = nullptr |
View where the mouse was pressed and that therefore has the mouse focus. | |
View * | m_touchEventReceiver = nullptr |
View where a touch event was pressed and that therefore has the touch focus. | |
View * | m_lastEnteredView = nullptr |
View that where the last mouse enter event was posted to. | |
![]() | |
std::vector< Param > | m_params |
List of all registered Parameter and SubProperty instances. | |
Additional Inherited Members | |
![]() | |
Signal< View * > | signalViewAdded |
Signal emitted when a View was added. | |
Signal< View * > | signalViewRemoved |
Signal emitted when a View was removed. | |
Signal | signalUpdateRequested |
Signal emitted when scene has changed and a re-render is requested. | |
![]() | |
Signal | signalParametersChanged |
Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted. | |
void requestViewVisibility | ( | const std::vector< const View * > | views, |
bool | value ) |
Sets whether the given set of views should be shown by the layouter() if applicable or not.
This is a convenience function simply forwarding to layouter->setViewsHidden(views, !value)
.
|
overridevirtual |
Adds the given view to this display surface.
The default implementation will reset the DisplayLayout with the return value of defaultLayoutConfig() if valid.
Reimplemented from Display.
|
overridevirtual |
Remove view from this display surface again.
The default implementation will reset the DisplayLayout with the return value of defaultLayoutConfig() if valid.
Reimplemented from Display.
|
overridevirtual |
Configure this object instance by de-serializing the given Properties.
The default implementation will do so automatically for all registered Parameter and SubProperty instances.
Reimplemented from Configurable.
|
overridevirtual |
Serialize the current object configuration into the given Properties object.
The default implementation will do so automatically for all registered Parameter and SubProperty instances.
Reimplemented from Configurable.
|
overrideprotectedvirtual |
Reimplemented from Display.