Commit 1f806934 authored by Mike Kremer's avatar Mike Kremer

Integrated data flow charts into documentation

git-svn-id: http://www.openflipper.org/svnrepo/OpenFlipper/branches/Free@4634 383ad7c9-94d9-4d36-a494-682f7c89f535
parent 62104c98
......@@ -20,6 +20,7 @@
* speed or stability. As stated above, every plugin has to be derived from the BaseInterface. This is the
* basic factory which makes the core aware of the plugin. The name and the description of the plugin is
* exported via the baseinterface. The initialization of each plugin is done via this interface too.
* See \ref dataFlow for an overview of OpenFlipper's data flow and interface function calls.
*
* After this interface of the plugin is sucessfully processed all other interfaces will be initialized
* and connected to the core. For details about the individual interfaces see their documentation.
......@@ -110,4 +111,6 @@
* To test if our plugin has been successfully loaded, we launch OpenFlipper and select \c Plugins->Unload \c Plugin.
* If our plugin \c SimplePlugin is listed, everything is fine. If it's not listed, read OpenFlippers
* log to see what happened wrong.
*
* See \ref dataFlow for further information on interface function calls.
*/
/** \page dataFlow Dataflow
*
* \section quickref Quick references:
* - \ref startup
* - \ref loadSettings
* - \ref saveSettings
* - \ref updateObjects
* - \ref updateView
*
* \section startup Startup process
*
* Starting OpenFlipper invokes the following processes: <br><br>
* \subsection ref1 References:
* \ref BaseInterface::initializePlugin(),<br>\ref BaseInterface::pluginsInitialized(),<br>\ref INIInterface::loadIniFileOptions()<br>
*
* \image html startupProcess.jpg
*
* \section loadSettings Load settings
*
* Also see \ref INIInterface
*
* \subsection ref2 References:
* \ref INIInterface::loadIniFileOptions(),<br>\ref INIInterface::loadIniFile(),<br>\ref INIInterface::loadIniFileOptionsLast()<br>
*
* \image html loadSettingsFlow.jpg
*
*
* \section saveSettings Save settings
*
* Also see \ref INIInterface
*
* \subsection ref3 References:
* \ref INIInterface::saveIniFileOptions(),<br>\ref INIInterface::saveIniFile(),<br>
* \image html saveSettingsFlow.jpg
*
*
* \section updateObjects Update objects
*
* Each time an object has been modified by a plugin, the plugin has to emit the
* signal BaseInterface::updatedObject() in order to initiate the core to inform
* all other plugins about the changes and redraw the scene.
*
* Also see \ref BaseInterface
*
* \subsection ref4 References:
* \ref BaseInterface::updatedObject(),<br>\ref BaseInterface::slotObjectUpdated(),<br>
* \image html updateObject.jpg
*
*
* \section updateView Update view
*
* A plugin can provoke a redraw of the scene by emitting the signal BaseInterface::updateView().
*
* Also see \ref BaseInterface
*
* \subsection ref5 References:
* \ref BaseInterface::updateView(),<br>
* \image html updateView.jpg
*
*/
......@@ -13,6 +13,7 @@
* - \subpage pluginProgramming "Plugin Programming"
* - \subpage interfaces "Plugin Interfaces"
* - \subpage dataStructure "Datastructures"
* - \subpage dataFlow "Dataflow"
*
*
* \section BasicPlugins Basic Plugins
......@@ -27,11 +28,11 @@
* the ObjectData::dataType is set to the correct value. \n
* Visible objects have to be derived from the BaseObjectData class. This class provides the basic nodes for the Scenegraph
* and name or path handling. \n
* For every object, the top node is the the ObjectData::SeparatorNode
* For every object, the top node is the ObjectData::SeparatorNode
* You should add all custom nodes which belong to an object below this node. Below the Seperator Node is a
* ObjectData::ManipulatorNode. This Node is controlled by the MovePlugin. If you want your objects to move
* with the main object, place them below this node.
* Meshes ( PolyMesh or TriMesh ) The MeshObject classes are used. Below the ManipulatorNode is a Status Node and a texture node for a mesh.
* For meshes ( PolyMesh or TriMesh ) the MeshObject classes are used. Below the ManipulatorNode is a Status Node and a texture node for a mesh.
* Below the texture node is a material node and below the material node is a meshnode.\n
* For additional nodes the vector ObjectData::additional_nodes is created. You should not access it directly but use PluginFunctions::addAdditionalNode
* and PluginFunctions::getAdditionalNode.\n
......
Doxygen/pics/loadSettingsFlow.jpg

44.1 KB | W: | H:

Doxygen/pics/loadSettingsFlow.jpg

40.5 KB | W: | H:

Doxygen/pics/loadSettingsFlow.jpg
Doxygen/pics/loadSettingsFlow.jpg
Doxygen/pics/loadSettingsFlow.jpg
Doxygen/pics/loadSettingsFlow.jpg
  • 2-up
  • Swipe
  • Onion skin
Doxygen/pics/saveSettingsFlow.jpg

39 KB | W: | H:

Doxygen/pics/saveSettingsFlow.jpg

37.8 KB | W: | H:

Doxygen/pics/saveSettingsFlow.jpg
Doxygen/pics/saveSettingsFlow.jpg
Doxygen/pics/saveSettingsFlow.jpg
Doxygen/pics/saveSettingsFlow.jpg
  • 2-up
  • Swipe
  • Onion skin
Doxygen/pics/startupProcess.jpg

52.2 KB | W: | H:

Doxygen/pics/startupProcess.jpg

49.6 KB | W: | H:

Doxygen/pics/startupProcess.jpg
Doxygen/pics/startupProcess.jpg
Doxygen/pics/startupProcess.jpg
Doxygen/pics/startupProcess.jpg
  • 2-up
  • Swipe
  • Onion skin
Doxygen/pics/updateObject.jpg

25.5 KB | W: | H:

Doxygen/pics/updateObject.jpg

1.31 KB | W: | H:

Doxygen/pics/updateObject.jpg
Doxygen/pics/updateObject.jpg
Doxygen/pics/updateObject.jpg
Doxygen/pics/updateObject.jpg
  • 2-up
  • Swipe
  • Onion skin
Doxygen/pics/updateView.jpg

15.2 KB | W: | H:

Doxygen/pics/updateView.jpg

14 KB | W: | H:

Doxygen/pics/updateView.jpg
Doxygen/pics/updateView.jpg
Doxygen/pics/updateView.jpg
Doxygen/pics/updateView.jpg
  • 2-up
  • Swipe
  • Onion skin
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment