1#ifndef PSIMULATIONTHREAD_H
2#define PSIMULATIONTHREAD_H
6#include <QWaitCondition>
10#include <condition_variable>
76 void resetNode(std::shared_ptr<Node> node);
79 void syncNode(std::shared_ptr<Node> node);
static std::atomic< PSimulationThread * > pInstance
void reset(int num)
Reset the simulation.
void startUpdatingGraphicsContext()
std::atomic< bool > mPaused
void simulationFinished()
void oneFrameFinished(int frame)
std::shared_ptr< Node > mActiveNode
std::atomic< bool > mUpdatingGraphicsContext
std::condition_variable_any mCond
static PSimulationThread * instance()
void syncNode(std::shared_ptr< Node > node)
void resetQtNode(Qt::QtNode &node)
std::chrono::milliseconds mTimeOut
std::atomic< bool > mRunning
void proceed(int num)
Continue the simulation from the current frame.
void resetNode(std::shared_ptr< Node > node)
static std::mutex mInstanceMutex
std::atomic< int > mTotalFrame
void stopUpdatingGraphicsContext()
void setTotalFrames(int num)
This is an implementation of AdditiveCCD based on peridyno.