Commit 714627fe authored by Jan Möbius's avatar Jan Möbius

Added some more documentation basics

git-svn-id: http://www.openflipper.org/svnrepo/OpenFlipper/branches/Free@5102 383ad7c9-94d9-4d36-a494-682f7c89f535
parent 002133ed
/** \page uiconcept "User Interface Concepts"
*
* This page describes the global OpenFlipper user interface concept.
*
*/
......@@ -5,38 +5,39 @@
* This is the developer documentation for the OpenFlipper project.
* OpenFlipper is a flexible geometry modeling and processing system.
* Only basic functionality like gui and data managment is done by the core of the application.
* All additional functionality is provided by plugins. The core also manages the communication
* All additional functionality is provided by plugins. The core also manages the communication
* between the plugins and their load/unload.
*
* This manual is divided into the following pages:
* - \subpage uiconcept "User Interface Concepts"
* - \subpage buildingOpenFlipper "Building OpenFlipper"
* - \subpage pluginProgramming "Plugin Programming"
* - \subpage pluginProgramming "Plugin Programming"
* - \subpage interfaces "Plugin Interfaces"
* - \subpage dataStructure "Datastructures"
* - \subpage dataFlow "Dataflow"
*
*
*
*
* \section BasicPlugins Basic Plugins
* \subsection Datacontrol Datacontrol
* Manages the available objects in a table. Allows modification of visibility and source target selection.
*
*
* \subsection Texturecontrol Texturecontrol
* Manages the available textures and their update.
*
*
* \section DataStructure DataStructure
* All data is stored in a tree structure containing ObjectData Objects. When a new object is created,
* All data is stored in a tree structure containing ObjectData Objects. When a new object is created,
* 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
* 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 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.
* 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.
* 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
*
*
* \subsection DataAccess Access to data from within the Plugins
* From each plugin you have to get access to the data. Functions to get the right data are provided in the
* PluginFunctions Namespace. Here are all functions which should be used to access the data. Most of the
......@@ -44,18 +45,18 @@
* need consistent data access during the plugin lifetime (e.g. you have to track one mesh during the plugin
* lifetime) you should use the identifiers made available in this namespace which never change.\n \n
* It is possible that the vector containing the objects changes during the plugin lifetime (added or deleted objects).
* Only the identifiers will stay constant. If one of these changes occurs, the main application will call
* BaseInterface::slotObjectUpdated() of all Plugins. If you have to keep track of these changes, implement it in
* Only the identifiers will stay constant. If one of these changes occurs, the main application will call
* BaseInterface::slotObjectUpdated() of all Plugins. If you have to keep track of these changes, implement it in
* this function.
*
* \section DefaultOptions Default Options and Options loaded from OpenFlipper.ini
*
* \section DefaultOptions Default Options and Options loaded from OpenFlipper.ini
* OpenFlipper.ini is read on application startup. Most of the options will also be accepted if another inifile is opened at application runtime. There can be multiple OpenFlipper.ini files. The application will look in the base path of the executable and in your home directory under ~/.OpenFlipper/OpenFlipper.ini \n
* Currently supported options:\n
* \subsection Plugincontrols Options to control Plugin loader
*
*
* [Plugins] \n
* DontLoad=Pluginname;Pluginname2;... ## Use this Option to tell the application to skip loading the Plugins with the specified names. (Only in OpenFlipper.ini)\n
*
*
* \subsection General General Options
* [Options]\n
* SetRandomBaseColor=false ## true : Use random base color for objects, false : Always use white as base color \n
......
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