Commit 135e05b9 authored by Jan Möbius's avatar Jan Möbius

- Reduced the number of included Scenegraph header files by using forward declarations.

   This removes a lot of qt gl collisions
   Developers have to include the scenegraph headers if they use the corresponding nodes
parent 74bbcae6
...@@ -63,6 +63,9 @@ ...@@ -63,6 +63,9 @@
#include "PluginFunctions.hh" #include "PluginFunctions.hh"
#include "PluginFunctionsCore.hh" #include "PluginFunctionsCore.hh"
#include <ACG/Scenegraph/SeparatorNode.hh>
#include <ACG/Scenegraph/MaterialNode.hh>
namespace PluginFunctions { namespace PluginFunctions {
/** \brief DONT USE DIRECTLY!! /** \brief DONT USE DIRECTLY!!
......
...@@ -90,6 +90,9 @@ ...@@ -90,6 +90,9 @@
#include <OpenFlipper/common/PluginStorage.hh> #include <OpenFlipper/common/PluginStorage.hh>
#include <ACG/Scenegraph/MaterialNode.hh>
#include <ACG/Scenegraph/SeparatorNode.hh>
#define WIDGET_HEIGHT 800 #define WIDGET_HEIGHT 800
#define WIDGET_WIDTH 800 #define WIDGET_WIDTH 800
......
...@@ -63,6 +63,8 @@ ...@@ -63,6 +63,8 @@
#include "OpenFunctionThread.hh" #include "OpenFunctionThread.hh"
#include <ACG/Scenegraph/SeparatorNode.hh>
void Core::resetScenegraph( bool _resetTrackBall ) { void Core::resetScenegraph( bool _resetTrackBall ) {
if ( OpenFlipper::Options::gui() && !OpenFlipper::Options::sceneGraphUpdatesBlocked() ) { if ( OpenFlipper::Options::gui() && !OpenFlipper::Options::sceneGraphUpdatesBlocked() ) {
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
- <b>Breaking changes</b> - <b>Breaking changes</b>
- Picking functions use size_t instead of unsigned int now (Required to get rid of a lot of warnings during compilation) - Picking functions use size_t instead of unsigned int now (Required to get rid of a lot of warnings during compilation)
- Enabled AUTOMOC in cmake for QT ( If you get redefinition errors, guard the corresponding headers with a #pragma once ) - Enabled AUTOMOC in cmake for QT ( If you get redefinition errors, guard the corresponding headers with a #pragma once )
- Removed a lot of Scenegraph includes in BaseObjectData to reduce gl qt collisions and replaced them with forward declarations. (You have to include the scenegraph headers yourself now!)
- <b>Core</b> - <b>Core</b>
- Use QOpenGLDebuglogger - Use QOpenGLDebuglogger
- Queued cross plugin interconnection feature - Queued cross plugin interconnection feature
......
...@@ -65,7 +65,11 @@ ...@@ -65,7 +65,11 @@
#include <OpenFlipper/BasePlugin/PluginFunctions.hh> #include <OpenFlipper/BasePlugin/PluginFunctions.hh>
#include <ACG/Scenegraph/SeparatorNode.hh>
#include <ACG/QtScenegraph/QtTranslationManipulatorNode.hh>
#include <ACG/Scenegraph/BoundingBoxNode.hh>
#include <ACG/Scenegraph/StencilRefNode.hh>
#include <ACG/Scenegraph/StatusNodesT.hh>
//== TYPEDEFS ================================================================= //== TYPEDEFS =================================================================
......
...@@ -71,17 +71,26 @@ ...@@ -71,17 +71,26 @@
#include <OpenFlipper/common/GlobalDefines.hh> #include <OpenFlipper/common/GlobalDefines.hh>
#include <OpenFlipper/common/BaseObject.hh> #include <OpenFlipper/common/BaseObject.hh>
#include <QObject>
#include <vector> #include <vector>
#include <ACG/Scenegraph/MaterialNode.hh> #include <ACG/Scenegraph/PickTarget.hh>
#include <ACG/Scenegraph/SeparatorNode.hh> #include <ACG/Scenegraph/DrawModes.hh>
#include <ACG/Scenegraph/ShaderNode.hh>
#include <ACG/Scenegraph/BaseNode.hh> //== FORWARD Declarations to avoid gl qt collisions =================================================================
#include <ACG/Scenegraph/BoundingBoxNode.hh>
#include <ACG/Scenegraph/StencilRefNode.hh> namespace ACG {
#include <ACG/QtScenegraph/QtTranslationManipulatorNode.hh> namespace SceneGraph {
//== TYPEDEFS ================================================================= class MaterialNode;
class QtTranslationManipulatorNode;
class SeparatorNode;
class BaseNode;
class BoundingBoxNode;
class StencilRefNode;
class ShaderNode;
}
}
//== TYPEDEFS FOR SCENEGRAPH =============================================== //== TYPEDEFS FOR SCENEGRAPH ===============================================
/// Materialnode /// Materialnode
......
...@@ -61,6 +61,8 @@ ...@@ -61,6 +61,8 @@
//== INCLUDES ================================================================= //== INCLUDES =================================================================
#include "Types.hh" #include "Types.hh"
#include <stack>
#include <ACG/Scenegraph/BaseNode.hh>
//== TYPEDEFS ================================================================= //== TYPEDEFS =================================================================
......
...@@ -75,8 +75,6 @@ ...@@ -75,8 +75,6 @@
// stdc++ // stdc++
#include <vector> #include <vector>
#include <string> #include <string>
#include <algorithm>
#include <iostream>
#include <ACG/Scenegraph/DrawModes.hh> #include <ACG/Scenegraph/DrawModes.hh>
#include <ACG/GL/RenderObject.hh> #include <ACG/GL/RenderObject.hh>
......
...@@ -71,6 +71,7 @@ ...@@ -71,6 +71,7 @@
#include <ACG/Utils/VSToolsT.hh> #include <ACG/Utils/VSToolsT.hh>
#endif #endif
#include <ACG/Scenegraph/MaterialNode.hh>
//== IMPLEMENTATION ========================================================== //== IMPLEMENTATION ==========================================================
......
...@@ -68,6 +68,7 @@ ...@@ -68,6 +68,7 @@
#include <ACG/QtWidgets/QtWheel.hh> #include <ACG/QtWidgets/QtWheel.hh>
#include <ACG/Scenegraph/CoordsysNode.hh> #include <ACG/Scenegraph/CoordsysNode.hh>
#include <ACG/Scenegraph/SceneGraphAnalysis.hh> #include <ACG/Scenegraph/SceneGraphAnalysis.hh>
#include <ACG/Scenegraph/StencilRefNode.hh>
#include <ACG/GL/GLError.hh> #include <ACG/GL/GLError.hh>
#include <ACG/GL/IRenderer.hh> #include <ACG/GL/IRenderer.hh>
......
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