MCPcopy Create free account
hub / github.com/MITK/MITK / WriteMovie

Method WriteMovie

Modules/AlgorithmsExt/src/mitkMovieGenerator.cpp:58–96  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

56}
57
58bool mitk::MovieGenerator::WriteMovie()
59{
60 bool ok = false;
61 if (m_stepper)
62 {
63 if (m_renderer)
64 m_renderer->GetRenderWindow()->MakeCurrent();
65 // m_stepper->First();
66 RenderingManager::GetInstance()->ForceImmediateUpdate(m_renderer->GetRenderWindow());
67
68 ok = InitGenerator();
69 if (!ok)
70 {
71 TerminateGenerator();
72 return false;
73 }
74 int imgSize = 3 * m_width * m_height;
75 printf("Video size = %i x %i\n", m_width, m_height);
76 auto *data = new GLbyte[imgSize];
77
78 // duplicate steps if pingPong option is switched to on.
79 unsigned int numOfSteps = m_stepper->GetSteps();
80 if (m_stepper->GetPingPong())
81 numOfSteps *= 2;
82
83 for (unsigned int i = 0; i < numOfSteps; i++)
84 {
85 if (m_renderer)
86 m_renderer->GetRenderWindow()->MakeCurrent();
87 RenderingManager::GetInstance()->ForceImmediateUpdate(m_renderer->GetRenderWindow());
88 glReadPixels(5, 5, m_width, m_height, GL_BGR, GL_UNSIGNED_BYTE, (void *)data);
89 AddFrame(data);
90 m_stepper->Next();
91 }
92 ok = TerminateGenerator();
93 delete[] data;
94 }
95 return ok;
96}
97
98bool mitk::MovieGenerator::WriteCurrentFrameToMovie()
99{

Callers

nothing calls this directly

Calls 4

MakeCurrentMethod · 0.80
GetRenderWindowMethod · 0.45
ForceImmediateUpdateMethod · 0.45
NextMethod · 0.45

Tested by

no test coverage detected