Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitk::MovieGenerator Class Referenceabstract

Abstract base class for recording movies from OpenGL render windows. More...

#include <mitkMovieGenerator.h>

Inheritance diagram for mitk::MovieGenerator:
Collaboration diagram for mitk::MovieGenerator:

Public Member Functions

 mitkClassMacroItkParent (MovieGenerator, itk::LightObject)
 
virtual void SetStepper (Stepper *stepper)
 Set the stepper used to control movie generation. More...
 
virtual void SetRenderer (BaseRenderer *renderer)
 Set the renderer whose render window will be captured. More...
 
virtual void SetFileName (const char *fileName)
 Set the output filename for the movie. More...
 
virtual bool WriteMovie ()
 Generate a movie by iterating through all stepper steps. More...
 
virtual bool WriteCurrentFrameToMovie ()
 Capture a single frame and add it to the movie. More...
 
virtual void ReleaseMovieWriter ()
 Release the movie writer resources after using WriteCurrentFrameToMovie(). More...
 
virtual void SetFrameRate (unsigned int rate)
 Set the frame rate of the output movie. More...
 
unsigned int GetFrameRate ()
 Get the frame rate of the output movie. More...
 

Static Public Member Functions

static Pointer New (void)
 Factory method returning a platform-specific MovieGenerator. More...
 

Protected Member Functions

 MovieGenerator ()
 default constructor More...
 
virtual bool InitGenerator ()=0
 called directly before the first frame is added, determines movie size from renderer More...
 
virtual bool AddFrame (void *data)=0
 used to add a frame More...
 
virtual bool TerminateGenerator ()=0
 called after the last frame is added More...
 

Protected Attributes

char m_fileName [1024]
 stores the movie filename More...
 
Stepper * m_stepper
 stores the used stepper More...
 
BaseRenderer * m_renderer
 stores the uses renderer More...
 
int m_width
 InitGenerator() stores movie size in those variables. More...
 
int m_height
 
bool m_initialized
 
unsigned int m_FrameRate
 

Detailed Description

Abstract base class for recording movies from OpenGL render windows.

MovieGenerator provides the infrastructure for capturing frames from a BaseRenderer and assembling them into a movie file. It supports two modes:

Platform-specific subclasses (e.g., MovieGeneratorWin32) implement the actual video encoding via platform APIs.

See also
MovieGeneratorWin32
Stepper
BaseRenderer

Definition at line 39 of file mitkMovieGenerator.h.

Constructor & Destructor Documentation

◆ MovieGenerator()

mitk::MovieGenerator::MovieGenerator ( )
protected

default constructor

Member Function Documentation

◆ AddFrame()

virtual bool mitk::MovieGenerator::AddFrame ( void *  data)
protectedpure virtual

used to add a frame

Implemented in mitk::MovieGeneratorWin32.

◆ GetFrameRate()

unsigned int mitk::MovieGenerator::GetFrameRate ( )

Get the frame rate of the output movie.

Returns
The frame rate in frames per second.

◆ InitGenerator()

virtual bool mitk::MovieGenerator::InitGenerator ( )
protectedpure virtual

called directly before the first frame is added, determines movie size from renderer

Implemented in mitk::MovieGeneratorWin32.

◆ mitkClassMacroItkParent()

mitk::MovieGenerator::mitkClassMacroItkParent ( MovieGenerator  ,
itk::LightObject   
)

◆ New()

static Pointer mitk::MovieGenerator::New ( void  )
static

Factory method returning a platform-specific MovieGenerator.

Returns
Smart pointer to a MovieGenerator instance (Win32 or Linux).

◆ ReleaseMovieWriter()

virtual void mitk::MovieGenerator::ReleaseMovieWriter ( )
virtual

Release the movie writer resources after using WriteCurrentFrameToMovie().

◆ SetFileName()

virtual void mitk::MovieGenerator::SetFileName ( const char *  fileName)
inlinevirtual

Set the output filename for the movie.

Parameters
[in]fileNamePath to the output movie file.

Reimplemented in mitk::MovieGeneratorWin32.

Definition at line 66 of file mitkMovieGenerator.h.

◆ SetFrameRate()

virtual void mitk::MovieGenerator::SetFrameRate ( unsigned int  rate)
virtual

Set the frame rate of the output movie.

Parameters
[in]rateFrames per second (default: 20).

◆ SetRenderer()

virtual void mitk::MovieGenerator::SetRenderer ( BaseRenderer *  renderer)
inlinevirtual

Set the renderer whose render window will be captured.

Parameters
[in]rendererThe BaseRenderer to record from.

Definition at line 60 of file mitkMovieGenerator.h.

◆ SetStepper()

virtual void mitk::MovieGenerator::SetStepper ( Stepper *  stepper)
inlinevirtual

Set the stepper used to control movie generation.

Parameters
[in]stepperThe Stepper that drives frame iteration.

Definition at line 54 of file mitkMovieGenerator.h.

◆ TerminateGenerator()

virtual bool mitk::MovieGenerator::TerminateGenerator ( )
protectedpure virtual

called after the last frame is added

Implemented in mitk::MovieGeneratorWin32.

◆ WriteCurrentFrameToMovie()

virtual bool mitk::MovieGenerator::WriteCurrentFrameToMovie ( )
virtual

Capture a single frame and add it to the movie.

This method does not use a Stepper. Initialization occurs on the first call. Renderer and FileName must be set before calling this method.

Returns
True if the frame was successfully added.

◆ WriteMovie()

virtual bool mitk::MovieGenerator::WriteMovie ( )
virtual

Generate a movie by iterating through all stepper steps.

Uses the configured Stepper and Renderer to capture frames from the active OpenGL context and assemble them into a movie file.

Precondition
Stepper and Renderer must be set.
Returns
True if the movie was successfully written.

Member Data Documentation

◆ m_fileName

char mitk::MovieGenerator::m_fileName[1024]
protected

stores the movie filename

Definition at line 120 of file mitkMovieGenerator.h.

◆ m_FrameRate

unsigned int mitk::MovieGenerator::m_FrameRate
protected

Definition at line 133 of file mitkMovieGenerator.h.

◆ m_height

int mitk::MovieGenerator::m_height
protected

Definition at line 129 of file mitkMovieGenerator.h.

◆ m_initialized

bool mitk::MovieGenerator::m_initialized
protected

Definition at line 131 of file mitkMovieGenerator.h.

◆ m_renderer

BaseRenderer* mitk::MovieGenerator::m_renderer
protected

stores the uses renderer

Definition at line 126 of file mitkMovieGenerator.h.

◆ m_stepper

Stepper* mitk::MovieGenerator::m_stepper
protected

stores the used stepper

Definition at line 123 of file mitkMovieGenerator.h.

◆ m_width

int mitk::MovieGenerator::m_width
protected

InitGenerator() stores movie size in those variables.

Definition at line 129 of file mitkMovieGenerator.h.


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