Commit 26198767 authored by Jan Möbius's avatar Jan Möbius

Docu update

git-svn-id: http://www.openflipper.org/svnrepo/OpenFlipper/branches/Free@5477 383ad7c9-94d9-4d36-a494-682f7c89f535
parent 4d561120
...@@ -94,7 +94,8 @@ WARN_LOGFILE = ...@@ -94,7 +94,8 @@ WARN_LOGFILE =
# configuration options related to the input files # configuration options related to the input files
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
INPUT = . \ INPUT = . \
../ObjectTypes ../ObjectTypes #\
# ../ACG/Scenegraph
INPUT_ENCODING = UTF-8 INPUT_ENCODING = UTF-8
FILE_PATTERNS = *.c \ FILE_PATTERNS = *.c \
*.cc \ *.cc \
......
/** \page dataStructure Datastructures /** \page dataStructure Datastructures
* *
* \section Overview * \section Overview
* All objects in OpenFlipper are handled by the core. To create and delete objects use *
* the functions provided in PluginFunctions and BaseObject.
* *
* All Objects have to be derived from the BaseObject. For the predefined Objeccts this is * All Objects have to be derived from the BaseObject. For the predefined Objeccts this is
* already the case. In BaseObject a tree structure is implemented. You can use the functions * already the case. In BaseObject a tree structure is implemented. You can use the functions
* in BaseObject to search for items and access them. A root Object is created by OpenFlipper * in BaseObject to search for items and access them. A root Object is created by OpenFlipper
* which is the root of the object tree. You can get it via PluginFunctions::objectRoot(). * which is the root of the object tree. You can get it via PluginFunctions::objectRoot(). There
* is also a groupobject which holds no data and is used for grouping different objects.
*
* All objects in OpenFlipper are handled by the core. To create and delete objects use
* the functions provided by the LoadSaveInterface.
*
* \section Loading data and existing types
* If you want to load or delete data from within your plugin and you only use existing types
* you can derive from the LoadSaveInterface. This interface provides load and save functions
* to tell the core that you want to access existing data types.
*
* \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
* time you will use the ObjectIterator defined there. If you 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::updatedObject() of all Plugins containing the id of a changed object or -1 if an object
* has been deleted. LoadSaveInterface::objectDeleted() will tell you if an object is deleted.
* If you have to keep track of these changes, implement these functions.
* *
* \section basicObjectTypes Basic object types * \section basicObjectTypes Basic object types
* \subsection baseObjectDescription BaseObject * \subsection baseObjectDescription BaseObject
...@@ -15,15 +35,35 @@ ...@@ -15,15 +35,35 @@
* functions. It creates a tree structure of all available objects, includes object * functions. It creates a tree structure of all available objects, includes object
* selection, name and type information. It does not contain any code to visualize * selection, name and type information. It does not contain any code to visualize
* objects. * objects.
* Each object derived from BaseObject has a datatype function BaseObject::dataType.
*
* Additionally you can add data to each object by using the perObjectData class.
* See PerObjectData
* *
* \subsection baseObjectDataDescription BaseObjectData * \subsection baseObjectDataDescription BaseObjectData
* This class is derived from BaseObject and includes basic visualization functions. It creates * This class is derived from BaseObject and includes basic visualization functions. It creates
* the basic scenegraph nodes for the object ( TODO : See per Object Scenegraph structure ). * the basic scenegraph nodes for the object ( TODO : See per Object Scenegraph structure ).
*
* For every object, the top scenegraph node is the ObjectData::SeparatorNode*. All other
* nodes ( including per object custom nodes ) have to be added below this node. Additionally
* an ManipulatorNode is added below the separator node. This manipulator is used to move
* or transform the object. Normally this node is managed by the move plugin. If you
* use per object nodes which should be transformed along with the object you can attach
* them below this node ( BaseObjectData::manipulatorNode() ).
*
* Additionally per object scenegraph nodes can be managed automatically by BaseObjectData. * Additionally per object scenegraph nodes can be managed automatically by BaseObjectData.
*
* *
* \subsection MeshObjectDescription MeshObject * \subsection MeshObjectDescription MeshObject
* MeshObject is the class representing triangle or poly meshes. It uses OpenMesh as its * MeshObject is the class representing triangle or poly meshes. It uses OpenMesh as its
* dataStructure. * data structure.
* It is based on BaseObjectData and adds additional scenegraph nodes. First it creates a materialNode
* used to set the meshes rendering material properties, followed by a texture node ( MeshObject::textureNode() ). A shader node ( MeshObject::shaderNode() ) is than
* added to manage the systems and user defined shaders. Below the shader node is the mesh node ( MeshObject::meshNode() )which actually
* renders the mesh.
* Additionally some nodes to render selection, features or modeling areas are added by the MeshObject
*
* See MeshObject for the detailed function documentation.
* *
* *
* \section creatingCustomObjectTypes Creating custom object types * \section creatingCustomObjectTypes Creating custom object types
......
...@@ -4,9 +4,13 @@ ...@@ -4,9 +4,13 @@
* *
* This is the developer documentation for the OpenFlipper project. * This is the developer documentation for the OpenFlipper project.
* OpenFlipper is a flexible geometry modeling and processing system. * 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. * OpenFlipper consists of the core application and a set of plugins. Only
* All additional functionality is provided by plugins. The core also manages the communication * the minimal required functionality is implemented inside the core. Plugins
* between the plugins and their load/unload. * can be written to extend OpenFlipper and provide new data types,
* processing functions or user interface modifications. All these plugins
* are managed by the core. This manual describes how OpenFlipper plugins
* can be created and how they can communicate with the core. There are of
* course examples for a quickstart into OpenFlippers plugin interface.
* *
* This manual is divided into the following pages: * This manual is divided into the following pages:
* - \subpage uiconcept "User Interface Concepts" * - \subpage uiconcept "User Interface Concepts"
...@@ -17,38 +21,6 @@ ...@@ -17,38 +21,6 @@
* - \subpage dataFlow "Dataflow" * - \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,
* 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 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.
* 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
* time you will use the ObjectIterator defined there. If you
* 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
* 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 * 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 * Currently supported options:\n
......
...@@ -7,16 +7,83 @@ ...@@ -7,16 +7,83 @@
<docanchor file="main">DefaultOptions</docanchor> <docanchor file="main">DefaultOptions</docanchor>
<docanchor file="main">Plugincontrols</docanchor> <docanchor file="main">Plugincontrols</docanchor>
<docanchor file="main">intro_sec</docanchor> <docanchor file="main">intro_sec</docanchor>
<docanchor file="main">DataStructure</docanchor>
<docanchor file="main">General</docanchor> <docanchor file="main">General</docanchor>
<docanchor file="main">DataAccess</docanchor> <docanchor file="main">DataAccess</docanchor>
<docanchor file="main">Texturecontrol</docanchor> </compound>
<docanchor file="main">Datacontrol</docanchor> <compound kind="file">
<docanchor file="main">BasicPlugins</docanchor> <name>PluginFunctionsPolyLine.hh</name>
<path>/data/home1/moebius/projects/OpenFlipper/ObjectTypes/PolyLine/</path>
<filename>PluginFunctionsPolyLine_8hh</filename>
<includes id="Types_8hh" name="Types.hh" local="no" imported="no">OpenFlipper/common/Types.hh</includes>
<namespace>PluginFunctions</namespace>
<member kind="function">
<type>bool</type>
<name>getSourcePolylines</name>
<anchorfile>namespacePluginFunctions.html</anchorfile>
<anchor>9969d18956e8ff97751874c118979153</anchor>
<arglist>(std::vector&lt; PolyLine * &gt; &amp;_polylines)</arglist>
</member>
<member kind="function">
<type>bool</type>
<name>getTargetPolylines</name>
<anchorfile>namespacePluginFunctions.html</anchorfile>
<anchor>a31234672afec7a9f34719ed775e57cd</anchor>
<arglist>(std::vector&lt; PolyLine * &gt; &amp;_polylines)</arglist>
</member>
<member kind="function">
<type>bool</type>
<name>getObject</name>
<anchorfile>namespacePluginFunctions.html</anchorfile>
<anchor>b042a2e3e1af753b9de1798a8cf63652</anchor>
<arglist>(int _identifier, PolyLineObject *&amp;_object)</arglist>
</member>
<member kind="function">
<type>PolyLine *</type>
<name>polyLine</name>
<anchorfile>namespacePluginFunctions.html</anchorfile>
<anchor>b3e42572ec1ff3dbcf7b8acc15f33bdf</anchor>
<arglist>(BaseObjectData *_object)</arglist>
</member>
<member kind="function">
<type>PolyLineObject *</type>
<name>polyLineObject</name>
<anchorfile>namespacePluginFunctions.html</anchorfile>
<anchor>3ef62b4ae374764129b5d909855f9e0a</anchor>
<arglist>(BaseObjectData *_object)</arglist>
</member>
</compound>
<compound kind="file">
<name>PolyLine.hh</name>
<path>/data/home1/moebius/projects/OpenFlipper/ObjectTypes/PolyLine/</path>
<filename>PolyLine_8hh</filename>
<includes id="PolyLineObject_8hh" name="PolyLineObject.hh" local="no" imported="no">ObjectTypes/PolyLine/PolyLineObject.hh</includes>
<includes id="PluginFunctionsPolyLine_8hh" name="PluginFunctionsPolyLine.hh" local="no" imported="no">ObjectTypes/PolyLine/PluginFunctionsPolyLine.hh</includes>
<includes id="PolyLineTypes_8hh" name="PolyLineTypes.hh" local="no" imported="no">ObjectTypes/PolyLine/PolyLineTypes.hh</includes>
</compound>
<compound kind="file">
<name>PolyLineObject.hh</name>
<path>/data/home1/moebius/projects/OpenFlipper/ObjectTypes/PolyLine/</path>
<filename>PolyLineObject_8hh</filename>
<includes id="PolyLineTypes_8hh" name="PolyLineTypes.hh" local="yes" imported="no">PolyLineTypes.hh</includes>
<includes id="BaseObjectData_8hh" name="BaseObjectData.hh" local="no" imported="no">OpenFlipper/common/BaseObjectData.hh</includes>
<includes id="GlobalDefines_8hh" name="GlobalDefines.hh" local="no" imported="no">OpenFlipper/common/GlobalDefines.hh</includes>
<class kind="class">PolyLineObject</class>
</compound>
<compound kind="file">
<name>PolyLineTypes.hh</name>
<path>/data/home1/moebius/projects/OpenFlipper/ObjectTypes/PolyLine/</path>
<filename>PolyLineTypes_8hh</filename>
<member kind="typedef">
<type>ACG::PolyLineT&lt; ACG::Vec3d &gt;</type>
<name>PolyLine</name>
<anchorfile>PolyLineTypes_8hh.html</anchorfile>
<anchor>b54c407eed4ac40b810973a3f9f397bf</anchor>
<arglist></arglist>
</member>
</compound> </compound>
<compound kind="file"> <compound kind="file">
<name>PluginFunctionsPolyMesh.hh</name> <name>PluginFunctionsPolyMesh.hh</name>
<path>/data/home2/kremer/projects/OpenFlipperFree/ObjectTypes/PolyMesh/</path> <path>/data/home1/moebius/projects/OpenFlipper/ObjectTypes/PolyMesh/</path>
<filename>PluginFunctionsPolyMesh_8hh</filename> <filename>PluginFunctionsPolyMesh_8hh</filename>
<includes id="Types_8hh" name="Types.hh" local="no" imported="no">OpenFlipper/common/Types.hh</includes> <includes id="Types_8hh" name="Types.hh" local="no" imported="no">OpenFlipper/common/Types.hh</includes>
<includes id="PolyMesh_8hh" name="PolyMesh.hh" local="no" imported="no">ObjectTypes/PolyMesh/PolyMesh.hh</includes> <includes id="PolyMesh_8hh" name="PolyMesh.hh" local="no" imported="no">ObjectTypes/PolyMesh/PolyMesh.hh</includes>
...@@ -66,7 +133,7 @@ ...@@ -66,7 +133,7 @@
</compound> </compound>
<compound kind="file"> <compound kind="file">
<name>PolyMesh.hh</name> <name>PolyMesh.hh</name>
<path>/data/home2/kremer/projects/OpenFlipperFree/ObjectTypes/PolyMesh/</path> <path>/data/home1/moebius/projects/OpenFlipper/ObjectTypes/PolyMesh/</path>
<filename>PolyMesh_8hh</filename> <filename>PolyMesh_8hh</filename>
<includes id="PolyMeshTypes_8hh" name="PolyMeshTypes.hh" local="no" imported="no">ObjectTypes/PolyMesh/PolyMeshTypes.hh</includes> <includes id="PolyMeshTypes_8hh" name="PolyMeshTypes.hh" local="no" imported="no">ObjectTypes/PolyMesh/PolyMeshTypes.hh</includes>
<includes id="PluginFunctionsPolyMesh_8hh" name="PluginFunctionsPolyMesh.hh" local="no" imported="no">ObjectTypes/PolyMesh/PluginFunctionsPolyMesh.hh</includes> <includes id="PluginFunctionsPolyMesh_8hh" name="PluginFunctionsPolyMesh.hh" local="no" imported="no">ObjectTypes/PolyMesh/PluginFunctionsPolyMesh.hh</includes>
...@@ -80,7 +147,7 @@ ...@@ -80,7 +147,7 @@
</compound> </compound>
<compound kind="file"> <compound kind="file">
<name>PolyMeshTypes.hh</name> <name>PolyMeshTypes.hh</name>
<path>/data/home2/kremer/projects/OpenFlipperFree/ObjectTypes/PolyMesh/</path> <path>/data/home1/moebius/projects/OpenFlipper/ObjectTypes/PolyMesh/</path>
<filename>PolyMeshTypes_8hh</filename> <filename>PolyMeshTypes_8hh</filename>
<class kind="struct">PolyTraits</class> <class kind="struct">PolyTraits</class>
<member kind="typedef"> <member kind="typedef">
...@@ -93,7 +160,7 @@ ...@@ -93,7 +160,7 @@
</compound> </compound>
<compound kind="file"> <compound kind="file">
<name>PluginFunctionsTriangleMesh.hh</name> <name>PluginFunctionsTriangleMesh.hh</name>
<path>/data/home2/kremer/projects/OpenFlipperFree/ObjectTypes/TriangleMesh/</path> <path>/data/home1/moebius/projects/OpenFlipper/ObjectTypes/TriangleMesh/</path>
<filename>PluginFunctionsTriangleMesh_8hh</filename> <filename>PluginFunctionsTriangleMesh_8hh</filename>
<includes id="Types_8hh" name="Types.hh" local="no" imported="no">OpenFlipper/common/Types.hh</includes> <includes id="Types_8hh" name="Types.hh" local="no" imported="no">OpenFlipper/common/Types.hh</includes>
<includes id="TriangleMesh_8hh" name="TriangleMesh.hh" local="no" imported="no">ObjectTypes/TriangleMesh/TriangleMesh.hh</includes> <includes id="TriangleMesh_8hh" name="TriangleMesh.hh" local="no" imported="no">ObjectTypes/TriangleMesh/TriangleMesh.hh</includes>
...@@ -143,7 +210,7 @@ ...@@ -143,7 +210,7 @@
</compound> </compound>
<compound kind="file"> <compound kind="file">
<name>TriangleMesh.hh</name> <name>TriangleMesh.hh</name>
<path>/data/home2/kremer/projects/OpenFlipperFree/ObjectTypes/TriangleMesh/</path> <path>/data/home1/moebius/projects/OpenFlipper/ObjectTypes/TriangleMesh/</path>
<filename>TriangleMesh_8hh</filename> <filename>TriangleMesh_8hh</filename>
<includes id="TriangleMeshTypes_8hh" name="TriangleMeshTypes.hh" local="no" imported="no">ObjectTypes/TriangleMesh/TriangleMeshTypes.hh</includes> <includes id="TriangleMeshTypes_8hh" name="TriangleMeshTypes.hh" local="no" imported="no">ObjectTypes/TriangleMesh/TriangleMeshTypes.hh</includes>
<includes id="PluginFunctionsTriangleMesh_8hh" name="PluginFunctionsTriangleMesh.hh" local="no" imported="no">ObjectTypes/TriangleMesh/PluginFunctionsTriangleMesh.hh</includes> <includes id="PluginFunctionsTriangleMesh_8hh" name="PluginFunctionsTriangleMesh.hh" local="no" imported="no">ObjectTypes/TriangleMesh/PluginFunctionsTriangleMesh.hh</includes>
...@@ -157,7 +224,7 @@ ...@@ -157,7 +224,7 @@
</compound> </compound>
<compound kind="file"> <compound kind="file">
<name>TriangleMeshTypes.hh</name> <name>TriangleMeshTypes.hh</name>
<path>/data/home2/kremer/projects/OpenFlipperFree/ObjectTypes/TriangleMesh/</path> <path>/data/home1/moebius/projects/OpenFlipper/ObjectTypes/TriangleMesh/</path>
<filename>TriangleMeshTypes_8hh</filename> <filename>TriangleMeshTypes_8hh</filename>
<class kind="struct">TriTraits</class> <class kind="struct">TriTraits</class>
<member kind="typedef"> <member kind="typedef">
...@@ -170,7 +237,7 @@ ...@@ -170,7 +237,7 @@
</compound> </compound>
<compound kind="file"> <compound kind="file">
<name>PluginFunctions.hh</name> <name>PluginFunctions.hh</name>
<path>/data/home2/kremer/projects/OpenFlipperFree/OpenFlipper/BasePlugin/</path> <path>/data/home1/moebius/projects/OpenFlipper/OpenFlipper/BasePlugin/</path>
<filename>PluginFunctions_8hh</filename> <filename>PluginFunctions_8hh</filename>
<includes id="Types_8hh" name="Types.hh" local="no" imported="no">OpenFlipper/common/Types.hh</includes> <includes id="Types_8hh" name="Types.hh" local="no" imported="no">OpenFlipper/common/Types.hh</includes>
<namespace>PluginFunctions</namespace> <namespace>PluginFunctions</namespace>
...@@ -452,7 +519,7 @@ ...@@ -452,7 +519,7 @@
</compound> </compound>
<compound kind="file"> <compound kind="file">
<name>RPCWrappers.hh</name> <name>RPCWrappers.hh</name>
<path>/data/home2/kremer/projects/OpenFlipperFree/OpenFlipper/BasePlugin/</path> <path>/data/home1/moebius/projects/OpenFlipper/OpenFlipper/BasePlugin/</path>
<filename>RPCWrappers_8hh</filename> <filename>RPCWrappers_8hh</filename>
<includes id="Types_8hh" name="Types.hh" local="no" imported="no">OpenFlipper/common/Types.hh</includes> <includes id="Types_8hh" name="Types.hh" local="no" imported="no">OpenFlipper/common/Types.hh</includes>
<namespace>RPC</namespace> <namespace>RPC</namespace>
...@@ -550,7 +617,7 @@ ...@@ -550,7 +617,7 @@
</compound> </compound>
<compound kind="file"> <compound kind="file">
<name>BaseObject.hh</name> <name>BaseObject.hh</name>
<path>/data/home2/kremer/projects/OpenFlipperFree/OpenFlipper/common/</path> <path>/data/home1/moebius/projects/OpenFlipper/OpenFlipper/common/</path>
<filename>BaseObject_8hh</filename> <filename>BaseObject_8hh</filename>
<includes id="GlobalDefines_8hh" name="GlobalDefines.hh" local="no" imported="no">OpenFlipper/common/GlobalDefines.hh</includes> <includes id="GlobalDefines_8hh" name="GlobalDefines.hh" local="no" imported="no">OpenFlipper/common/GlobalDefines.hh</includes>
<includes id="perObjectData_8hh" name="perObjectData.hh" local="yes" imported="no">perObjectData.hh</includes> <includes id="perObjectData_8hh" name="perObjectData.hh" local="yes" imported="no">perObjectData.hh</includes>
...@@ -558,7 +625,7 @@ ...@@ -558,7 +625,7 @@
</compound> </compound>
<compound kind="file"> <compound kind="file">
<name>BaseObjectData.hh</name> <name>BaseObjectData.hh</name>
<path>/data/home2/kremer/projects/OpenFlipperFree/OpenFlipper/common/</path> <path>/data/home1/moebius/projects/OpenFlipper/OpenFlipper/common/</path>
<filename>BaseObjectData_8hh</filename> <filename>BaseObjectData_8hh</filename>
<includes id="GlobalDefines_8hh" name="GlobalDefines.hh" local="no" imported="no">OpenFlipper/common/GlobalDefines.hh</includes> <includes id="GlobalDefines_8hh" name="GlobalDefines.hh" local="no" imported="no">OpenFlipper/common/GlobalDefines.hh</includes>
<includes id="BaseObject_8hh" name="BaseObject.hh" local="yes" imported="no">BaseObject.hh</includes> <includes id="BaseObject_8hh" name="BaseObject.hh" local="yes" imported="no">BaseObject.hh</includes>
...@@ -594,7 +661,7 @@ ...@@ -594,7 +661,7 @@
</compound> </compound>
<compound kind="file"> <compound kind="file">
<name>GlobalDefines.hh</name> <name>GlobalDefines.hh</name>
<path>/data/home2/kremer/projects/OpenFlipperFree/OpenFlipper/common/</path> <path>/data/home1/moebius/projects/OpenFlipper/OpenFlipper/common/</path>
<filename>GlobalDefines_8hh</filename> <filename>GlobalDefines_8hh</filename>
<member kind="define"> <member kind="define">
<type>#define</type> <type>#define</type>
...@@ -627,7 +694,7 @@ ...@@ -627,7 +694,7 @@
</compound> </compound>
<compound kind="file"> <compound kind="file">
<name>GlobalOptions.hh</name> <name>GlobalOptions.hh</name>
<path>/data/home2/kremer/projects/OpenFlipperFree/OpenFlipper/common/</path> <path>/data/home1/moebius/projects/OpenFlipper/OpenFlipper/common/</path>
<filename>GlobalOptions_8hh</filename> <filename>GlobalOptions_8hh</filename>
<includes id="GlobalDefines_8hh" name="GlobalDefines.hh" local="no" imported="no">OpenFlipper/common/GlobalDefines.hh</includes> <includes id="GlobalDefines_8hh" name="GlobalDefines.hh" local="no" imported="no">OpenFlipper/common/GlobalDefines.hh</includes>
<member kind="function"> <member kind="function">
...@@ -1515,14 +1582,14 @@ ...@@ -1515,14 +1582,14 @@
</compound> </compound>
<compound kind="file"> <compound kind="file">
<name>perObjectData.hh</name> <name>perObjectData.hh</name>
<path>/data/home2/kremer/projects/OpenFlipperFree/OpenFlipper/common/</path> <path>/data/home1/moebius/projects/OpenFlipper/OpenFlipper/common/</path>
<filename>perObjectData_8hh</filename> <filename>perObjectData_8hh</filename>
<includes id="GlobalDefines_8hh" name="GlobalDefines.hh" local="no" imported="no">OpenFlipper/common/GlobalDefines.hh</includes> <includes id="GlobalDefines_8hh" name="GlobalDefines.hh" local="no" imported="no">OpenFlipper/common/GlobalDefines.hh</includes>
<class kind="class">PerObjectData</class> <class kind="class">PerObjectData</class>
</compound> </compound>
<compound kind="file"> <compound kind="file">
<name>Types.cc</name> <name>Types.cc</name>
<path>/data/home2/kremer/projects/OpenFlipperFree/OpenFlipper/common/</path> <path>/data/home1/moebius/projects/OpenFlipper/OpenFlipper/common/</path>
<filename>Types_8cc</filename> <filename>Types_8cc</filename>
<includes id="Types_8hh" name="Types.hh" local="yes" imported="no">Types.hh</includes> <includes id="Types_8hh" name="Types.hh" local="yes" imported="no">Types.hh</includes>
<class kind="class">TypeInfo</class> <class kind="class">TypeInfo</class>
...@@ -1627,7 +1694,7 @@ ...@@ -1627,7 +1694,7 @@
</compound> </compound>
<compound kind="file"> <compound kind="file">
<name>Types.hh</name> <name>Types.hh</name>
<path>/data/home2/kremer/projects/OpenFlipperFree/OpenFlipper/common/</path> <path>/data/home1/moebius/projects/OpenFlipper/OpenFlipper/common/</path>
<filename>Types_8hh</filename> <filename>Types_8hh</filename>
<includes id="GlobalDefines_8hh" name="GlobalDefines.hh" local="no" imported="no">OpenFlipper/common/GlobalDefines.hh</includes> <includes id="GlobalDefines_8hh" name="GlobalDefines.hh" local="no" imported="no">OpenFlipper/common/GlobalDefines.hh</includes>
<includes id="BaseObject_8hh" name="BaseObject.hh" local="yes" imported="no">BaseObject.hh</includes> <includes id="BaseObject_8hh" name="BaseObject.hh" local="yes" imported="no">BaseObject.hh</includes>
...@@ -1831,7 +1898,7 @@ ...@@ -1831,7 +1898,7 @@
</compound> </compound>
<compound kind="file"> <compound kind="file">
<name>ViewerProperties.hh</name> <name>ViewerProperties.hh</name>
<path>/data/home2/kremer/projects/OpenFlipperFree/OpenFlipper/common/</path> <path>/data/home1/moebius/projects/OpenFlipper/OpenFlipper/common/</path>
<filename>ViewerProperties_8hh</filename> <filename>ViewerProperties_8hh</filename>
<includes id="GlobalDefines_8hh" name="GlobalDefines.hh" local="no" imported="no">OpenFlipper/common/GlobalDefines.hh</includes> <includes id="GlobalDefines_8hh" name="GlobalDefines.hh" local="no" imported="no">OpenFlipper/common/GlobalDefines.hh</includes>
<class kind="class">Viewer::ViewerProperties</class> <class kind="class">Viewer::ViewerProperties</class>
...@@ -1844,7 +1911,7 @@ ...@@ -1844,7 +1911,7 @@
</compound> </compound>
<compound kind="file"> <compound kind="file">
<name>Core.hh</name> <name>Core.hh</name>
<path>/data/home2/kremer/projects/OpenFlipperFree/OpenFlipper/Core/</path> <path>/data/home1/moebius/projects/OpenFlipper/OpenFlipper/Core/</path>
<filename>Core_8hh</filename> <filename>Core_8hh</filename>
<includes id="Types_8hh" name="Types.hh" local="yes" imported="no">OpenFlipper/common/Types.hh</includes> <includes id="Types_8hh" name="Types.hh" local="yes" imported="no">OpenFlipper/common/Types.hh</includes>
<includes id="Logging_8hh" name="Logging.hh" local="yes" imported="no">OpenFlipper/Logging/Logging.hh</includes> <includes id="Logging_8hh" name="Logging.hh" local="yes" imported="no">OpenFlipper/Logging/Logging.hh</includes>
...@@ -1863,19 +1930,19 @@ ...@@ -1863,19 +1930,19 @@
</compound> </compound>
<compound kind="file"> <compound kind="file">
<name>Logging.hh</name> <name>Logging.hh</name>
<path>/data/home2/kremer/projects/OpenFlipperFree/OpenFlipper/Logging/</path> <path>/data/home1/moebius/projects/OpenFlipper/OpenFlipper/Logging/</path>
<filename>Logging_8hh</filename> <filename>Logging_8hh</filename>
<class kind="class">PluginLogger</class> <class kind="class">PluginLogger</class>
</compound> </compound>
<compound kind="file"> <compound kind="file">
<name>Scripting.hh</name> <name>Scripting.hh</name>
<path>/data/home2/kremer/projects/OpenFlipperFree/OpenFlipper/Scripting/</path> <path>/data/home1/moebius/projects/OpenFlipper/OpenFlipper/Scripting/</path>
<filename>Scripting_8hh</filename> <filename>Scripting_8hh</filename>
<class kind="class">ScriptingWrapper</class> <class kind="class">ScriptingWrapper</class>
</compound> </compound>
<compound kind="file"> <compound kind="file">
<name>CoreWidget.hh</name> <name>CoreWidget.hh</name>
<path>/data/home2/kremer/projects/OpenFlipperFree/OpenFlipper/widgets/coreWidget/</path> <path>/data/home1/moebius/projects/OpenFlipper/OpenFlipper/widgets/coreWidget/</path>
<filename>CoreWidget_8hh</filename> <filename>CoreWidget_8hh</filename>
<includes id="Types_8hh" name="Types.hh" local="yes" imported="no">OpenFlipper/common/Types.hh</includes> <includes id="Types_8hh" name="Types.hh" local="yes" imported="no">OpenFlipper/common/Types.hh</includes>
<includes id="GlobalOptions_8hh" name="GlobalOptions.hh" local="no" imported="no">OpenFlipper/common/GlobalOptions.hh</includes> <includes id="GlobalOptions_8hh" name="GlobalOptions.hh" local="no" imported="no">OpenFlipper/common/GlobalOptions.hh</includes>
...@@ -1928,6 +1995,7 @@ ...@@ -1928,6 +1995,7 @@
<name>dataStructure</name> <name>dataStructure</name>
<title>Datastructures</title> <title>Datastructures</title>
<filename>dataStructure</filename> <filename>dataStructure</filename>
<docanchor file="dataStructure">Loading</docanchor>
<docanchor file="dataStructure">creatingCustomObjectTypes</docanchor> <docanchor file="dataStructure">creatingCustomObjectTypes</docanchor>
<docanchor file="dataStructure">MeshObjectDescription</docanchor> <docanchor file="dataStructure">MeshObjectDescription</docanchor>
<docanchor file="dataStructure">Overview</docanchor> <docanchor file="dataStructure">Overview</docanchor>
...@@ -1939,6 +2007,7 @@ ...@@ -1939,6 +2007,7 @@
<name>interfaces</name> <name>interfaces</name>
<title>Plugin Interfaces</title> <title>Plugin Interfaces</title>
<filename>interfaces</filename> <filename>interfaces</filename>
<docanchor file="interfaces">LoadSavePlugin</docanchor>
<docanchor file="interfaces">KeyPlugin</docanchor> <docanchor file="interfaces">KeyPlugin</docanchor>
<docanchor file="interfaces">RPCPlugin</docanchor> <docanchor file="interfaces">RPCPlugin</docanchor>
<docanchor file="interfaces">BasePlugin</docanchor> <docanchor file="interfaces">BasePlugin</docanchor>
...@@ -1960,6 +2029,7 @@ ...@@ -1960,6 +2029,7 @@
<docanchor file="pluginProgramming">updatingObjects</docanchor> <docanchor file="pluginProgramming">updatingObjects</docanchor>
<docanchor file="pluginProgramming">quickref</docanchor> <docanchor file="pluginProgramming">quickref</docanchor>
<docanchor file="pluginProgramming">plugin_sec</docanchor> <docanchor file="pluginProgramming">plugin_sec</docanchor>
<docanchor file="pluginProgramming">addingAndRemovingGeometry</docanchor>
<docanchor file="pluginProgramming">plugin_prog_sec</docanchor> <docanchor file="pluginProgramming">plugin_prog_sec</docanchor>
</compound> </compound>
<compound kind="page"> <compound kind="page">
...@@ -1977,6 +2047,13 @@ ...@@ -1977,6 +2047,13 @@
<docanchor file="ex2">ex2Implemenation1</docanchor> <docanchor file="ex2">ex2Implemenation1</docanchor>
<docanchor file="ex2">ex2Implemenation2</docanchor> <docanchor file="ex2">ex2Implemenation2</docanchor>
</compound> </compound>
<compound kind="page">
<name>ex3</name>
<title>Implementing mouse and keyboard interaction</title>
<filename>ex3</filename>
<docanchor file="ex3">ex3_source</docanchor>
<docanchor file="ex3">overview_ex3</docanchor>
</compound>
<compound kind="struct"> <compound kind="struct">
<name>AreaNodeMod</name> <name>AreaNodeMod</name>
<filename>structAreaNodeMod.html</filename> <filename>structAreaNodeMod.html</filename>
...@@ -8068,6 +8145,17 @@ ...@@ -8068,6 +8145,17 @@
<arglist>()=0</arglist> <arglist>()=0</arglist>
</member> </member>
</compound> </compound>
<compound kind="class">
<name>PerObjectData</name>
<filename>classPerObjectData.html</filename>
<member kind="function">
<type></type>
<name>PerObjectData</name>
<anchorfile>classPerObjectData.html</anchorfile>
<anchor>11eb18f0f59c897ad0b75b4d10af3872</anchor>
<arglist>()</arglist>
</member>
</compound>
<compound kind="class"> <compound kind="class">
<name>PickingInterface</name> <name>PickingInterface</name>
<filename>classPickingInterface.html</filename> <filename>classPickingInterface.html</filename>
...@@ -8262,6 +8350,116 @@ ...@@ -8262,6 +8350,116 @@
<arglist></arglist> <arglist></arglist>
</member> </member>
</compound> </compound>
<compound kind="class">
<name>PolyLineObject</name>
<filename>classPolyLineObject.html</filename>
<base>BaseObjectData</base>
<member kind="variable" protection="private">
<type>PolyLine *</type>
<name>line_</name>
<anchorfile>classPolyLineObject.html</anchorfile>
<anchor>95914f4d59050f00ad0a9a5532026de7</anchor>
<arglist></arglist>
</member>
<member kind="function">
<type>PolyLine *</type>
<name>line</name>
<anchorfile>classPolyLineObject.html</anchorfile>
<anchor>ea2ec15634f63d19903cdca88b58adb8</anchor>
<arglist>()</arglist>
</member>
<member kind="variable" protection="private">
<type>ACG::SceneGraph::PolyLineNodeT&lt; PolyLine &gt; *</type>
<name>lineNode_</name>
<anchorfile>classPolyLineObject.html</anchorfile>