Commit b6342321 authored by Jan's avatar Jan
Browse files

Separate Repos

parent fe56512b
[submodule "PluginCollection-FilePlugins/Plugin-Assimp"]
path = PluginCollection-FilePlugins/Plugin-Assimp
url = https://www.graphics.rwth-aachen.de:9000/OpenFlipper-Free/Plugin-Assimp.git
[submodule "Plugin-PoissonReconstruction"]
path = Plugin-PoissonReconstruction
url = https://www.graphics.rwth-aachen.de:9000/OpenFlipper-Free/Plugin-PoissonReconstruction.git
[submodule "PluginCollection-PostProcessors/Plugin-RadialBlur"]
path = PluginCollection-PostProcessors/Plugin-RadialBlur
url = https://www.graphics.rwth-aachen.de:9000/OpenFlipper-Free/Plugin-RadialBlur.git
......@@ -22,3 +19,18 @@
[submodule "PluginCollection-PostProcessors/Plugin-BilateralBlur"]
path = PluginCollection-PostProcessors/Plugin-BilateralBlur
url = https://www.graphics.rwth-aachen.de:9000/OpenFlipper-Free/Plugin-BilateralBlur.git
[submodule "PluginCollection-Renderers/Plugin-Render-DeferredShading"]
path = PluginCollection-Renderers/Plugin-Render-DeferredShading
url = https://www.graphics.rwth-aachen.de:9000/OpenFlipper-Free/Plugin-Render-DeferredShading.git
[submodule "PluginCollection-Renderers/Plugin-Render-OITLinkedList"]
path = PluginCollection-Renderers/Plugin-Render-OITLinkedList
url = https://www.graphics.rwth-aachen.de:9000/OpenFlipper-Free/Plugin-Render-OITLinkedList.git
[submodule "Type-SkyDome"]
path = Type-SkyDome
url = https://www.graphics.rwth-aachen.de:9000/OpenFlipper-Free/Type-SkyDome.git
[submodule "Plugin-PanoramaControl"]
path = Plugin-PanoramaControl
url = https://www.graphics.rwth-aachen.de:9000/OpenFlipper-Free/Plugin-PanoramaControl.git
[submodule "Plugin-TangentSpace"]
path = Plugin-TangentSpace
url = https://www.graphics.rwth-aachen.de:9000/OpenFlipper-Free/Plugin-TangentSpace.git
Subproject commit 7ba615e2564036de5da03c6582b0c853ab01a747
include (plugin)
openflipper_plugin (INSTALLDATA Icons)
/*===========================================================================*\
* *
* OpenFlipper *
* Copyright (C) 2001-2014 by Computer Graphics Group, RWTH Aachen *
* www.openflipper.org *
* *
*--------------------------------------------------------------------------- *
* This file is part of OpenFlipper. *
* *
* OpenFlipper is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 3 of *
* the License, or (at your option) any later version with the *
* following exceptions: *
* *
* If other files instantiate templates or use macros *
* or inline functions from this file, or you compile this file and *
* link it with other files to produce an executable, this file does *
* not by itself cause the resulting executable to be covered by the *
* GNU Lesser General Public License. This exception does not however *
* invalidate any other reasons why the executable file might be *
* covered by the GNU Lesser General Public License. *
* *
* OpenFlipper is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU LesserGeneral Public *
* License along with OpenFlipper. If not, *
* see <http://www.gnu.org/licenses/>. *
* *
\*===========================================================================*/
/*===========================================================================*\
* *
* $Revision: 13354 $ *
* $LastChangedBy: moebius $ *
* $Date: 2012-01-12 13:39:10 +0100 (Do, 12 Jan 2012) $ *
* *
\*===========================================================================*/
#include <ObjectTypes/SkyDome/SkyDome.hh>
#include <OpenFlipper/BasePlugin/PluginFunctions.hh>
#include <OpenFlipper/common/GlobalOptions.hh>
#include "PanoramaToolbox.hh"
#include "PanoramaControlPlugin.hh"
PanoramaControlPlugin::PanoramaControlPlugin() :
tool_(0)
{
}
void PanoramaControlPlugin::initializePlugin(){
tool_ = new PanoramaToolBox();
connect(tool_->hFOV , SIGNAL( valueChanged(double) ), this, SLOT( slotValuesChanged(double) ) );
connect(tool_->vFOV , SIGNAL( valueChanged(double) ), this, SLOT( slotValuesChanged(double) ) );
connect(tool_->cutOff, SIGNAL( valueChanged(double) ), this, SLOT( slotValuesChanged(double) ) );
connect(tool_->loadButton, SIGNAL( clicked() ), this, SLOT( slotLoadImage() ) );
// Add icon and toolbox
QIcon* toolIcon_ = new QIcon(OpenFlipper::Options::iconDirStr()+OpenFlipper::Options::dirSeparator()+"PanoControl.png");
emit addToolbox( tr("Panorama Control") , tool_, toolIcon_);
}
void PanoramaControlPlugin::slotLoadImage() {
SkyDomeObject* domeObject = 0;
for ( PluginFunctions::ObjectIterator o_it(PluginFunctions::TARGET_OBJECTS,( DATA_SKYDOME )) ;o_it != PluginFunctions::objectsEnd(); ++o_it)
{
domeObject = PluginFunctions::skyDomeObject(*o_it);
// We only take the first one
if ( domeObject )
break;
}
// No dome object found, so we have to create one
if ( !domeObject ) {
// Add empty triangle mesh
int domeId = -1;
emit addEmptyObject ( DATA_SKYDOME, domeId );
domeObject = PluginFunctions::skyDomeObject(domeId);
}
if ( !domeObject ) {
emit log(LOGERR,"Unable to get or create new Sky Dome Object");
return;
}
// Ask user to load the file
QString file = QFileDialog::getOpenFileName ( 0, "Load Panorama Image", "", "Images (*.png *.xpm *.jpg)", 0, 0 );
// Update the texture file name
domeObject->getSkyDome().setTextureFileName(file);
// Update the object and its buffers
emit updatedObject(domeObject->id(), UPDATE_TEXTURE);
// Switch to shader pipeline renderer
emit setRenderer(PluginFunctions::activeExaminer(),"Shader Pipeline Renderer Plugin");
}
void PanoramaControlPlugin::slotValuesChanged(double) {
for ( PluginFunctions::ObjectIterator o_it(PluginFunctions::TARGET_OBJECTS,( DATA_SKYDOME )) ;o_it != PluginFunctions::objectsEnd(); ++o_it)
{
SkyDomeObject* domeObject = PluginFunctions::skyDomeObject(*o_it);
if ( domeObject ) {
domeObject->getSkyDome().setHorizontalFOV( tool_->hFOV->value() );
domeObject->getSkyDome().setVerticalFOV(tool_->vFOV->value() );
domeObject->getSkyDome().setTopOffset(tool_->cutOff->value() );
// Only first object will be handled for now!
break;
}
}
// Only update the view, as only uniforms will change here
emit updateView();
}
#if QT_VERSION < 0x050000
Q_EXPORT_PLUGIN2( panoramacontrolplugin , PanoramaControlPlugin );
#endif
/*===========================================================================*\
* *
* OpenFlipper *
* Copyright (C) 2001-2014 by Computer Graphics Group, RWTH Aachen *
* www.openflipper.org *
* *
*--------------------------------------------------------------------------- *
* This file is part of OpenFlipper. *
* *
* OpenFlipper is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 3 of *
* the License, or (at your option) any later version with the *
* following exceptions: *
* *
* If other files instantiate templates or use macros *
* or inline functions from this file, or you compile this file and *
* link it with other files to produce an executable, this file does *
* not by itself cause the resulting executable to be covered by the *
* GNU Lesser General Public License. This exception does not however *
* invalidate any other reasons why the executable file might be *
* covered by the GNU Lesser General Public License. *
* *
* OpenFlipper is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU LesserGeneral Public *
* License along with OpenFlipper. If not, *
* see <http://www.gnu.org/licenses/>. *
* *
\*===========================================================================*/
/*===========================================================================*\
* *
* $Revision: 13354 $ *
* $LastChangedBy: moebius $ *
* $Date: 2012-01-12 13:39:10 +0100 (Do, 12 Jan 2012) $ *
* *
\*===========================================================================*/
#pragma once
#include <OpenFlipper/BasePlugin/BaseInterface.hh>
#include <OpenFlipper/BasePlugin/ToolboxInterface.hh>
#include <OpenFlipper/BasePlugin/LoggingInterface.hh>
#include <OpenFlipper/BasePlugin/LoadSaveInterface.hh>
#include <QObject>
#include <QtGui>
class PanoramaToolBox;
class PanoramaControlPlugin : public QObject, BaseInterface, ToolboxInterface, LoggingInterface, LoadSaveInterface
{
Q_OBJECT
Q_INTERFACES(BaseInterface)
Q_INTERFACES(ToolboxInterface)
Q_INTERFACES(LoggingInterface)
Q_INTERFACES(LoadSaveInterface)
#if QT_VERSION >= 0x050000
Q_PLUGIN_METADATA(IID "org.OpenFlipper.Plugins.Plugin-PanoramaControl")
#endif
signals:
//BaseInterface
void updateView();
void updatedObject(int _identifier, const UpdateType& _type);
void setSlotDescription(QString _slotName, QString _slotDescription,
QStringList _parameters, QStringList _descriptions);
void setRenderer(unsigned int _viewer, QString _rendererName);
//LoggingInterface:
void log( Logtype _type, QString _message );
void log( QString _message );
// ToolboxInterface
void addToolbox( QString _name , QWidget* _widget , QIcon* _icon );
// Load/Save Interface
void addEmptyObject (DataType _type, int& _id);
private slots:
// BaseInterface
void initializePlugin();
private slots:
/// Button slot iterating over all targets and passing them to the correct functions
void slotLoadImage();
/// Spinboxes changed
void slotValuesChanged(double _unused);
public :
PanoramaControlPlugin();
~PanoramaControlPlugin() {};
QString name() { return (QString("Panorama Control Plugin")); };
QString description( ) { return (QString("Visualize panorama images via a sky dome")); };
private :
PanoramaToolBox* tool_;
public slots:
QString version() { return QString("1.0"); };
};
/*===========================================================================*\
* *
* OpenFlipper *
* Copyright (C) 2001-2014 by Computer Graphics Group, RWTH Aachen *
* www.openflipper.org *
* *
*--------------------------------------------------------------------------- *
* This file is part of OpenFlipper. *
* *
* OpenFlipper is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 3 of *
* the License, or (at your option) any later version with the *
* following exceptions: *
* *
* If other files instantiate templates or use macros *
* or inline functions from this file, or you compile this file and *
* link it with other files to produce an executable, this file does *
* not by itself cause the resulting executable to be covered by the *
* GNU Lesser General Public License. This exception does not however *
* invalidate any other reasons why the executable file might be *
* covered by the GNU Lesser General Public License. *
* *
* OpenFlipper is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU LesserGeneral Public *
* License along with OpenFlipper. If not, *
* see <http://www.gnu.org/licenses/>. *
* *
\*===========================================================================*/
/*===========================================================================*\
* *
* $Revision: 10745 $ *
* $LastChangedBy: moebius $ *
* $Date: 2011-01-26 10:23:50 +0100 (Mi, 26. Jan 2011) $ *
* *
\*===========================================================================*/
#include "PanoramaToolbox.hh"
#include <QtGui>
PanoramaToolBox::PanoramaToolBox(QWidget *parent)
: QWidget(parent)
{
setupUi(this);
}
/*===========================================================================*\
* *
* OpenFlipper *
* Copyright (C) 2001-2014 by Computer Graphics Group, RWTH Aachen *
* www.openflipper.org *
* *
*--------------------------------------------------------------------------- *
* This file is part of OpenFlipper. *
* *
* OpenFlipper is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 3 of *
* the License, or (at your option) any later version with the *
* following exceptions: *
* *
* If other files instantiate templates or use macros *
* or inline functions from this file, or you compile this file and *
* link it with other files to produce an executable, this file does *
* not by itself cause the resulting executable to be covered by the *
* GNU Lesser General Public License. This exception does not however *
* invalidate any other reasons why the executable file might be *
* covered by the GNU Lesser General Public License. *
* *
* OpenFlipper is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU LesserGeneral Public *
* License along with OpenFlipper. If not, *
* see <http://www.gnu.org/licenses/>. *
* *
\*===========================================================================*/
/*===========================================================================*\
* *
* $Revision: 10745 $ *
* $LastChangedBy: moebius $ *
* $Date: 2011-01-26 10:23:50 +0100 (Mi, 26. Jan 2011) $ *
* *
\*===========================================================================*/
#pragma once
#include <ui_panoramatoolbox.h>
class PanoramaToolBox : public QWidget, public Ui::PanoramaTool
{
Q_OBJECT
public:
PanoramaToolBox(QWidget *parent = 0);
};
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PanoramaTool</class>
<widget class="QWidget" name="PanoramaTool">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>278</width>
<height>135</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Increased Octree Depth results in higher resolution of the recontructed model showing more details but also the memory consumption will increase exponential.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="statusTip">
<string>Increased Octree Depth results in higher resolution of the recontructed model showing more details but also the memory consumption will increase exponential.</string>
</property>
<property name="whatsThis">
<string>Increased Octree Depth results in higher resolution of the recontructed model showing more details but also the memory consumption will increase exponential.</string>
</property>
<property name="text">
<string>Horizontal FOV</string>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="hFOV">
<property name="toolTip">
<string>Horizontal Field of View of the Panorama in Degrees</string>
</property>
<property name="statusTip">
<string>Horizontal Field of View of the Panorama in Degrees</string>
</property>
<property name="whatsThis">
<string>Horizontal Field of View of the Panorama in Degrees</string>
</property>
<property name="maximum">
<double>360.000000000000000</double>
</property>
<property name="value">
<double>360.000000000000000</double>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label_2">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Increased Octree Depth results in higher resolution of the recontructed model showing more details but also the memory consumption will increase exponential.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="statusTip">
<string>Increased Octree Depth results in higher resolution of the recontructed model showing more details but also the memory consumption will increase exponential.</string>
</property>
<property name="whatsThis">
<string>Increased Octree Depth results in higher resolution of the recontructed model showing more details but also the memory consumption will increase exponential.</string>
</property>
<property name="text">
<string>Vertical FOV</string>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="vFOV">
<property name="toolTip">
<string>Vertical Field of View of the Panorama in Degrees</string>
</property>
<property name="statusTip">
<string>Vertical Field of View of the Panorama in Degrees</string>
</property>
<property name="whatsThis">
<string>Vertical Field of View of the Panorama in Degrees</string>
</property>
<property name="maximum">
<double>180.000000000000000</double>
</property>
<property name="value">
<double>90.000000000000000</double>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLabel" name="label_3">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Increased Octree Depth results in higher resolution of the recontructed model showing more details but also the memory consumption will increase exponential.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="statusTip">
<string>Increased Octree Depth results in higher resolution of the recontructed model showing more details but also the memory consumption will increase exponential.</string>
</property>
<property name="whatsThis">
<string>Increased Octree Depth results in higher resolution of the recontructed model showing more details but also the memory consumption will increase exponential.</string>
</property>
<property name="text">
<string>Top Cutoff</string>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="cutOff">
<property name="toolTip">
<string>Missing part in degree at the top of the Panorama</string>
</property>
<property name="statusTip">
<string>Missing part in degree at the top of the Panorama</string>
</property>
<property name="whatsThis">
<string>Missing part in degree at the top of the Panorama</string>
</property>
<property name="maximum">
<double>180.000000000000000</double>
</property>
<property name="value">
<double>45.000000000000000</double>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Zoom with Ctrl + Mouse Wheel&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="loadButton">
<property name="toolTip">
<string>Enable slicing for the current scene</string>
</property>
<property name="statusTip">
<string>Enable slicing for the current scene</string>
</property>
<property name="text">
<string>Load Panorama Image</string>
</property>
<property name="checkable">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
Subproject commit 931fb29e6ed438a1a47b7339a7664109660b4222
Subproject commit ba2e17671e17c7c41ec8def9415aee110e70e73b
include (plugin)
openflipper_plugin (OPTDEPS EIGEN3
INSTALLDATA Icons
TYPES POLYMESH)
This diff is collapsed.
/*===========================================================================*\
* *
* OpenFlipper *
* Copyright (C) 2001-2015 by Computer Graphics Group, RWTH Aachen *
* www.openflipper.org *
* *
*--------------------------------------------------------------------------- *
* This file is part of OpenFlipper. *
* *
* OpenFlipper is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 3 of *
* the License, or (at your option) any later version with the *
* following exceptions: *