CustusX
2023.01.05-dev+develop.0da12
An IGT application
|
Creates a pool of views and offers an interface to them, also handles layouts on a centralwidget. More...
#include <cxViewImplService.h>
Public Slots | |
virtual void | aboutToStop () |
Public Slots inherited from cx::ViewService | |
virtual void | aboutToStop ()=0 |
Public Member Functions | |
ViewImplService (ctkPluginContext *context) | |
virtual | ~ViewImplService () |
virtual ViewPtr | get3DView (int group=0, int index=0) |
virtual int | getActiveGroupId () const |
virtual ViewGroupDataPtr | getGroup (int groupIdx) const |
virtual void | setRegistrationMode (REGISTRATION_STATUS mode) |
virtual void | autoShowData (DataPtr data) |
virtual void | enableRender (bool val) |
virtual bool | renderingIsEnabled () const |
virtual QWidget * | createLayoutWidget (QWidget *parent, int index) |
Get the specified layout widget, create if necessary. More... | |
virtual QWidget * | getLayoutWidget (int index) |
Get the specified layout widget, NULL if not created. More... | |
virtual QString | getActiveLayout (int widgetIndex=0) const |
virtual void | setActiveLayout (const QString &uid, int widgetIndex) |
virtual ClippersPtr | getClippers () |
virtual InteractiveCropperPtr | getCropper () |
virtual CyclicActionLoggerPtr | getRenderTimer () |
virtual NavigationPtr | getNavigation (int group=0) |
virtual LayoutRepositoryPtr | getLayoutRepository () |
virtual CameraControlPtr | getCameraControl () |
virtual QActionGroup * | getInteractorStyleActionGroup () |
virtual void | centerToImageCenterInActiveViewGroup () |
virtual void | addDefaultLayout (LayoutData layoutData) |
virtual void | enableContextMenuForViews (bool enable=true) |
virtual bool | isNull () |
virtual void | setCameraStyle (CAMERA_STYLE_TYPE style, int groupIdx) |
virtual void | zoomCamera3D (int viewGroup3DNumber, int zoomFactor) |
Public Member Functions inherited from cx::ViewService | |
RepContainerPtr | get3DReps (int group=0, int index=0) |
unsigned | groupCount () const |
virtual void | deactivateLayout () |
ViewGroupDataPtr | getActiveViewGroup () |
Protected Slots | |
void | layoutWidgetDestroyed (QObject *object) |
Protected Member Functions | |
void | rebuildLayouts () |
QList< unsigned > | getViewGroupsToAutoShowIn () |
Protected Attributes | |
VisServicesPtr | mServices |
std::vector< QPointer< ViewCollectionWidget > > | mLayoutWidgets |
RenderWindowFactoryPtr | mRenderWindowFactory |
RenderLoopPtr | mRenderLoop |
Additional Inherited Members | |
Signals inherited from cx::ViewService | |
void | fps (int number) |
Emits number of frames per second. More... | |
void | activeLayoutChanged () |
emitted when the active layout changes More... | |
void | activeViewChanged () |
emitted when the active view changes More... | |
void | renderingEnabledChanged () |
emitted then rendering is enabled/disabled More... | |
void | pointSampled (Vector3D p_r) |
void | renderFinished () |
Static Public Member Functions inherited from cx::ViewService | |
static ViewServicePtr | getNullObject () |
Creates a pool of views and offers an interface to them, also handles layouts on a centralwidget.
Implementation of ViewService.
The primitive element is the View. Various derivations of ViewWrapper controls each view and fills them with Reps. ViewWrapper2D controls a 2D slice, ViewWrapper3D controls a full 3D scene, ViewWrapperRTSource shows a video stream.
ViewService handles the visualization of the 3D data. It composes the Views onto the QWidget using a QGridLayout. This is called a Layout in the GUI. Available layouts can be found inside ViewService. The QWidget is the centralWidget in the MainWindow.
The views are divided into several groups. Each group, represented by a ViewGroup, has some common characteristics, such as which data to display. These data are stored in a ViewGroupData. The View/ViewWrappers connected to a group, uses the ViewGroupData to know what they should visualize. Each ViewWrapper formats the data in their own way (as slices or 3D renderings).
The right-click menu in the Views are created inside the ViewWrappers. The data they manipulate are (mostly) stored within ViewGroupData.
The Layout uses QGridLayout to organize the views. Each view belong to a group that show the same data in different ways (for example: 3D+ACS). The layout and grouping can be reconfigured in the OR.
Definition at line 83 of file cxViewImplService.h.
cx::ViewImplService::ViewImplService | ( | ctkPluginContext * | context | ) |
Definition at line 48 of file cxViewImplService.cpp.
|
virtual |
Definition at line 63 of file cxViewImplService.cpp.
|
virtualslot |
Definition at line 709 of file cxViewImplService.cpp.
|
virtual |
Implements cx::ViewService.
Definition at line 684 of file cxViewImplService.cpp.
|
virtual |
Implements cx::ViewService.
Definition at line 592 of file cxViewImplService.cpp.
|
virtual |
Implements cx::ViewService.
Definition at line 719 of file cxViewImplService.cpp.
|
virtual |
Get the specified layout widget, create if necessary.
Implements cx::ViewService.
Definition at line 166 of file cxViewImplService.cpp.
|
virtual |
Implements cx::ViewService.
Definition at line 689 of file cxViewImplService.cpp.
|
virtual |
Implements cx::ViewService.
Definition at line 119 of file cxViewImplService.cpp.
|
virtual |
Look for the index'th 3DView in given group.
Implements cx::ViewService.
Definition at line 346 of file cxViewImplService.cpp.
|
virtual |
Implements cx::ViewService.
Definition at line 266 of file cxViewImplService.cpp.
|
virtual |
Implements cx::ViewService.
Definition at line 250 of file cxViewImplService.cpp.
|
virtual |
Implements cx::ViewService.
Definition at line 602 of file cxViewImplService.cpp.
|
virtual |
Implements cx::ViewService.
Definition at line 714 of file cxViewImplService.cpp.
|
virtual |
Implements cx::ViewService.
Definition at line 245 of file cxViewImplService.cpp.
|
virtual |
Implements cx::ViewService.
Definition at line 382 of file cxViewImplService.cpp.
|
virtual |
Implements cx::ViewService.
Definition at line 556 of file cxViewImplService.cpp.
|
virtual |
Implements cx::ViewService.
Definition at line 526 of file cxViewImplService.cpp.
|
virtual |
Get the specified layout widget, NULL if not created.
Implements cx::ViewService.
Definition at line 159 of file cxViewImplService.cpp.
|
virtual |
Implements cx::ViewService.
Definition at line 153 of file cxViewImplService.cpp.
|
virtual |
Implements cx::ViewService.
Definition at line 656 of file cxViewImplService.cpp.
|
protected |
Definition at line 611 of file cxViewImplService.cpp.
|
virtual |
Implements cx::ViewService.
Definition at line 704 of file cxViewImplService.cpp.
|
protectedslot |
When GUI deletes the layout widget, we must clear resources here. Our own destructor gets called in a secondary thread (from pluginframework->stop), which shouldnt destroy GL stuff.
Definition at line 198 of file cxViewImplService.cpp.
|
protected |
Definition at line 422 of file cxViewImplService.cpp.
|
virtual |
Implements cx::ViewService.
Definition at line 129 of file cxViewImplService.cpp.
|
virtual |
Change layout from current to layout.
Implements cx::ViewService.
Definition at line 399 of file cxViewImplService.cpp.
|
virtual |
Implements cx::ViewService.
Definition at line 661 of file cxViewImplService.cpp.
|
virtual |
Implements cx::ViewService.
Definition at line 699 of file cxViewImplService.cpp.
|
virtual |
Implements cx::ViewService.
Definition at line 675 of file cxViewImplService.cpp.
|
protected |
Definition at line 144 of file cxViewImplService.h.
|
protected |
Definition at line 146 of file cxViewImplService.h.
|
protected |
Definition at line 145 of file cxViewImplService.h.
|
protected |
Definition at line 143 of file cxViewImplService.h.