Developer Documentation

Public Slots | Public Member Functions | Private Slots | List of all members
PostProcessorInterface Class Referenceabstract

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

`#include <OpenFlipper/BasePlugin/PostProcessorInterface.hh>`

Inheritance diagram for PostProcessorInterface:

## 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 void | getFormatDesc (PostProcessorFormatDesc *_desc)
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 147 of file PostProcessorInterface.hh.

## Member Function Documentation

## ◆ checkOpenGL

virtual QString PostProcessorInterface::checkOpenGL | ( |  | ) |
| private pure virtual slot

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;

Returns
  Return an empty string if everything is fine, otherwise return, what features are missing.

## ◆ isStereoProcessor

virtual bool PostProcessorInterface::isStereoProcessor | ( |  | ) |
| inline virtual slot

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 | ( |  | ) |
| inline virtual slot

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.

## ◆ postProcess

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

post processor function

## ◆ postProcessorName

virtual QString PostProcessorInterface::postProcessorName | ( |  | ) |
| pure virtual slot

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:

- OpenFlipper/BasePlugin/PostProcessorInterface.hh