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 @@
#include "PluginFunctions.hh"
#include "PluginFunctionsCore.hh"
#include <ACG/Scenegraph/SeparatorNode.hh>
#include <ACG/Scenegraph/MaterialNode.hh>
namespace PluginFunctions {
/** \brief DONT USE DIRECTLY!!
......
......@@ -90,6 +90,9 @@
#include <OpenFlipper/common/PluginStorage.hh>
#include <ACG/Scenegraph/MaterialNode.hh>
#include <ACG/Scenegraph/SeparatorNode.hh>
#define WIDGET_HEIGHT 800
#define WIDGET_WIDTH 800
......
......@@ -63,6 +63,8 @@
#include "OpenFunctionThread.hh"
#include <ACG/Scenegraph/SeparatorNode.hh>
void Core::resetScenegraph( bool _resetTrackBall ) {
if ( OpenFlipper::Options::gui() && !OpenFlipper::Options::sceneGraphUpdatesBlocked() ) {
......
......@@ -5,6 +5,7 @@
- <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)
- 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>
- Use QOpenGLDebuglogger
- Queued cross plugin interconnection feature
......
......@@ -65,7 +65,11 @@
#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 =================================================================
......
......@@ -71,17 +71,26 @@
#include <OpenFlipper/common/GlobalDefines.hh>
#include <OpenFlipper/common/BaseObject.hh>
#include <QObject>
#include <vector>
#include <ACG/Scenegraph/MaterialNode.hh>
#include <ACG/Scenegraph/SeparatorNode.hh>
#include <ACG/Scenegraph/ShaderNode.hh>
#include <ACG/Scenegraph/BaseNode.hh>
#include <ACG/Scenegraph/BoundingBoxNode.hh>
#include <ACG/Scenegraph/StencilRefNode.hh>
#include <ACG/QtScenegraph/QtTranslationManipulatorNode.hh>
//== TYPEDEFS =================================================================
#include <ACG/Scenegraph/PickTarget.hh>
#include <ACG/Scenegraph/DrawModes.hh>
//== FORWARD Declarations to avoid gl qt collisions =================================================================
namespace ACG {
namespace SceneGraph {
class MaterialNode;
class QtTranslationManipulatorNode;
class SeparatorNode;
class BaseNode;
class BoundingBoxNode;
class StencilRefNode;
class ShaderNode;
}
}
//== TYPEDEFS FOR SCENEGRAPH ===============================================
/// Materialnode
......
......@@ -61,6 +61,8 @@
//== INCLUDES =================================================================
#include "Types.hh"
#include <stack>
#include <ACG/Scenegraph/BaseNode.hh>
//== TYPEDEFS =================================================================
......
......@@ -75,8 +75,6 @@
// stdc++
#include <vector>
#include <string>
#include <algorithm>
#include <iostream>
#include <ACG/Scenegraph/DrawModes.hh>
#include <ACG/GL/RenderObject.hh>
......
......@@ -71,6 +71,7 @@
#include <ACG/Utils/VSToolsT.hh>
#endif
#include <ACG/Scenegraph/MaterialNode.hh>
//== IMPLEMENTATION ==========================================================
......
......@@ -68,6 +68,7 @@
#include <ACG/QtWidgets/QtWheel.hh>
#include <ACG/Scenegraph/CoordsysNode.hh>
#include <ACG/Scenegraph/SceneGraphAnalysis.hh>
#include <ACG/Scenegraph/StencilRefNode.hh>
#include <ACG/GL/GLError.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