Medical Imaging Interaction Toolkit  2025.12.02
Medical Imaging Interaction Toolkit
mitkMovieGenerator.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef mitkMovieGenerator_h
14 #define mitkMovieGenerator_h
15 
17 #include "mitkBaseRenderer.h"
18 #include "mitkCommon.h"
19 #include "mitkStepper.h"
20 
21 namespace mitk
22 {
23  class MITKALGORITHMSEXT_EXPORT MovieGenerator : public itk::LightObject
24  {
25  public:
27 
28  // delivers Win32 or Linux-versions of MovieGenerator
29  static Pointer New(void);
30 
32  virtual void SetStepper(Stepper *stepper) { m_stepper = stepper; }
34  virtual void SetRenderer(BaseRenderer *renderer) { m_renderer = renderer; }
36  virtual void SetFileName(const char *fileName) { strcpy(m_fileName, fileName); }
38  virtual bool WriteMovie();
39 
41  // it adds a single frame to a movie each time the function is called
42  // Initialization is done with first function call; Renderer and Filename have to be set up properly before.
43  virtual bool WriteCurrentFrameToMovie();
45  virtual void ReleaseMovieWriter();
46 
47  virtual void SetFrameRate(unsigned int rate);
48 
49  unsigned int GetFrameRate();
50 
51  protected:
54 
56  virtual bool InitGenerator() = 0;
57 
59  virtual bool AddFrame(void *data) = 0;
60 
62  virtual bool TerminateGenerator() = 0;
63 
65  char m_fileName[1024];
66 
69 
72 
74  int m_width, m_height;
75 
77 
78  unsigned int m_FrameRate;
79  };
80 
81 } // namespace mitk
82 
83 #endif
#define MITKALGORITHMSEXT_EXPORT
static Pointer New(void)
virtual bool InitGenerator()=0
called directly before the first frame is added, determines movie size from renderer
MovieGenerator()
default constructor
mitkClassMacroItkParent(MovieGenerator, itk::LightObject)
virtual bool WriteCurrentFrameToMovie()
alternative way, which does not use a stepper;
virtual bool AddFrame(void *data)=0
used to add a frame
Stepper * m_stepper
stores the used stepper
virtual bool TerminateGenerator()=0
called after the last frame is added
virtual bool WriteMovie()
uses given stepper and filename to create a movie from the active OpenGL context
virtual void SetRenderer(BaseRenderer *renderer)
renderer to record
unsigned int GetFrameRate()
virtual void SetFileName(const char *fileName)
filename under which movie is saved
virtual void ReleaseMovieWriter()
releases a movie writer after usage of WriteCurrentFrameToMovie()
BaseRenderer * m_renderer
stores the uses renderer
virtual void SetStepper(Stepper *stepper)
stepper used to control movie generation
virtual void SetFrameRate(unsigned int rate)
Helper class to step through a list.
Definition: mitkStepper.h:48
Find image slices visible on a given plane.