Free Plugins

This page shows a list of all freely availabe OpenFlipper plugins. If you have feature requests please use the bugtracking system or send us an e-mail.

Most of the plugins on this page are included if you check out the latest free branch of OpenFlipper or download the Windows or Mac binaries.

Some of the plugins are marked as staging. These plugins are not finished yet or need more polishing. Nevertheless, they are already usable. If you want to get these plugins as well, take one of the staging daily builds.

There are different categories of Plugins:

General Plugins (14) Basic functionality
File Plugins (9) Importers and exporters
DataType Plugins (9) Providing the basic datatypes
Post Processors (11) Special post processing of the rendered images
Rendering Plugins (9) Plugins used for rendering in OpenFlipper
Mesh Processing (11) Algorithms to manipulate meshes
Skeletal Animation (3) Dealing with skeletons and animations
Surface Reconstruction (1) Reconstruction of surfaces from point clouds

General Plugins

Backup

The Backup Plugin manages store and restore operations on objects. Plugins manipulating objects have to support backup and restore operations (which applies to all plugins in the free branch). It will add buttons and a history to OpenFlippers user interface to step through previous operations.

Backup and restore functionality in OpenFlipper is only available if this plugin is loaded.





Data Control

The Data Control Plugin helps you to manage objects in OpenFlipper. It is used to show/hide objects, change their selection, copy, delete them or other properties. Additionally you can manage the object material via the context menu.

Included is also a way to group objects for handling larger scenes and a function to visualize object bounding boxes.





Deserialize Screenshot Metadata

This plugin provides a dialog that allows the user to deserialize meta data from a viewer snapshot taken with "View" -> "Viewer Snapshot" (the "Store Mesh Comments" option must be on when taking the snapshot).

At a minimum, the viewport position and the materials used in the scene are restored when deserializing meta data with this plugin. If you attach your own meta data to your objects, you can implement one of the slots in MetadataInterface to handle that meta data once it gets deserialized from a viewer snapshot.

A typical scenario where this is used is, when you have a complex set of user set parameters used by your plugin to generate the scene seen in a snapshot. If your plugin serializes these parameters into the object meta data, it will be stored in the snapshot. Later, you can reproduce the exact same result by restoring the parameters from the meta data in the snapshot.





Material Picker

The material picker can be used to copy and paste materials between objects. The material information is retained when OpenFlipper is closed.





Mem Info

This plugin monitors GPU and main memory information. On the left it shows the current memory usage of the gpu while on the right it shows the main memory information. The statistics provided are system wide and not only the OpenFlipper usage.





Move

The Move Plugin allows to apply affine transformations on objects or selections.

It provides the following transformations:

  • Translations
  • Rotations
  • Scaling
  • Shearing

The transformations can be applied to complete objects or only to a given selection. It has also functions to automatically scale objects to get a given bounding box size or to move the objects center of gravity into the origin.

Next to the input via a manipulator handled by the mouse, it is possible to set the transformation parameters in a context menu.





Primitives Generator

The primitve Generator Plugin provides functions to create simple primitives in OpenFlipper.

It adds a menu to create the following objects:

  • Cube (Triangle/Tetrahedral Mesh)
  • Dodecahedron (Polygonal Mesh)
  • Icosahedron (Triangle mesh)
  • Octahedron (Triangle mesh)
  • Pyramid (Triangle mesh)
  • Cylinder (Triangle mesh)
  • Sphere (Triangle Mesh, different parametrizations)
  • Cuboid (Tetrahedral Mesh)





Print

This simple plugin adds printing support to OpenFlipper. When triggered, it will make a screenshot of the current scene and send that to your systems printing system. You can choose which printer to use or send it to a pdf/ps file (if supported by the OS).





Ruler

This plugin can be used to measure euclidean distances in the OpenFlipper view.

You can click at the start and the end point of the measurement and the plugin will visualize the distance between the clicked points. After you selected the starting point, the distance to the current mouse position will updated while you move it.





Script

OpenFlipper provides a very flexible plugin system which can be used to automate tests or write entire new algorithms e.g. as combinations or modifications of existing ones. Each function in an OpenFlipper plugin can be easily made available as a scripting function (implement them as public slots).

The Scripting Plugin provides an interface to create scripts using these functions.

The interface of the plugin includes:

  • Widget containing a list of all available scripting functions along with their documentation and parameters
  • Live view showing functions which are called by the plugins(Has to be supported in the plugins)
  • Editor with syntax highlighting, checking, and simple debugging

The script language is based on QtScript with is similar to javascript. For additional info see the Qt Documentation.

Note: If you want to use scripting in OpenFlipper, this plugin has to be loaded!





Selection Base

The Selection Base Plugin is used to add or modify selections on objects. It only provides the core functionality like selection metaphors. These basic information is then passed to lower level selection plugins which have to be implemented for each available datatype.

There are four types of selections which can be modified: Object-, Vertex-, Edge-, Halfedge-, and Face-Selection.

For all types the plugin adds different kinds of selection metaphors like Lasso-Selection( screen space and volume lasso) , Sphere-Painting-Selection, Boundary-Selection or Floodfill-Selection.

In addition selections can be converted between different types (feature selection, vertex selection, ...), stored to disk or colorized.





Texture Control

The Texture Control Plugin manages all textures in OpenFlipper. It enables the user to switch between different types of textures. OpenFlipper supports global textures which are available on all objects and visualize properties on the surface like e.g. curvatures(computed on demand to save computation time). For this scalar properties the plugin also offers a histogram to analyze and define ranges for rendering this values by using a texture. Additionally local textures are supported so that objects can be textured differently. The Plugin manages which texture is active on an object and allows to modify parameters for all available textures.





View Control

The View Control Plugin manages the visualization of objects. It provides context menus to:

  • Switch the objects draw modes
  • Show/Hide selections, features, modeling area, ...

Furthermore it provides a toolbar with predefined views to be applied to the viewer. For the scripting system it implements various functions to control and get information about the camera, the rendering of the objects and other scene parameters.





Visual Scripting

The Visual Scripting Interface Plugin provides a visual programming interface to OpenFlippers scripting system. You can design algorithms by producing simple block/dataflow diagrams which are internally converted to OpenFlipper Scripts. Almost all freely available plugins provide blocks in the visual script editor which can be used to combine them to new algorithms or processing chains.

The editor also includes blocks for basic user interaction like dialog boxes.

Users without programming knowledge can use this interface to easily generate complex algorithms using existing function blocks.





Disclaimer Home Visual Computing institute RWTH Aachen University