#include <mitkMovieGenerator.h>


Public Types | |
| typedef MovieGenerator | Self |
| typedef itk::LightObject | Superclass |
| typedef itk::SmartPointer< Self > | Pointer |
| typedef itk::SmartPointer < const Self > | ConstPointer |
Public Member Functions | |
| virtual const char * | GetClassName () const |
| virtual void | SetStepper (Stepper *stepper) |
| stepper used to control movie generation | |
| virtual void | SetRenderer (BaseRenderer *renderer) |
| renderer to record | |
| virtual void | SetFileName (const char *fileName) |
| filename under which movie is saved | |
| virtual bool | WriteMovie () |
| uses given stepper and filename to create a movie from the active OpenGL context | |
| virtual bool | WriteCurrentFrameToMovie () |
| alternative way, which does not use a stepper; | |
| virtual void | ReleaseMovieWriter () |
| releases a movie writer after usage of WriteCurrentFrameToMovie() | |
| virtual void | SetFrameRate (unsigned int rate) |
| unsigned int | GetFrameRate () |
Static Public Member Functions | |
| static Pointer | New (void) |
Protected Member Functions | |
| MovieGenerator () | |
| default constructor | |
| virtual bool | InitGenerator ()=0 |
| called directly before the first frame is added, determines movie size from renderer | |
| virtual bool | AddFrame (void *data)=0 |
| used to add a frame | |
| virtual bool | TerminateGenerator ()=0 |
| called after the last frame is added | |
Protected Attributes | |
| char | m_fileName [1024] |
| stores the movie filename | |
| Stepper * | m_stepper |
| stores the used stepper | |
| BaseRenderer * | m_renderer |
| stores the uses renderer | |
| int | m_width |
| InitGenerator() stores movie size in those variables. | |
| int | m_height |
| bool | m_initialized |
| unsigned int | m_FrameRate |
Definition at line 31 of file mitkMovieGenerator.h.
| typedef itk::SmartPointer<const Self> mitk::MovieGenerator::ConstPointer |
Reimplemented in mitk::MovieGeneratorWin32, and mitk::MovieGeneratorOpenCV.
Definition at line 35 of file mitkMovieGenerator.h.
| typedef itk::SmartPointer<Self> mitk::MovieGenerator::Pointer |
Reimplemented in mitk::MovieGeneratorWin32, and mitk::MovieGeneratorOpenCV.
Definition at line 35 of file mitkMovieGenerator.h.
Reimplemented in mitk::MovieGeneratorWin32, and mitk::MovieGeneratorOpenCV.
Definition at line 35 of file mitkMovieGenerator.h.
| typedef itk::LightObject mitk::MovieGenerator::Superclass |
Reimplemented in mitk::MovieGeneratorWin32, and mitk::MovieGeneratorOpenCV.
Definition at line 35 of file mitkMovieGenerator.h.
| mitk::MovieGenerator::MovieGenerator | ( | ) | [protected] |
default constructor
Definition at line 37 of file mitkMovieGenerator.cpp.
References m_fileName.
:m_stepper(NULL), m_renderer(NULL), m_width(0), m_height(0), m_initialized(false), m_FrameRate(20) { m_fileName[0] = 0; }
| virtual bool mitk::MovieGenerator::AddFrame | ( | void * | data ) | [protected, pure virtual] |
used to add a frame
Implemented in mitk::MovieGeneratorWin32, and mitk::MovieGeneratorOpenCV.
| virtual const char* mitk::MovieGenerator::GetClassName | ( | ) | const [virtual] |
Reimplemented in mitk::MovieGeneratorWin32, and mitk::MovieGeneratorOpenCV.
| unsigned int mitk::MovieGenerator::GetFrameRate | ( | ) |
Definition at line 147 of file mitkMovieGenerator.cpp.
{
return m_FrameRate;
}
| virtual bool mitk::MovieGenerator::InitGenerator | ( | ) | [protected, pure virtual] |
called directly before the first frame is added, determines movie size from renderer
Implemented in mitk::MovieGeneratorWin32, and mitk::MovieGeneratorOpenCV.
| mitk::MovieGenerator::Pointer mitk::MovieGenerator::New | ( | void | ) | [static] |
Reimplemented in mitk::MovieGeneratorWin32, and mitk::MovieGeneratorOpenCV.
Definition at line 49 of file mitkMovieGenerator.cpp.
References mitk::MovieGeneratorWin32::New().
Referenced by QmitkSimpleExampleView::generateMovie(), and QmitkMovieMaker::QmitkMovieMaker().
{
Pointer smartPtr;
MovieGenerator *rawPtr = ::itk::ObjectFactory<MovieGenerator>::Create();
if(rawPtr == NULL) {
#ifdef WIN32
#ifndef __GNUC__
//#if ! (_MSC_VER >= 1400)
mitk::MovieGenerator::Pointer wp = static_cast<mitk::MovieGenerator*>(mitk::MovieGeneratorWin32::New());
return wp;
//#endif
#endif
#endif
}
smartPtr = rawPtr;
if(rawPtr != NULL) rawPtr->UnRegister();
return smartPtr;
}
| void mitk::MovieGenerator::ReleaseMovieWriter | ( | ) | [virtual] |
releases a movie writer after usage of WriteCurrentFrameToMovie()
Definition at line 136 of file mitkMovieGenerator.cpp.
{
TerminateGenerator();
m_initialized = false;
}
| virtual void mitk::MovieGenerator::SetFileName | ( | const char * | fileName ) | [inline, virtual] |
filename under which movie is saved
Reimplemented in mitk::MovieGeneratorWin32, and mitk::MovieGeneratorOpenCV.
Definition at line 47 of file mitkMovieGenerator.h.
{ strcpy( m_fileName, fileName ); }
| void mitk::MovieGenerator::SetFrameRate | ( | unsigned int | rate ) | [virtual] |
Definition at line 142 of file mitkMovieGenerator.cpp.
{
m_FrameRate = rate;
}
| virtual void mitk::MovieGenerator::SetRenderer | ( | BaseRenderer * | renderer ) | [inline, virtual] |
| virtual void mitk::MovieGenerator::SetStepper | ( | Stepper * | stepper ) | [inline, virtual] |
stepper used to control movie generation
Definition at line 41 of file mitkMovieGenerator.h.
{ m_stepper = stepper; }
| virtual bool mitk::MovieGenerator::TerminateGenerator | ( | ) | [protected, pure virtual] |
called after the last frame is added
Implemented in mitk::MovieGeneratorWin32, and mitk::MovieGeneratorOpenCV.
| bool mitk::MovieGenerator::WriteCurrentFrameToMovie | ( | ) | [virtual] |
alternative way, which does not use a stepper;
Definition at line 109 of file mitkMovieGenerator.cpp.
References mitk::RenderingManager::ForceImmediateUpdate(), mitk::RenderingManager::GetInstance(), GL_BGR, GL_UNSIGNED_BYTE, and glReadPixels().
{
if (m_renderer)
{
m_renderer->GetRenderWindow()->MakeCurrent();
if(!m_initialized)
{
RenderingManager::GetInstance()->ForceImmediateUpdate(m_renderer->GetRenderWindow());
m_initialized = InitGenerator();
}
if (!m_initialized)
{
TerminateGenerator();
return false;
}
int imgSize = 3 * m_width * m_height;
GLbyte *data = new GLbyte[imgSize];
RenderingManager::GetInstance()->ForceImmediateUpdate(m_renderer->GetRenderWindow());
glReadPixels( 5, 5, m_width, m_height, GL_BGR, GL_UNSIGNED_BYTE, (void*)data );
AddFrame( data );
delete[] data;
}
return true;
}
| bool mitk::MovieGenerator::WriteMovie | ( | ) | [virtual] |
uses given stepper and filename to create a movie from the active OpenGL context
Definition at line 71 of file mitkMovieGenerator.cpp.
References mitk::RenderingManager::ForceImmediateUpdate(), mitk::RenderingManager::GetInstance(), GL_BGR, GL_UNSIGNED_BYTE, and glReadPixels().
{
bool ok = false;
if (m_stepper)
{
if (m_renderer) m_renderer->GetRenderWindow()->MakeCurrent();
//m_stepper->First();
RenderingManager::GetInstance()->ForceImmediateUpdate(m_renderer->GetRenderWindow());
ok = InitGenerator();
if (!ok)
{
TerminateGenerator();
return false;
}
int imgSize = 3 * m_width * m_height;
printf( "Video size = %i x %i\n", m_width, m_height );
GLbyte *data = new GLbyte[imgSize];
//duplicate steps if pingPong option is switched to on.
unsigned int numOfSteps = m_stepper->GetSteps();
if( m_stepper->GetPingPong() )
numOfSteps*=2;
for (unsigned int i=0; i<numOfSteps; i++)
{
if (m_renderer) m_renderer->GetRenderWindow()->MakeCurrent();
RenderingManager::GetInstance()->ForceImmediateUpdate(m_renderer->GetRenderWindow());
glReadPixels( 5, 5, m_width, m_height, GL_BGR, GL_UNSIGNED_BYTE, (void*)data );
AddFrame( data );
m_stepper->Next();
}
ok = TerminateGenerator();
delete[] data;
}
return ok;
}
char mitk::MovieGenerator::m_fileName[1024] [protected] |
stores the movie filename
Definition at line 80 of file mitkMovieGenerator.h.
Referenced by MovieGenerator().
unsigned int mitk::MovieGenerator::m_FrameRate [protected] |
Definition at line 93 of file mitkMovieGenerator.h.
int mitk::MovieGenerator::m_height [protected] |
Definition at line 89 of file mitkMovieGenerator.h.
bool mitk::MovieGenerator::m_initialized [protected] |
Definition at line 91 of file mitkMovieGenerator.h.
Referenced by mitk::MovieGeneratorOpenCV::MovieGeneratorOpenCV().
BaseRenderer* mitk::MovieGenerator::m_renderer [protected] |
stores the uses renderer
Definition at line 86 of file mitkMovieGenerator.h.
Stepper* mitk::MovieGenerator::m_stepper [protected] |
stores the used stepper
Definition at line 83 of file mitkMovieGenerator.h.
int mitk::MovieGenerator::m_width [protected] |
InitGenerator() stores movie size in those variables.
Definition at line 89 of file mitkMovieGenerator.h.
1.7.2