NorMIT-nav
2023.01.05-dev+develop.0da12
An IGT application
cxRenderWindowFactory.h
Go to the documentation of this file.
1
/*=========================================================================
2
This file is part of CustusX, an Image Guided Therapy Application.
3
4
Copyright (c) SINTEF Department of Medical Technology.
5
All rights reserved.
6
7
CustusX is released under a BSD 3-Clause license.
8
9
See Lisence.txt (https://github.com/SINTEFMedtek/CustusX/blob/master/License.txt) for details.
10
=========================================================================*/
11
12
#ifndef CXRENDERWINDOWFACTORY_H
13
#define CXRENDERWINDOWFACTORY_H
14
15
#include "cxResourceVisualizationExport.h"
16
17
#include <map>
18
#include <QString>
19
#include <boost/smart_ptr.hpp>
20
#include "
vtkForwardDeclarations.h
"
21
#include "
cxForwardDeclarations.h
"
22
#include "
cxSharedContextCreatedCallback.h
"
23
24
class
QVTKWidget;
25
26
namespace
cx
27
{
28
typedef
boost::shared_ptr<class RenderWindowFactory>
RenderWindowFactoryPtr
;
29
38
class
cxResourceVisualization_EXPORT
RenderWindowFactory
:
public
QObject
39
{
40
Q_OBJECT
41
public
:
42
RenderWindowFactory
();
43
vtkRenderWindowPtr
getRenderWindow(QString uid,
bool
offScreenRendering =
false
);
44
vtkRenderWindowPtr
getSharedRenderWindow()
const
;
45
46
SharedOpenGLContextPtr
getSharedOpenGLContext()
const
;
47
bool
renderWindowExists(QString uid);
48
49
private
:
50
//Important: keep private, only the SharedContextCreatedCallback::Execute should be able to set the shared render window.
51
void
setSharedRenderWindow(
vtkRenderWindowPtr
sharedRenderWindow);
52
friend
void
SharedContextCreatedCallback::Execute
(vtkObject *view,
unsigned
long
eventId,
void
*cbo);
53
54
vtkRenderWindowPtr
createRenderWindow(QString uid,
bool
offScreenRendering);
55
void
preventSharedContextRenderWindowFromBeingShownOnScreen(
vtkRenderWindowPtr
renderWindow);
56
57
vtkRenderWindowPtr
mSharedRenderWindow;
58
std::map<QString, vtkRenderWindowPtr> mRenderWindows;
59
SharedContextCreatedCallbackPtr
mSharedContextCreatedCallback;
60
SharedOpenGLContextPtr
mSharedOpenGLContext;
61
QVTKWidget* mQvtkWidgetForHidingSharedContextRenderWindow;
62
63
static
bool
mInstanceExisting;
64
65
};
66
}
//cx
67
68
#endif // CXRENDERWINDOWFACTORY_H
vtkRenderWindowPtr
vtkSmartPointer< class vtkRenderWindow > vtkRenderWindowPtr
Definition:
vtkForwardDeclarations.h:124
cx::RenderWindowFactory
Use to create all vtkRenderWindows, and store a single shared render window.
Definition:
cxRenderWindowFactory.h:38
cx::SharedContextCreatedCallback::Execute
virtual void Execute(vtkObject *view, unsigned long eventId, void *cbo)
Definition:
cxSharedContextCreatedCallback.cpp:39
cx
Namespace for all CustusX production code.
Definition:
cx_dev_group_definitions.h:13
cxForwardDeclarations.h
cxSharedContextCreatedCallback.h
cx::RenderWindowFactoryPtr
boost::shared_ptr< class RenderWindowFactory > RenderWindowFactoryPtr
Definition:
cxForwardDeclarations.h:163
vtkForwardDeclarations.h
cx::SharedContextCreatedCallbackPtr
vtkSmartPointer< class SharedContextCreatedCallback > SharedContextCreatedCallbackPtr
Definition:
cxForwardDeclarations.h:165
cx::SharedOpenGLContextPtr
boost::shared_ptr< class SharedOpenGLContext > SharedOpenGLContextPtr
Definition:
cxForwardDeclarations.h:166
CX
source
resource
view
cxRenderWindowFactory.h
Generated on Thu Jan 5 2023 03:15:55 for NorMIT-nav by
1.8.17