Developer Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
PostProcessorInterface Class Referenceabstract

Interface to add global image post processor functions from within plugins. More...

#include <OpenFlipper/BasePlugin/PostProcessorInterface.hh>

Inheritance diagram for PostProcessorInterface:
PostProcessorAnaglyphPlugin PostProcessorDepthImagePlugin PostProcessorGrayscalePlugin PostProcessorPhilipsStereoPlugin PostProcessorSobelPlugin

Public Slots

virtual void postProcess (ACG::GLState *_glState, const std::vector< const PostProcessorInput * > &_input, const PostProcessorOutput &_output)=0
 post processor function More...
 
virtual QString postProcessorName ()=0
 announce name for the postProcessor function More...
 
virtual bool isStereoProcessor ()
 does post processor resolve stereo buffer More...
 
virtual QAction * optionsAction ()
 Return options menu. More...
 

Public Member Functions

virtual ~PostProcessorInterface ()
 Destructor.
 

Private Slots

virtual QString checkOpenGL ()=0
 Check OpenGL capabilities. More...
 

Detailed Description

Interface to add global image post processor functions from within plugins.

Detailed description

Interface for adding and controlling global image post processor functions from a plugin.

Definition at line 109 of file PostProcessorInterface.hh.

Member Function Documentation

virtual QString PostProcessorInterface::checkOpenGL ( )
privatepure virtualslot

Check OpenGL capabilities.

This function has to be implemented and checks, if all required OpenGL extensions are available. If this is not the case, the plugin will be refused by the core to avoid crashes due to insufficient OpenGL support.

You can get the version information in the following way:

// Get version and check
QGLFormat::OpenGLVersionFlags flags = QGLFormat::openGLVersionFlags();
if ( ! flags.testFlag(QGLFormat::OpenGL_Version_2_1) )
return QString("Insufficient OpenGL Version! OpenGL 2.1 or higher required");
//Get OpenGL extensions
QString glExtensions = QString((const char*)glGetString(GL_EXTENSIONS));
// Collect missing extension
QString missing = "";
if ( !glExtensions.contains("GL_ARB_vertex_buffer_object") )
missing += "Missing Extension GL_ARB_vertex_buffer_object\n";
if ( !glExtensions.contains("GL_ARB_vertex_program") )
missing += "Missing Extension GL_ARB_vertex_program\n";
return missing;
Returns
Return an empty string if everything is fine, otherwise return, what features are missing.
virtual bool PostProcessorInterface::isStereoProcessor ( )
inlinevirtualslot

does post processor resolve stereo buffer

The post processor gets the left and right image as input and composes a combined stereo output.

Returns
true if implementation resolves stereo buffer, false otherwise

Definition at line 136 of file PostProcessorInterface.hh.

virtual QAction* PostProcessorInterface::optionsAction ( )
inlinevirtualslot

Return options menu.

If you want an options Menu or menu entry, you can return your action here. It will be shown on top of the post processors list in the options menu.

Returns
Action for a menu or menu entry

Definition at line 146 of file PostProcessorInterface.hh.

virtual void PostProcessorInterface::postProcess ( ACG::GLState _glState,
const std::vector< const PostProcessorInput * > &  _input,
const PostProcessorOutput _output 
)
pure virtualslot

post processor function

virtual QString PostProcessorInterface::postProcessorName ( )
pure virtualslot

announce name for the postProcessor function

Returns
The name of the post processor

Implemented in PostProcessorPhilipsStereoPlugin.


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