Displays 3-channel video data as the background layer of vtkRenderWindows.
More...
#include <QmitkVideoBackground.h>
|
| void | UpdateVideo () |
| | Fetch a new video frame and update all registered render windows. More...
|
| |
|
| static void | OnRenderWindowDelete (vtkObject *object, unsigned long eid, void *clientdata, void *) |
| | Static VTK callback for render window deletion events. More...
|
| |
Displays 3-channel video data as the background layer of vtkRenderWindows.
The video frames are provided by a mitk::VideoSource via GetVideoTexture(). A QTimer periodically fetches frames and updates all registered render windows.
- Note
- The texture data is not copied; the caller must ensure the pointer returned by GetVideoTexture() remains valid. Image dimensions must be set correctly on the video source before enabling the background.
- See also
- mitk::VideoSource
Definition at line 45 of file QmitkVideoBackground.h.
◆ RenderWindowVectorInfoType
◆ QmitkVideoBackground() [1/2]
| QmitkVideoBackground::QmitkVideoBackground |
( |
QObject * |
parent = nullptr | ) |
|
|
explicit |
◆ QmitkVideoBackground() [2/2]
| QmitkVideoBackground::QmitkVideoBackground |
( |
mitk::VideoSource * |
v, |
|
|
int |
TimerDelay = 25 |
|
) |
| |
|
explicit |
Construct a video background with the given video source.
No parent is set; call setParent() or delete manually. You must call AddRenderWindow() before enabling.
- Parameters
-
| [in] | v | The video source providing frames. |
| [in] | TimerDelay | Refresh interval in milliseconds (default 25 ms = 40 Hz). |
◆ ~QmitkVideoBackground()
| QmitkVideoBackground::~QmitkVideoBackground |
( |
| ) |
|
|
override |
Destructor. Disables all video backgrounds.
◆ AddRenderWindow()
| void QmitkVideoBackground::AddRenderWindow |
( |
vtkRenderWindow * |
renderWindow | ) |
|
Add a render window in which the video is displayed.
Must be called before Enable(). If the render window was previously added, it will be re-inserted. If the video source has no image width yet, FetchFrame() will be called to obtain the first frame dimensions.
- Parameters
-
| [in] | renderWindow | The VTK render window to show video in. |
◆ Disable()
| void QmitkVideoBackground::Disable |
( |
| ) |
|
Disable video background visualization and stop the update timer.
◆ Enable()
| void QmitkVideoBackground::Enable |
( |
| ) |
|
Enable video background visualization and start the update timer.
- Precondition
- A video source and at least one render window must be set.
◆ EndOfVideoSourceReached
| void QmitkVideoBackground::EndOfVideoSourceReached |
( |
mitk::VideoSource * |
videoSource | ) |
|
|
signal |
Emitted when the video source reaches the end of its stream.
- Parameters
-
| [in] | videoSource | The video source that ended. |
◆ GetTimerDelay()
| int QmitkVideoBackground::GetTimerDelay |
( |
| ) |
|
Get the current timer delay.
- Returns
- The timer interval in milliseconds.
◆ GetVideoSource()
◆ IsEnabled()
| bool QmitkVideoBackground::IsEnabled |
( |
| ) |
|
Check whether the video background is currently enabled.
- Returns
- True if the update timer is running.
◆ IsRenderWindowIncluded()
| bool QmitkVideoBackground::IsRenderWindowIncluded |
( |
vtkRenderWindow * |
renderWindow | ) |
|
Check whether a render window is currently registered.
- Parameters
-
| [in] | renderWindow | The VTK render window to check. |
- Returns
- True if the render window is registered.
◆ Modified()
| void QmitkVideoBackground::Modified |
( |
| ) |
|
|
protected |
inits all renderwindows with default values, called before video rendering is started
◆ NewFrameAvailable
Emitted after all render windows have been updated with a new frame.
- Parameters
-
| [in] | videoSource | The video source that provided the frame. |
◆ OnRenderWindowDelete()
| static void QmitkVideoBackground::OnRenderWindowDelete |
( |
vtkObject * |
object, |
|
|
unsigned long |
eid, |
|
|
void * |
clientdata, |
|
|
void * |
|
|
) |
| |
|
static |
Static VTK callback for render window deletion events.
- Parameters
-
| [in] | object | The deleted VTK render window. |
| [in] | eid | The event ID. |
| [in] | clientdata | Pointer to this QmitkVideoBackground instance. |
◆ OnVideoSourceDelete()
| void QmitkVideoBackground::OnVideoSourceDelete |
( |
const itk::Object * |
caller, |
|
|
const itk::EventObject & |
event |
|
) |
| |
ITK observer callback for video source deletion events.
- Parameters
-
| [in] | caller | The deleted video source. |
| [in] | event | The ITK event object. |
◆ Pause()
| void QmitkVideoBackground::Pause |
( |
| ) |
|
Pause the video playback by stopping the update timer.
◆ RemoveRenderWindow() [1/2]
| void QmitkVideoBackground::RemoveRenderWindow |
( |
vtkRenderWindow * |
renderWindow | ) |
|
Remove a render window and disable video background in it.
- Parameters
-
| [in] | renderWindow | The VTK render window to remove. |
◆ RemoveRenderWindow() [2/2]
| void QmitkVideoBackground::RemoveRenderWindow |
( |
vtkRenderWindow * |
renderWindow, |
|
|
bool |
removeObserver |
|
) |
| |
|
protected |
removes the renderwindow and also removes the observer if the flag is set
◆ ResetVideoBackground()
| void QmitkVideoBackground::ResetVideoBackground |
( |
| ) |
|
|
protected |
reset all video backgrounds
◆ Resume()
| void QmitkVideoBackground::Resume |
( |
| ) |
|
Resume the video playback by restarting the update timer.
◆ SetTimerDelay()
| void QmitkVideoBackground::SetTimerDelay |
( |
int |
ms | ) |
|
Set the video refresh interval.
- Parameters
-
| [in] | ms | Timer interval in milliseconds (default 25). |
◆ SetVideoSource()
Set a new video source.
If a previous source was set, its observer is removed. If the background was enabled, it will be stopped.
- Parameters
-
| [in] | videoSource | The new video source, or nullptr to clear. |
◆ UpdateVideo
| void QmitkVideoBackground::UpdateVideo |
( |
| ) |
|
|
slot |
Fetch a new video frame and update all registered render windows.
◆ m_QTimer
| QTimer* QmitkVideoBackground::m_QTimer |
|
protected |
◆ m_renderWindowVectorInfo
a list of renderwindows and associated renderers and actors and imageimporters
Definition at line 214 of file QmitkVideoBackground.h.
◆ m_VideoSource
must implement GetVideoTexture() correctly (must return an OpenGL texture)
Definition at line 224 of file QmitkVideoBackground.h.
◆ m_VideoSourceObserverTag
| unsigned long QmitkVideoBackground::m_VideoSourceObserverTag |
|
protected |
The documentation for this class was generated from the following file: