Skip to content
Snippets Groups Projects
Commit abf34e30 authored by Jan Möbius's avatar Jan Möbius
Browse files

Initial commit

parents
Branches
No related tags found
No related merge requests found
include (plugin)
openflipper_plugin (TYPES POLYLINE)
<RCC>
<qresource prefix="Plugin-InfoSkeleton" >
<file>dialogIcons/info_boundingbox.png</file>
<file>dialogIcons/info_bracketA.png</file>
<file>dialogIcons/info_bracketB.png</file>
</qresource>
</RCC>
/*===========================================================================*\
* *
* OpenFlipper *
* Copyright (c) 2001-2015, RWTH-Aachen University *
* Department of Computer Graphics and Multimedia *
* All rights reserved. *
* www.openflipper.org *
* *
*---------------------------------------------------------------------------*
* This file is part of OpenFlipper. *
*---------------------------------------------------------------------------*
* *
* Redistribution and use in source and binary forms, with or without *
* modification, are permitted provided that the following conditions *
* are met: *
* *
* 1. Redistributions of source code must retain the above copyright notice, *
* this list of conditions and the following disclaimer. *
* *
* 2. Redistributions in binary form must reproduce the above copyright *
* notice, this list of conditions and the following disclaimer in the *
* documentation and/or other materials provided with the distribution. *
* *
* 3. Neither the name of the copyright holder nor the names of its *
* contributors may be used to endorse or promote products derived from *
* this software without specific prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED *
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *
* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER *
* OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, *
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, *
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR *
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING *
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
* *
\*===========================================================================*/
//=============================================================================
//
// CLASS InfoMeshObjectPlugin - IMPLEMENTATION
//
//=============================================================================
//== INCLUDES =================================================================
#include "PolyLineObjectInfoPlugin.hh"
#include <OpenFlipper/BasePlugin/PluginFunctions.hh>
#include <OpenFlipper/BasePlugin/PluginFunctions.hh>
#include <MeshTools/MeshInfoT.hh>
#include <ACG/Geometry/Algorithms.hh>
//== IMPLEMENTATION ==========================================================
void InfoPolyLineObjectPlugin::initializePlugin() {
//if ( OpenFlipper::Options::gui()) {
// Create info dialog
info_ = new InfoDialog();
//}
}
/// initialize the plugin
void InfoPolyLineObjectPlugin::pluginsInitialized() {
}
//-----------------------------------------------------------------------------
DataType InfoPolyLineObjectPlugin::supportedDataTypes() {
return DataType(DATA_POLY_LINE);
}
//-----------------------------------------------------------------------------
void InfoPolyLineObjectPlugin::printPolyLineInfo( PolyLine* _polyLine, unsigned int _objectId, unsigned int _index, ACG::Vec3d& _hitPoint ) {
// QLocale locale;
// QString name;
// // name
// BaseObject* obj = 0;
// if ( PluginFunctions::getObject(_objectId, obj) )
// info_->generalBox->setTitle( tr("General object information for %1").arg( obj->name() ) );
// // ID
// info_->id->setText( locale.toString(_objectId) );
// // Joints
// info_->joints->setText( QString::number( _skeleton->jointCount() ) );
// // animation list with animation names and the frame count
// info_->comboBoxAnimations->clear();
// QString animationInfo;
// unsigned int aniCount = _skeleton->animationCount();
// for (size_t i = 0; i < aniCount; ++i) {
// std::string aniName = _skeleton->animationName(i);
// animationInfo = "Name: " + QString(aniName.c_str())
// + " : Frames: " + locale.toString(_skeleton->animation(aniName)->frameCount());
// info_->comboBoxAnimations->addItem(animationInfo);
// }
// // Clicked:
// info_->jointHandle->setText( locale.toString( _index ) );
// QString adjacentHandles;
// // Check if we have a parent joint
// if ( _skeleton->joint(_index)->parent() !=0 ) {
// adjacentHandles = adjacentHandles + "Parent: " + QString::number( _skeleton->joint(_index)->parent()->id() ) + " ;";
// }
// // Check for children
// if ( _skeleton->joint(_index)->size() != 0 ) {
// adjacentHandles = adjacentHandles + "Children:";
// for ( Skeleton::Joint::ChildIter it = _skeleton->joint(_index)->begin(); it != _skeleton->joint(_index)->end(); ++it) {
// Skeleton::Joint *joint = *it;
// adjacentHandles = adjacentHandles + " " + QString::number(joint->id());
// }
// }
// info_->adjacentJointsHandles->setText(adjacentHandles);
// Skeleton::Point bbMin( FLT_MAX, FLT_MAX, FLT_MAX);
// Skeleton::Point bbMax(-FLT_MAX, -FLT_MAX, -FLT_MAX);
// Skeleton::Point cog(0.0,0.0,0.0);
// Skeleton::Pose* pose = _skeleton->referencePose();
// for (Skeleton::Iterator it = _skeleton->begin(); it != _skeleton->end(); ++it) {
// Skeleton::Joint *joint = *it;
// Skeleton::Point p = pose->globalTranslation(joint->id());
// cog += p;
// bbMin.minimize(p);
// bbMax.maximize(p);
// }
// //Bounding Box Size
// Skeleton::Point diff = bbMax-bbMin;
// info_->bbMinX->setText( QString::number(bbMin[0],'f') );
// info_->bbMinY->setText( QString::number(bbMin[1],'f') );
// info_->bbMinZ->setText( QString::number(bbMin[2],'f') );
// info_->bbMaxX->setText( QString::number(bbMax[0],'f') );
// info_->bbMaxY->setText( QString::number(bbMax[1],'f') );
// info_->bbMaxZ->setText( QString::number(bbMax[2],'f') );
// info_->bbSizeX->setText( QString::number(diff[0],'f') );
// info_->bbSizeY->setText( QString::number(diff[1],'f') );
// info_->bbSizeZ->setText( QString::number(diff[2],'f') );
// //COG
// cog = cog / _skeleton->jointCount() ;
// info_->cogX->setText( QString::number(cog[0],'f') );
// info_->cogY->setText( QString::number(cog[1],'f') );
// info_->cogZ->setText( QString::number(cog[2],'f') );
// //hitpoint
// info_->pointX->setText( QString::number( _hitPoint[0],'f' ) );
// info_->pointY->setText( QString::number( _hitPoint[1],'f' ) );
// info_->pointZ->setText( QString::number( _hitPoint[2],'f' ) );
// info_->setWindowFlags(info_->windowFlags() | Qt::WindowStaysOnTopHint);
// info_->show();
}
//----------------------------------------------------------------------------------------------
void InfoPolyLineObjectPlugin::slotInformationRequested(const QPoint _clickedPoint, DataType _type) {
// Only respond on skeleton objects
if( _type != DATA_POLY_LINE ) return;
ACG::SceneGraph::PickTarget target = ACG::SceneGraph::PICK_ANYTHING;
size_t node_idx, target_idx;
ACG::Vec3d hit_point;
if (PluginFunctions::scenegraphPick(target, _clickedPoint, node_idx, target_idx, &hit_point)) {
BaseObjectData* object;
if ( PluginFunctions::getPickedObject(node_idx, object) ) {
emit log( LOGINFO , object->getObjectinfo() );
if ( object->picked(node_idx) && object->dataType(DATA_POLY_LINE) )
printPolyLineInfo( PluginFunctions::polyLine(object) , object->id(), target_idx, hit_point );
} else return;
}
}
/*===========================================================================*\
* *
* OpenFlipper *
* Copyright (c) 2001-2015, RWTH-Aachen University *
* Department of Computer Graphics and Multimedia *
* All rights reserved. *
* www.openflipper.org *
* *
*---------------------------------------------------------------------------*
* This file is part of OpenFlipper. *
*---------------------------------------------------------------------------*
* *
* Redistribution and use in source and binary forms, with or without *
* modification, are permitted provided that the following conditions *
* are met: *
* *
* 1. Redistributions of source code must retain the above copyright notice, *
* this list of conditions and the following disclaimer. *
* *
* 2. Redistributions in binary form must reproduce the above copyright *
* notice, this list of conditions and the following disclaimer in the *
* documentation and/or other materials provided with the distribution. *
* *
* 3. Neither the name of the copyright holder nor the names of its *
* contributors may be used to endorse or promote products derived from *
* this software without specific prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED *
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *
* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER *
* OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, *
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, *
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR *
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING *
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
* *
\*===========================================================================*/
#ifndef INFOPLUGIN_HH
#define INFOPLUGIN_HH
//== INCLUDES =================================================================
#include <QObject>
#include <OpenFlipper/BasePlugin/BaseInterface.hh>
#include <OpenFlipper/BasePlugin/InformationInterface.hh>
#include <OpenFlipper/BasePlugin/StatusbarInterface.hh>
#include <OpenFlipper/BasePlugin/LoggingInterface.hh>
#include <OpenFlipper/common/Types.hh>
#include <ObjectTypes/PolyLine/PolyLine.hh>
#include "infoDialog.hh"
//== CLASS DEFINITION =========================================================
/** \brief Plugin to visualize information about objects in the scene
Plugin to visualize information about objects in the scene
*/
class InfoPolyLineObjectPlugin : public QObject, BaseInterface, InformationInterface, LoggingInterface, StatusbarInterface
{
Q_OBJECT
Q_INTERFACES(BaseInterface)
Q_INTERFACES(InformationInterface)
Q_INTERFACES(LoggingInterface)
Q_INTERFACES(StatusbarInterface)
Q_PLUGIN_METADATA(IID "org.OpenFlipper.Plugins.Plugin-PolyLineObjectInfo")
signals:
// LoggingInterface
void log(Logtype _type, QString _message);
void log(QString _message);
// StatusbarInterface
void addWidgetToStatusbar(QWidget* _widget);
private slots :
// BaseInterface
void initializePlugin();
void pluginsInitialized();
// InformationInterface
void slotInformationRequested(const QPoint _clickedPoint, DataType _type);
DataType supportedDataTypes();
public :
// default constructor
InfoPolyLineObjectPlugin(): info_(0) {};
// default destructor
~InfoPolyLineObjectPlugin() {};
/// Name of the Plugin
QString name(){ return (QString("InfoSkeletonObject")); };
/// Description of the Plugin
QString description() { return (QString(tr("Provides Information on Skeleton Objects"))); };
private :
void printPolyLineInfo( PolyLine* _id, unsigned int _objectId, unsigned int _index, ACG::Vec3d& _hitPoint );
InfoDialog* info_;
// public slots:
// /// get total number of joints for a given skeleton
// int jointCount(int _skeletonID);
// /// get total number of branches for a given skeleton
// int branchCount(int _skeletonID);
// /// get total number of leaves for a given skeleton
// int leafCount(int _skeletonID);
// /// get minumum bounding box point
// Vector boundingBoxMin(int _skeletonID);
// /// get maximum bounding box point
// Vector boundingBoxMax(int _skeletonID);
// /// get the size of the bounding box
// Vector boundingBoxSize(int _skeletonID);
// /// get the length of a bone
// double boneLength(int _skeletonID, int _jointID);
// /// get the minimal bone length
// double minBoneLength(int _skeletonID);
// /// get the maximal bone length
// double maxBoneLength(int _skeletonID);
// /// get the mean bone length
// double meanBoneLength(int _skeletonID);
public slots:
QString version() { return QString("1.0"); };
/** @} */
};
#endif //MOVEPLUGIN_HH
/*===========================================================================*\
* *
* OpenFlipper *
* Copyright (c) 2001-2015, RWTH-Aachen University *
* Department of Computer Graphics and Multimedia *
* All rights reserved. *
* www.openflipper.org *
* *
*---------------------------------------------------------------------------*
* This file is part of OpenFlipper. *
*---------------------------------------------------------------------------*
* *
* Redistribution and use in source and binary forms, with or without *
* modification, are permitted provided that the following conditions *
* are met: *
* *
* 1. Redistributions of source code must retain the above copyright notice, *
* this list of conditions and the following disclaimer. *
* *
* 2. Redistributions in binary form must reproduce the above copyright *
* notice, this list of conditions and the following disclaimer in the *
* documentation and/or other materials provided with the distribution. *
* *
* 3. Neither the name of the copyright holder nor the names of its *
* contributors may be used to endorse or promote products derived from *
* this software without specific prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED *
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *
* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER *
* OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, *
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, *
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR *
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING *
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
* *
\*===========================================================================*/
#include "PolyLineObjectInfoPlugin.hh"
#include <OpenFlipper/BasePlugin/PluginFunctions.hh>
#include <limits>
////-----------------------------------------------------------------------------
///** \brief get total number of vertices for a given object
// *
// * @param _skeletonID skeleton id
// * @return number of joints or -1 if an error occured
// */
//int InfoSkeletonObjectPlugin::jointCount(int _skeletonID)
//{
// Skeleton* skeleton = PluginFunctions::skeleton(_skeletonID);
// if ( !skeleton )
// {
// emit log(LOGERR, tr("Unable to get skeleton"));
// return -1;
// }
// return skeleton->jointCount();
//}
////-----------------------------------------------------------------------------
///** \brief get total number of vertices for a given object
// *
// * @param _skeletonID skeleton id
// * @return number of branches (joints with multiple childs) or -1 if an error occured
// */
//int InfoSkeletonObjectPlugin::branchCount(int _skeletonID)
//{
// Skeleton* skeleton = PluginFunctions::skeleton(_skeletonID);
// if ( !skeleton )
// {
// emit log(LOGERR, tr("Unable to get skeleton"));
// return -1;
// }
// int result = 0;
// for (Skeleton::Iterator iter = skeleton->begin(); iter != skeleton->end(); ++iter)
// if (iter->size() > 1)
// ++result;
// return result;
////safsdf
//}
////-----------------------------------------------------------------------------
///** \brief get total number of vertices for a given object
// *
// * @param _skeletonID skeleton id
// * @return number of leaves or -1 if an error occured
// */
//int InfoSkeletonObjectPlugin::leafCount(int _skeletonID)
//{
// Skeleton* skeleton = PluginFunctions::skeleton(_skeletonID);
// if ( !skeleton )
// {
// emit log(LOGERR, tr("Unable to get skeleton"));
// return -1;
// }
// int result = 0;
// for (Skeleton::Iterator iter = skeleton->begin(); iter != skeleton->end(); ++iter)
// if (iter->size() == 0)
// ++result;
// return result;
//}
////-----------------------------------------------------------------------------
///** \brief get total number of vertices for a given object
// *
// * @param _skeletonID skeleton id
// * @return minimum point of the bounding box
// */
//Vector InfoSkeletonObjectPlugin::boundingBoxMin(int _skeletonID)
//{
// SkeletonObject* skeleton = PluginFunctions::skeletonObject(_skeletonID);
// if ( !skeleton )
// {
// emit log(LOGERR, tr("Unable to get skeleton"));
// return Vector();
// }
// Vector min,max;
// skeleton->skeletonNode()->boundingBox(min,max);
// return min;
//}
////-----------------------------------------------------------------------------
///** \brief get total number of vertices for a given object
// *
// * @param _skeletonID skeleton id
// * @return maximum point of the bounding box
// */
//Vector InfoSkeletonObjectPlugin::boundingBoxMax(int _skeletonID)
//{
// SkeletonObject* skeleton = PluginFunctions::skeletonObject(_skeletonID);
// if ( !skeleton )
// {
// emit log(LOGERR, tr("Unable to get skeleton"));
// return Vector();
// }
// Vector min,max;
// skeleton->skeletonNode()->boundingBox(min,max);
// return max;
//}
////-----------------------------------------------------------------------------
///** \brief get total number of vertices for a given object
// *
// * @param _skeletonID skeleton id
// * @return size of the bounding box
// */
//Vector InfoSkeletonObjectPlugin::boundingBoxSize(int _skeletonID)
//{
// SkeletonObject* skeleton = PluginFunctions::skeletonObject(_skeletonID);
// if ( !skeleton )
// {
// emit log(LOGERR, tr("Unable to get skeleton"));
// return Vector();
// }
// Vector min,max;
// skeleton->skeletonNode()->boundingBox(min,max);
// return (max - min);
//}
////-----------------------------------------------------------------------------
///** \brief get the length of a bone from a given joint to his parent
// *
// * @param _skeletonID id of a skeleton
// * @param _jointID id of the joint
// * @return bone length (from _jointID to the parent of _jointID)
// */
//double InfoSkeletonObjectPlugin::boneLength(int _skeletonID, int _jointID)
//{
// Skeleton* skeleton = PluginFunctions::skeleton(_skeletonID);
// if ( !skeleton )
// {
// emit log(LOGERR, tr("Unable to get skeleton"));
// return (-1.0);
// }
// Skeleton::Joint* parent = skeleton->joint(_jointID)->parent();
// if (!parent)
// {
// emit log(LOGERR, tr ("Unable to get parent joint"));
// return (-1.0);
// }
// unsigned int parentID = parent->id();
// //length of bones is defined in the reference pose and cannot be modified in any animation
// Skeleton::Pose* pose = skeleton->referencePose();
// return (pose->globalTranslation(_jointID) - pose->globalTranslation(parentID)).length();
//}
////-----------------------------------------------------------------------------
///** \brief get total number of vertices for a given object
// *
// * @param _skeletonID skeleton id
// * @return minimal bone length or -1 if an error occured
// */
//double InfoSkeletonObjectPlugin::minBoneLength(int _skeletonID)
//{
// Skeleton* skeleton = PluginFunctions::skeleton(_skeletonID);
// if ( !skeleton )
// {
// emit log(LOGERR, tr("Unable to get skeleton"));
// return -1;
// }
// double min = std::numeric_limits<double>::max();
// for (Skeleton::Iterator iter = skeleton->begin(); iter != skeleton->end(); ++iter)
// {
// if (!iter->isRoot())
// {
// double length = boneLength(_skeletonID,iter->id());
// if (length < min)
// min = length;
// }
// }
// return min;
//}
////-----------------------------------------------------------------------------
///** \brief get total number of vertices for a given object
// *
// * @param _skeletonID skeleton id
// * @return maximal bone length or -1 if an error occured
// */
//double InfoSkeletonObjectPlugin::maxBoneLength(int _skeletonID)
//{
// Skeleton* skeleton = PluginFunctions::skeleton(_skeletonID);
// if ( !skeleton )
// {
// emit log(LOGERR, tr("Unable to get skeleton"));
// return -1;
// }
// double max = std::numeric_limits<double>::min();
// for (Skeleton::Iterator iter = skeleton->begin(); iter != skeleton->end(); ++iter)
// {
// if (!iter->isRoot())
// {
// double length = boneLength(_skeletonID,iter->id());
// if (length > max)
// max = length;
// }
// }
// return max;
//}
////-----------------------------------------------------------------------------
///** \brief get total number of vertices for a given object
// *
// * @param _skeletonID skeleton id
// * @return mean bone length or -1 if an error occured
// */
//double InfoSkeletonObjectPlugin::meanBoneLength(int _skeletonID)
//{
// Skeleton* skeleton = PluginFunctions::skeleton(_skeletonID);
// if ( !skeleton )
// {
// emit log(LOGERR, tr("Unable to get skeleton"));
// return -1;
// }
// double sum = 0;
// unsigned int count = 0;
// for (Skeleton::Iterator iter = skeleton->begin(); iter != skeleton->end(); ++iter)
// {
// if (!iter->isRoot())
// {
// sum += boneLength(_skeletonID,iter->id());
// ++count;
// }
// }
// return (sum/static_cast<double>(count));
//}
dialogIcons/info_boundingbox.png

21.5 KiB

dialogIcons/info_bracketA.png

195 B

dialogIcons/info_bracketB.png

198 B

/*===========================================================================*\
* *
* OpenFlipper *
* Copyright (c) 2001-2015, RWTH-Aachen University *
* Department of Computer Graphics and Multimedia *
* All rights reserved. *
* www.openflipper.org *
* *
*---------------------------------------------------------------------------*
* This file is part of OpenFlipper. *
*---------------------------------------------------------------------------*
* *
* Redistribution and use in source and binary forms, with or without *
* modification, are permitted provided that the following conditions *
* are met: *
* *
* 1. Redistributions of source code must retain the above copyright notice, *
* this list of conditions and the following disclaimer. *
* *
* 2. Redistributions in binary form must reproduce the above copyright *
* notice, this list of conditions and the following disclaimer in the *
* documentation and/or other materials provided with the distribution. *
* *
* 3. Neither the name of the copyright holder nor the names of its *
* contributors may be used to endorse or promote products derived from *
* this software without specific prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED *
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *
* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER *
* OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, *
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, *
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR *
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING *
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
* *
\*===========================================================================*/
#include "infoDialog.hh"
InfoDialog::InfoDialog(QWidget *parent)
: QDialog(parent)
{
setupUi(this);
}
/*===========================================================================*\
* *
* OpenFlipper *
* Copyright (c) 2001-2015, RWTH-Aachen University *
* Department of Computer Graphics and Multimedia *
* All rights reserved. *
* www.openflipper.org *
* *
*---------------------------------------------------------------------------*
* This file is part of OpenFlipper. *
*---------------------------------------------------------------------------*
* *
* Redistribution and use in source and binary forms, with or without *
* modification, are permitted provided that the following conditions *
* are met: *
* *
* 1. Redistributions of source code must retain the above copyright notice, *
* this list of conditions and the following disclaimer. *
* *
* 2. Redistributions in binary form must reproduce the above copyright *
* notice, this list of conditions and the following disclaimer in the *
* documentation and/or other materials provided with the distribution. *
* *
* 3. Neither the name of the copyright holder nor the names of its *
* contributors may be used to endorse or promote products derived from *
* this software without specific prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED *
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *
* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER *
* OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, *
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, *
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR *
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING *
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
* *
\*===========================================================================*/
#pragma once
#include "ui_infoPolyLineWidget.h"
class InfoDialog : public QDialog, public Ui::InfoWidget
{
Q_OBJECT
public:
explicit InfoDialog(QWidget *parent = 0);
};
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment