diff --git a/src/fgt/filter_physics/MeshSubFilter.cpp b/src/fgt/filter_physics/MeshSubFilter.cpp new file mode 100644 index 000000000..bd768159d --- /dev/null +++ b/src/fgt/filter_physics/MeshSubFilter.cpp @@ -0,0 +1,22 @@ +#include "MeshSubFilter.h" + +MeshSubFilter::MeshSubFilter() : m_stepSize(0.01), m_steps(-1), m_seconds(-1){ +} + +void MeshSubFilter::initParameterSet(QAction* action,MeshDocument& md, RichParameterSet & par){ + par.addParam(new RichInt("seconds", 1, "Simulation interval in seconds", "Physics simulation interval in seconds")); + par.addParam(new RichDynamicFloat("timeline", 0, 0, 100, "Timeline %", "Physics simulation is run")); +} + +bool MeshSubFilter::applyFilter(QAction* filter, MeshDocument &md, RichParameterSet& par, vcg::CallBackPos* cb){ + if(configurationHasChanged(par)) + initialize(md, par); + + return true; +} + +bool MeshSubFilter::configurationHasChanged(RichParameterSet& par){ + bool changed = m_seconds != par.getInt("seconds"); + m_seconds = par.getInt("seconds"); + return changed; +} diff --git a/src/fgt/filter_physics/MeshSubFilter.h b/src/fgt/filter_physics/MeshSubFilter.h index a1fceb3d8..c207b1d00 100644 --- a/src/fgt/filter_physics/MeshSubFilter.h +++ b/src/fgt/filter_physics/MeshSubFilter.h @@ -5,8 +5,8 @@ #ifndef MESHSUBFILTER_H #define MESHSUBFILTER_H -#include -#include +#include +#include #include diff --git a/src/fgt/filter_physics/PhysicsEngineFacade.h b/src/fgt/filter_physics/PhysicsEngineFacade.h index 7d8e21afb..ff64a68d0 100644 --- a/src/fgt/filter_physics/PhysicsEngineFacade.h +++ b/src/fgt/filter_physics/PhysicsEngineFacade.h @@ -5,7 +5,7 @@ #ifndef PHYSICS_ENGINE_FACADE_H #define PHYSICS_ENGINE_FACADE_H -#include +#include #include diff --git a/src/fgt/filter_physics/filter_physics.h b/src/fgt/filter_physics/filter_physics.h index f98364f2b..312e31aea 100644 --- a/src/fgt/filter_physics/filter_physics.h +++ b/src/fgt/filter_physics/filter_physics.h @@ -13,8 +13,8 @@ #include #include -#include -#include +#include +#include class FilterPhysics : public QObject, public MeshFilterInterface { diff --git a/src/fgt/filter_physics/filter_physics.pro b/src/fgt/filter_physics/filter_physics.pro index 5f61a1899..a0a588788 100644 --- a/src/fgt/filter_physics/filter_physics.pro +++ b/src/fgt/filter_physics/filter_physics.pro @@ -1,6 +1,5 @@ include (../../shared.pri) DEFINES += dSINGLE -INCLUDEPATH += ../../meshlab HEADERS = filter_physics.h \ ODEFacade.h \ PhysicsEngineFacade.h \ @@ -10,13 +9,9 @@ HEADERS = filter_physics.h \ SOURCES = filter_physics.cpp \ ODEFacade.cpp \ GravitySubFilter.cpp \ - ../../common/filterparameter.cpp \ MeshSubFilter.cpp \ RandomDropFilter.cpp TARGET = filter_physics -TEMPLATE = lib -QT += opengl -CONFIG += plugin \ - x86 +CONFIG += x86 LIBS += -L/usr/local/lib \ -lode