Developer Documentation
Loading...
Searching...
No Matches
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
 
virtual QString postProcessorName ()=0
 announce name for the postProcessor function
 
virtual bool isStereoProcessor ()
 does post processor resolve stereo buffer
 
virtual void getFormatDesc (PostProcessorFormatDesc *_desc)
 
virtual QAction * optionsAction ()
 Return options menu.
 

Public Member Functions

virtual ~PostProcessorInterface ()
 Destructor.
 

Private Slots

virtual QString checkOpenGL ()=0
 Check OpenGL capabilities.
 

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 147 of file PostProcessorInterface.hh.

Constructor & Destructor Documentation

◆ ~PostProcessorInterface()

virtual PostProcessorInterface::~PostProcessorInterface ( )
inlinevirtual

Destructor.

Definition at line 152 of file PostProcessorInterface.hh.

Member Function Documentation

◆ checkOpenGL

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:

// Check version
if ( ! ACG::openGLVersion(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;
bool openGLVersion(const int _major, const int _minor, bool _verbose)
Definition gl.cc:129
Returns
Return an empty string if everything is fine, otherwise return, what features are missing.

◆ getFormatDesc

virtual void PostProcessorInterface::getFormatDesc ( PostProcessorFormatDesc _desc)
inlinevirtualslot

Definition at line 184 of file PostProcessorInterface.hh.

◆ isStereoProcessor

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 174 of file PostProcessorInterface.hh.

◆ optionsAction

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 195 of file PostProcessorInterface.hh.

◆ postProcessorName

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: