3
@author Shin'ichiro Nakaoka
6
#ifndef CNOID_BODYPLUGIN_SIMULATOR_ITEM_H_INCLUDED
7
#define CNOID_BODYPLUGIN_SIMULATOR_ITEM_H_INCLUDED
11
#include "exportdecl.h"
15
class SimulatorItemImpl;
17
class CNOID_EXPORT SimulatorItem : public Item
21
SimulatorItem(const SimulatorItem& org);
22
virtual ~SimulatorItem();
24
void setAllLinkPositionOutputMode(bool on);
25
bool isAllLinkPositionOutputMode();
27
bool startSimulation();
28
void stopSimulation();
29
bool isSimulationRunning();
31
SignalProxy< boost::signal<void()> > sigSimulationFinished();
35
virtual QWidget* settingPanel() = 0;
37
virtual bool doStartSimulation() = 0;
38
virtual bool doStepSimulation() = 0;
41
@return time at the last flush
43
virtual double doFlushResults() = 0;
48
virtual double doStopSimulation() = 0;
54
This must be called within the critical section
56
void requestToFlushResults();
60
SimulatorItemImpl* impl;
62
friend class SimulatorView;
63
friend class SimulatorItemImpl;
66
typedef boost::intrusive_ptr<SimulatorItem> SimulatorItemPtr;