Privacy
An open-source, flexible 3D physical simulation framework
mars::sim::Simulator Class Reference

The Simulator class implements the main functions of the MARS simulation. More...

#include <Simulator.h>

Classes

struct  LoadOptions
 

Public Types

enum  Status {
  UNKNOWN = -1, STOPPED = 0, RUNNING = 1, STOPPING = 2,
  STEPPING =3
}
 

Public Member Functions

 Simulator (lib_manager::LibManager *theManager)
 Constructor of the class Simulator. More...
 
virtual ~Simulator ()
 
int getLibVersion () const
 
const std::string getLibName () const
 
void newLibLoaded (const std::string &libName)
 
 CREATE_MODULE_INFO ()
 
void checkOptionalDependency (const std::string &libName)
 
void updateSim ()
 Updates the graphical simulation. More...
 
void myRealTime (void)
 control the realtime calculation More...
 
void runSimulation (bool startThread=true)
 Initiates the simulation. More...
 
std::string getTmpPath () const
 Returns the tmp path for temprary files, on linux /tmp/mars on windows the current config_dir. More...
 
virtual void StartSimulation ()
 
virtual void StopSimulation ()
 
virtual void resetSim (bool resetGraphics=true)
 
virtual bool isSimRunning () const
 
bool startStopTrigger ()
 Starts and pauses the simulation. More...
 
virtual void singleStep (void)
 
virtual void newWorld (bool clear_all=false)
 
virtual void exitMars (void)
 
void readArguments (int argc, char **argv)
 
virtual interfaces::ControlCentergetControlCenter (void) const
 
void addLight (interfaces::LightData light)
 
virtual void connectNodes (unsigned long id1, unsigned long id2)
 
virtual void disconnectNodes (unsigned long id1, unsigned long id2)
 
virtual void rescaleEnvironment (interfaces::sReal x, interfaces::sReal y, interfaces::sReal z)
 
virtual int loadScene (const std::string &filename, const std::string &robotname, bool threadsave=false, bool blocking=false)
 
virtual int loadScene (const std::string &filename, bool wasrunning=false, const std::string &robotname="", bool threadsave=false, bool blocking=false)
 
virtual int saveScene (const std::string &filename, bool wasrunning)
 
virtual void exportScene () const
 Exports the current scene as both *.obj and *.osg file. More...
 
virtual bool sceneChanged () const
 
virtual void sceneHasChanged (bool reset)
 
virtual bool allConcurrencysHandled ()
 Checks if external requests are open. More...
 
void setSyncThreads (bool value)
 Syncs the threads of GUI and simulation. More...
 
virtual void physicsThreadLock (void)
 
virtual void physicsThreadUnlock (void)
 
virtual interfaces::PhysicsInterfacegetPhysics (void) const
 
virtual void handleError (interfaces::PhysicsError error)
 
virtual void setGravity (const utils::Vector &gravity)
 
virtual int checkCollisions (void)
 
virtual bool hasSimFault () const
 Checks if the physic simulation thread has been stopped caused by an ODE error. More...
 
virtual void postGraphicsUpdate (void)
 
virtual void finishedDraw (void)
 
void allowDraw (void)
 Allows the osgWidget to draw a frame. More...
 
virtual bool getAllowDraw (void)
 
virtual bool getSyncGraphics (void)
 
virtual void addPlugin (const interfaces::pluginStruct &plugin)
 
virtual void removePlugin (interfaces::PluginInterface *pl)
 
virtual void switchPluginUpdateMode (int mode, interfaces::PluginInterface *pl)
 
virtual void sendDataToPlugin (int plugin_index, void *data)
 
virtual void cfgUpdateProperty (cfg_manager::cfgPropertyStruct _property)
 
const std::string getConfigDir () const
 
void noGUITimerUpdate (void)
 
virtual void receiveData (const data_broker::DataInfo &info, const data_broker::DataPackage &package, int callbackParam)
 The DataBroker will call this method to notify the receiver of whenever the condition for which the receiver registered occur. More...
 
virtual const utils::VectorgetGravity (void)
 
virtual void step (bool setState=false)
 
virtual unsigned long getTime ()
 
- Public Member Functions inherited from mars::utils::Thread
 Thread ()
 
virtual ~Thread ()
 
void start ()
 Starts the execution of this Thread. More...
 
void cancel (bool block=false)
 Tries to cancel the Thread. More...
 
void setCancellationPoint ()
 Adds a cancellation point to your run method. More...
 
bool wait ()
 stops execution until the thread has finished. More...
 
bool join ()
 
bool wait (unsigned long timeoutMilliseconds)
 puts the Thread to sleep for a specified amount of time. More...
 
bool isRunning () const
 returns true if the Thread is running. More...
 
bool isFinished () const
 
void setStackSize (std::size_t stackSize)
 
std::size_t getStackSize () const
 
bool isCurrentThread () const
 
- Public Member Functions inherited from mars::interfaces::SimulatorInterface
virtual ~SimulatorInterface ()
 
bool allConcurrencysHandled ()
 
- Public Member Functions inherited from mars::interfaces::GraphicsUpdateInterface
 GraphicsUpdateInterface (void)
 
virtual ~GraphicsUpdateInterface (void)
 
virtual void preGraphicsUpdate (void)
 
- Public Member Functions inherited from lib_manager::LibInterface
 LibInterface (LibManager *theManager)
 
virtual ~LibInterface (void)
 
ModuleInfo getModuleInfo () const
 
virtual void createModuleInfo (void)
 
- Public Member Functions inherited from mars::cfg_manager::CFGClient
 CFGClient ()
 
virtual ~CFGClient ()
 
virtual void cfgParamCreated (cfgParamId _id)
 
virtual void cfgParamRemoved (cfgParamId _id)
 
- Public Member Functions inherited from mars::data_broker::ReceiverInterface
 ReceiverInterface ()
 
virtual ~ReceiverInterface ()
 

Static Public Attributes

static SimulatoractiveSimulator = 0
 

Protected Member Functions

void run ()
 The simulator main loop. More...
 

Private Member Functions

void processRequests ()
 This method is used for all calls that cannot be done from an external thread. More...
 
void reloadWorld (void)
 
int loadScene_internal (const std::string &filename, bool wasrunning, const std::string &robotname)
 
void initCfgParams (void)
 

Private Attributes

int arg_no_gui
 
int arg_run
 
int arg_grid
 
int arg_ortho
 
bool reloadSim
 
bool reloadGraphics
 
short running
 
char was_running
 
bool kill_sim
 
interfaces::ControlCentercontrol
 Pointer to instance of ControlCenter (created in Simulator::Simulator(lib_manager::LibManager *theManager)) More...
 
std::vector< LoadOptionsfilesToLoad
 
bool sim_fault
 
bool exit_sim
 
Status simulationStatus
 
interfaces::sReal sync_time
 
bool my_real_time
 
bool fast_step
 
bool allow_draw
 
bool sync_graphics
 
int cameraMenuCheckedIndex
 
bool erased_active
 
utils::ReadWriteLock pluginLocker
 
int sync_count
 
utils::Mutex externalMutex
 
utils::Mutex coreMutex
 
utils::Mutex physicsMutex
 
utils::Mutex physicsCountMutex
 
utils::Mutex stepping_mutex
 Used for preventing active waiting for a single step or start event. More...
 
utils::WaitCondition stepping_wc
 Used for preventing active waiting for a single step or start event. More...
 
utils::Mutex getTimeMutex
 
int physics_mutex_count
 
double avg_log_time
 
double avg_step_time
 
int count
 
int avg_count_steps
 
interfaces::sReal calc_time
 
interfaces::PhysicsInterfacephysics
 
double calc_ms
 
int load_option
 
int std_port
 Controller port (default value: 1600) More...
 
utils::Vector gravity
 
unsigned long dbPhysicsUpdateId
 
unsigned long dbSimTimeId
 
unsigned long dbSimDebugId
 
unsigned long realStartTime
 
std::vector< interfaces::pluginStructallPlugins
 
std::vector< interfaces::pluginStructnewPlugins
 
std::vector< interfaces::pluginStructactivePlugins
 
std::vector< interfaces::pluginStructguiPlugins
 
std::string scenename
 
std::list< std::string > arg_v_scene_name
 
bool b_SceneChanged
 
bool haveNewPlugin
 
std::string config_dir
 
cfg_manager::cfgPropertyStruct cfgCalcMs
 
cfg_manager::cfgPropertyStruct cfgFaststep
 
cfg_manager::cfgPropertyStruct cfgRealtime
 
cfg_manager::cfgPropertyStruct cfgDebugTime
 
cfg_manager::cfgPropertyStruct cfgSyncGui
 
cfg_manager::cfgPropertyStruct cfgDrawContact
 
cfg_manager::cfgPropertyStruct cfgGX
 
cfg_manager::cfgPropertyStruct cfgGY
 
cfg_manager::cfgPropertyStruct cfgGZ
 
cfg_manager::cfgPropertyStruct cfgWorldErp
 
cfg_manager::cfgPropertyStruct cfgWorldCfm
 
cfg_manager::cfgPropertyStruct cfgVisRep
 
cfg_manager::cfgPropertyStruct cfgSyncTime
 
cfg_manager::cfgPropertyStruct configPath
 
cfg_manager::cfgPropertyStruct cfgUseNow
 
cfg_manager::cfgPropertyStruct cfgAvgCountSteps
 
data_broker::DataPackage dbPhysicsUpdatePackage
 
data_broker::DataPackage dbSimTimePackage
 
data_broker::DataPackage dbSimDebugPackage
 

Additional Inherited Members

- Static Public Member Functions inherited from mars::utils::Thread
static ThreadgetCurrentThread ()
 
static void cancelAll (bool block=false)
 
- Static Public Member Functions inherited from mars::interfaces::SimulatorInterface
static SimulatorInterfacegetInstance (lib_manager::LibManager *libManager)
 
- Static Protected Member Functions inherited from mars::utils::Thread
static void msleep (unsigned long msec)
 causes the current thread to sleep for More...
 
- Protected Attributes inherited from lib_manager::LibInterface
LibManagerlibManager
 
ModuleInfo moduleInfo
 

Detailed Description

The Simulator class implements the main functions of the MARS simulation.

Its constructor presents the core function in the simulation and directly takes the arguments given by the user if the simulation is starting from a command line. It inherits the mars::Thread class and the i_GuiToSim A Simulator object presents a separate thread and shares data with all other threads within the process.(remarque) To handle and access the data of the Simulator properly, the mutex variable coreMutex is used.

Definition at line 64 of file Simulator.h.

Member Enumeration Documentation

◆ Status

Enumerator
UNKNOWN 
STOPPED 
RUNNING 
STOPPING 
STEPPING 

Definition at line 73 of file Simulator.h.

Constructor & Destructor Documentation

◆ Simulator()

mars::sim::Simulator::Simulator ( lib_manager::LibManager theManager)

Constructor of the class Simulator.

Definition at line 78 of file Simulator.cpp.

◆ ~Simulator()

mars::sim::Simulator::~Simulator ( )
virtual

Definition at line 137 of file Simulator.cpp.

Member Function Documentation

◆ addLight()

void mars::sim::Simulator::addLight ( interfaces::LightData  light)
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 655 of file Simulator.cpp.

◆ addPlugin()

void mars::sim::Simulator::addPlugin ( const interfaces::pluginStruct plugin)
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 1068 of file Simulator.cpp.

◆ allConcurrencysHandled()

bool mars::sim::Simulator::allConcurrencysHandled ( )
virtual

Checks if external requests are open.

Returns
true if no external requests are open.

Definition at line 1155 of file Simulator.cpp.

◆ allowDraw()

void mars::sim::Simulator::allowDraw ( void  )
virtual

Allows the osgWidget to draw a frame.

This method is used for gui and simulation synchronization.

Implements mars::interfaces::SimulatorInterface.

Definition at line 1148 of file Simulator.cpp.

◆ cfgUpdateProperty()

void mars::sim::Simulator::cfgUpdateProperty ( cfg_manager::cfgPropertyStruct  _property)
virtual

Reimplemented from mars::cfg_manager::CFGClient.

Definition at line 1200 of file Simulator.cpp.

◆ checkCollisions()

int mars::sim::Simulator::checkCollisions ( void  )
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 1122 of file Simulator.cpp.

◆ checkOptionalDependency()

void mars::sim::Simulator::checkOptionalDependency ( const std::string &  libName)

Definition at line 172 of file Simulator.cpp.

◆ connectNodes()

void mars::sim::Simulator::connectNodes ( unsigned long  id1,
unsigned long  id2 
)
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 904 of file Simulator.cpp.

◆ CREATE_MODULE_INFO()

mars::sim::Simulator::CREATE_MODULE_INFO ( )

◆ disconnectNodes()

void mars::sim::Simulator::disconnectNodes ( unsigned long  id1,
unsigned long  id2 
)
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 912 of file Simulator.cpp.

◆ exitMars()

void mars::sim::Simulator::exitMars ( void  )
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 891 of file Simulator.cpp.

◆ exportScene()

void mars::sim::Simulator::exportScene ( void  ) const
virtual

Exports the current scene as both *.obj and *.osg file.

Implements mars::interfaces::SimulatorInterface.

Definition at line 1191 of file Simulator.cpp.

◆ finishedDraw()

void mars::sim::Simulator::finishedDraw ( void  )
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 667 of file Simulator.cpp.

◆ getAllowDraw()

virtual bool mars::sim::Simulator::getAllowDraw ( void  )
inlinevirtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 173 of file Simulator.h.

◆ getConfigDir()

const std::string mars::sim::Simulator::getConfigDir ( ) const
inline

Definition at line 192 of file Simulator.h.

◆ getControlCenter()

ControlCenter * mars::sim::Simulator::getControlCenter ( void  ) const
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 1064 of file Simulator.cpp.

◆ getGravity()

const utils::Vector & mars::sim::Simulator::getGravity ( void  )
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 1374 of file Simulator.cpp.

◆ getLibName()

const std::string mars::sim::Simulator::getLibName ( ) const
inlinevirtual

Implements lib_manager::LibInterface.

Definition at line 91 of file Simulator.h.

◆ getLibVersion()

int mars::sim::Simulator::getLibVersion ( ) const
inlinevirtual

Implements lib_manager::LibInterface.

Definition at line 87 of file Simulator.h.

◆ getPhysics()

PhysicsInterface * mars::sim::Simulator::getPhysics ( void  ) const
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 883 of file Simulator.cpp.

◆ getSyncGraphics()

virtual bool mars::sim::Simulator::getSyncGraphics ( void  )
inlinevirtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 177 of file Simulator.h.

◆ getTime()

unsigned long mars::sim::Simulator::getTime ( )
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 1378 of file Simulator.cpp.

◆ getTmpPath()

std::string mars::sim::Simulator::getTmpPath ( ) const

Returns the tmp path for temprary files, on linux /tmp/mars on windows the current config_dir.

Definition at line 562 of file Simulator.cpp.

◆ handleError()

void mars::sim::Simulator::handleError ( interfaces::PhysicsError  error)
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 1004 of file Simulator.cpp.

◆ hasSimFault()

bool mars::sim::Simulator::hasSimFault ( ) const
virtual

Checks if the physic simulation thread has been stopped caused by an ODE error.

If true you cannot recover (currently) from this point without restarting the simulation.

To extend this, restart the simulator thread and reset the scene (untested).

Returns
true if the simulation thread was not interrupted by ODE

Implements mars::interfaces::SimulatorInterface.

Definition at line 1000 of file Simulator.cpp.

◆ initCfgParams()

void mars::sim::Simulator::initCfgParams ( void  )
private

Definition at line 1274 of file Simulator.cpp.

◆ isSimRunning()

bool mars::sim::Simulator::isSimRunning ( ) const
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 554 of file Simulator.cpp.

◆ loadScene() [1/2]

int mars::sim::Simulator::loadScene ( const std::string &  filename,
const std::string &  robotname,
bool  threadsave = false,
bool  blocking = false 
)
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 581 of file Simulator.cpp.

◆ loadScene() [2/2]

int mars::sim::Simulator::loadScene ( const std::string &  filename,
bool  wasrunning = false,
const std::string &  robotname = "",
bool  threadsave = false,
bool  blocking = false 
)
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 585 of file Simulator.cpp.

◆ loadScene_internal()

int mars::sim::Simulator::loadScene_internal ( const std::string &  filename,
bool  wasrunning,
const std::string &  robotname 
)
private

Definition at line 607 of file Simulator.cpp.

◆ myRealTime()

void mars::sim::Simulator::myRealTime ( void  )

control the realtime calculation

Definition at line 496 of file Simulator.cpp.

◆ newLibLoaded()

void mars::sim::Simulator::newLibLoaded ( const std::string &  libName)
virtual

Reimplemented from lib_manager::LibInterface.

Definition at line 168 of file Simulator.cpp.

◆ newWorld()

void mars::sim::Simulator::newWorld ( bool  clear_all = false)
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 741 of file Simulator.cpp.

◆ noGUITimerUpdate()

void mars::sim::Simulator::noGUITimerUpdate ( void  )

Definition at line 1059 of file Simulator.cpp.

◆ physicsThreadLock()

void mars::sim::Simulator::physicsThreadLock ( void  )
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 865 of file Simulator.cpp.

◆ physicsThreadUnlock()

void mars::sim::Simulator::physicsThreadUnlock ( void  )
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 874 of file Simulator.cpp.

◆ postGraphicsUpdate()

void mars::sim::Simulator::postGraphicsUpdate ( void  )
virtual

Reimplemented from mars::interfaces::GraphicsUpdateInterface.

Definition at line 887 of file Simulator.cpp.

◆ processRequests()

void mars::sim::Simulator::processRequests ( )
private

This method is used for all calls that cannot be done from an external thread.

This means the requests have to be caches (like in loadScene) and have to be handled by this method, which is called by Simulator::run().

Definition at line 1163 of file Simulator.cpp.

◆ readArguments()

void mars::sim::Simulator::readArguments ( int  argc,
char **  argv 
)
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 789 of file Simulator.cpp.

◆ receiveData()

void mars::sim::Simulator::receiveData ( const data_broker::DataInfo info,
const data_broker::DataPackage dataPackage,
int  callbackParam 
)
virtual

The DataBroker will call this method to notify the receiver of whenever the condition for which the receiver registered occur.

Parameters
infoInformation about the DataPackage.
dataPackageThe DataPackage containing all the data.
callbackParamThe int the receiver passed during registration. The default (the receiver didn't provide a callbackParam) is 0. This can be used to easily distinguish different registrations.

Implements mars::data_broker::ReceiverInterface.

Definition at line 1327 of file Simulator.cpp.

◆ reloadWorld()

void mars::sim::Simulator::reloadWorld ( void  )
private

Definition at line 782 of file Simulator.cpp.

◆ removePlugin()

void mars::sim::Simulator::removePlugin ( interfaces::PluginInterface pl)
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 1075 of file Simulator.cpp.

◆ rescaleEnvironment()

void mars::sim::Simulator::rescaleEnvironment ( interfaces::sReal  x,
interfaces::sReal  y,
interfaces::sReal  z 
)
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 916 of file Simulator.cpp.

◆ resetSim()

void mars::sim::Simulator::resetSim ( bool  resetGraphics = true)
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 763 of file Simulator.cpp.

◆ run()

void mars::sim::Simulator::run ( void  )
protectedvirtual

The simulator main loop.

This function is executing while the program is running.

It handles the physical simulation, if the physical simulation is started, otherwise the function is in idle mode.

pre: start the simulator thread and by the way the Physics loop

post:

Implements mars::utils::Thread.

Definition at line 320 of file Simulator.cpp.

◆ runSimulation()

void mars::sim::Simulator::runSimulation ( bool  startThread = true)
virtual

Initiates the simulation.

Implements mars::interfaces::SimulatorInterface.

Definition at line 226 of file Simulator.cpp.

◆ saveScene()

int mars::sim::Simulator::saveScene ( const std::string &  filename,
bool  wasrunning 
)
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 642 of file Simulator.cpp.

◆ sceneChanged()

bool mars::sim::Simulator::sceneChanged ( ) const
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 558 of file Simulator.cpp.

◆ sceneHasChanged()

void mars::sim::Simulator::sceneHasChanged ( bool  reset)
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 573 of file Simulator.cpp.

◆ sendDataToPlugin()

void mars::sim::Simulator::sendDataToPlugin ( int  plugin_index,
void *  data 
)
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 1126 of file Simulator.cpp.

◆ setGravity()

void mars::sim::Simulator::setGravity ( const utils::Vector gravity)
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 1047 of file Simulator.cpp.

◆ setSyncThreads()

void mars::sim::Simulator::setSyncThreads ( bool  value)
virtual

Syncs the threads of GUI and simulation.

Implements mars::interfaces::SimulatorInterface.

Definition at line 1133 of file Simulator.cpp.

◆ singleStep()

void mars::sim::Simulator::singleStep ( void  )
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 926 of file Simulator.cpp.

◆ StartSimulation()

virtual void mars::sim::Simulator::StartSimulation ( )
inlinevirtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 112 of file Simulator.h.

◆ startStopTrigger()

bool mars::sim::Simulator::startStopTrigger ( )
virtual

Starts and pauses the simulation.

Returns
true if started, false if stopped

Implements mars::interfaces::SimulatorInterface.

Definition at line 463 of file Simulator.cpp.

◆ step()

void mars::sim::Simulator::step ( bool  setState = false)
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 360 of file Simulator.cpp.

◆ StopSimulation()

virtual void mars::sim::Simulator::StopSimulation ( )
inlinevirtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 119 of file Simulator.h.

◆ switchPluginUpdateMode()

void mars::sim::Simulator::switchPluginUpdateMode ( int  mode,
interfaces::PluginInterface pl 
)
virtual

Implements mars::interfaces::SimulatorInterface.

Definition at line 933 of file Simulator.cpp.

◆ updateSim()

void mars::sim::Simulator::updateSim ( )

Updates the graphical simulation.

Calls GraphicsManager::update() method to redraw all OSG objects in the simulation.

Definition at line 1140 of file Simulator.cpp.

Member Data Documentation

◆ activePlugins

std::vector<interfaces::pluginStruct> mars::sim::Simulator::activePlugins
private

Definition at line 276 of file Simulator.h.

◆ activeSimulator

Simulator * mars::sim::Simulator::activeSimulator = 0
static

Definition at line 83 of file Simulator.h.

◆ allow_draw

bool mars::sim::Simulator::allow_draw
private

Definition at line 243 of file Simulator.h.

◆ allPlugins

std::vector<interfaces::pluginStruct> mars::sim::Simulator::allPlugins
private

Definition at line 274 of file Simulator.h.

◆ arg_grid

int mars::sim::Simulator::arg_grid
private

Definition at line 228 of file Simulator.h.

◆ arg_no_gui

int mars::sim::Simulator::arg_no_gui
private

Definition at line 228 of file Simulator.h.

◆ arg_ortho

int mars::sim::Simulator::arg_ortho
private

Definition at line 228 of file Simulator.h.

◆ arg_run

int mars::sim::Simulator::arg_run
private

Definition at line 228 of file Simulator.h.

◆ arg_v_scene_name

std::list<std::string> mars::sim::Simulator::arg_v_scene_name
private

Definition at line 282 of file Simulator.h.

◆ avg_count_steps

int mars::sim::Simulator::avg_count_steps
private

Definition at line 260 of file Simulator.h.

◆ avg_log_time

double mars::sim::Simulator::avg_log_time
private

Definition at line 259 of file Simulator.h.

◆ avg_step_time

double mars::sim::Simulator::avg_step_time
private

Definition at line 259 of file Simulator.h.

◆ b_SceneChanged

bool mars::sim::Simulator::b_SceneChanged
private

Definition at line 283 of file Simulator.h.

◆ calc_ms

double mars::sim::Simulator::calc_ms
private

Definition at line 265 of file Simulator.h.

◆ calc_time

interfaces::sReal mars::sim::Simulator::calc_time
private

Definition at line 261 of file Simulator.h.

◆ cameraMenuCheckedIndex

int mars::sim::Simulator::cameraMenuCheckedIndex
private

Definition at line 245 of file Simulator.h.

◆ cfgAvgCountSteps

cfg_manager::cfgPropertyStruct mars::sim::Simulator::cfgAvgCountSteps
private

Definition at line 298 of file Simulator.h.

◆ cfgCalcMs

cfg_manager::cfgPropertyStruct mars::sim::Simulator::cfgCalcMs
private

Definition at line 289 of file Simulator.h.

◆ cfgDebugTime

cfg_manager::cfgPropertyStruct mars::sim::Simulator::cfgDebugTime
private

Definition at line 290 of file Simulator.h.

◆ cfgDrawContact

cfg_manager::cfgPropertyStruct mars::sim::Simulator::cfgDrawContact
private

Definition at line 291 of file Simulator.h.

◆ cfgFaststep

cfg_manager::cfgPropertyStruct mars::sim::Simulator::cfgFaststep
private

Definition at line 289 of file Simulator.h.

◆ cfgGX

cfg_manager::cfgPropertyStruct mars::sim::Simulator::cfgGX
private

Definition at line 292 of file Simulator.h.

◆ cfgGY

cfg_manager::cfgPropertyStruct mars::sim::Simulator::cfgGY
private

Definition at line 292 of file Simulator.h.

◆ cfgGZ

cfg_manager::cfgPropertyStruct mars::sim::Simulator::cfgGZ
private

Definition at line 292 of file Simulator.h.

◆ cfgRealtime

cfg_manager::cfgPropertyStruct mars::sim::Simulator::cfgRealtime
private

Definition at line 290 of file Simulator.h.

◆ cfgSyncGui

cfg_manager::cfgPropertyStruct mars::sim::Simulator::cfgSyncGui
private

Definition at line 291 of file Simulator.h.

◆ cfgSyncTime

cfg_manager::cfgPropertyStruct mars::sim::Simulator::cfgSyncTime
private

Definition at line 295 of file Simulator.h.

◆ cfgUseNow

cfg_manager::cfgPropertyStruct mars::sim::Simulator::cfgUseNow
private

Definition at line 297 of file Simulator.h.

◆ cfgVisRep

cfg_manager::cfgPropertyStruct mars::sim::Simulator::cfgVisRep
private

Definition at line 294 of file Simulator.h.

◆ cfgWorldCfm

cfg_manager::cfgPropertyStruct mars::sim::Simulator::cfgWorldCfm
private

Definition at line 293 of file Simulator.h.

◆ cfgWorldErp

cfg_manager::cfgPropertyStruct mars::sim::Simulator::cfgWorldErp
private

Definition at line 293 of file Simulator.h.

◆ config_dir

std::string mars::sim::Simulator::config_dir
private

Definition at line 288 of file Simulator.h.

◆ configPath

cfg_manager::cfgPropertyStruct mars::sim::Simulator::configPath
private

Definition at line 296 of file Simulator.h.

◆ control

interfaces::ControlCenter* mars::sim::Simulator::control
private

Pointer to instance of ControlCenter (created in Simulator::Simulator(lib_manager::LibManager *theManager))

Definition at line 233 of file Simulator.h.

◆ coreMutex

utils::Mutex mars::sim::Simulator::coreMutex
private

Definition at line 252 of file Simulator.h.

◆ count

int mars::sim::Simulator::count
private

Definition at line 260 of file Simulator.h.

◆ dbPhysicsUpdateId

unsigned long mars::sim::Simulator::dbPhysicsUpdateId
private

Definition at line 269 of file Simulator.h.

◆ dbPhysicsUpdatePackage

data_broker::DataPackage mars::sim::Simulator::dbPhysicsUpdatePackage
private

Definition at line 301 of file Simulator.h.

◆ dbSimDebugId

unsigned long mars::sim::Simulator::dbSimDebugId
private

Definition at line 270 of file Simulator.h.

◆ dbSimDebugPackage

data_broker::DataPackage mars::sim::Simulator::dbSimDebugPackage
private

Definition at line 303 of file Simulator.h.

◆ dbSimTimeId

unsigned long mars::sim::Simulator::dbSimTimeId
private

Definition at line 270 of file Simulator.h.

◆ dbSimTimePackage

data_broker::DataPackage mars::sim::Simulator::dbSimTimePackage
private

Definition at line 302 of file Simulator.h.

◆ erased_active

bool mars::sim::Simulator::erased_active
private

Definition at line 248 of file Simulator.h.

◆ exit_sim

bool mars::sim::Simulator::exit_sim
private

Definition at line 236 of file Simulator.h.

◆ externalMutex

utils::Mutex mars::sim::Simulator::externalMutex
private

Definition at line 251 of file Simulator.h.

◆ fast_step

bool mars::sim::Simulator::fast_step
private

Definition at line 240 of file Simulator.h.

◆ filesToLoad

std::vector<LoadOptions> mars::sim::Simulator::filesToLoad
private

Definition at line 234 of file Simulator.h.

◆ getTimeMutex

utils::Mutex mars::sim::Simulator::getTimeMutex
private

Definition at line 257 of file Simulator.h.

◆ gravity

utils::Vector mars::sim::Simulator::gravity
private

Definition at line 268 of file Simulator.h.

◆ guiPlugins

std::vector<interfaces::pluginStruct> mars::sim::Simulator::guiPlugins
private

Definition at line 277 of file Simulator.h.

◆ haveNewPlugin

bool mars::sim::Simulator::haveNewPlugin
private

Definition at line 284 of file Simulator.h.

◆ kill_sim

bool mars::sim::Simulator::kill_sim
private

Definition at line 232 of file Simulator.h.

◆ load_option

int mars::sim::Simulator::load_option
private

Definition at line 266 of file Simulator.h.

◆ my_real_time

bool mars::sim::Simulator::my_real_time
private

Definition at line 239 of file Simulator.h.

◆ newPlugins

std::vector<interfaces::pluginStruct> mars::sim::Simulator::newPlugins
private

Definition at line 275 of file Simulator.h.

◆ physics

interfaces::PhysicsInterface* mars::sim::Simulator::physics
private

Definition at line 264 of file Simulator.h.

◆ physics_mutex_count

int mars::sim::Simulator::physics_mutex_count
private

Definition at line 258 of file Simulator.h.

◆ physicsCountMutex

utils::Mutex mars::sim::Simulator::physicsCountMutex
private

Definition at line 254 of file Simulator.h.

◆ physicsMutex

utils::Mutex mars::sim::Simulator::physicsMutex
private

Definition at line 253 of file Simulator.h.

◆ pluginLocker

utils::ReadWriteLock mars::sim::Simulator::pluginLocker
private

Definition at line 249 of file Simulator.h.

◆ realStartTime

unsigned long mars::sim::Simulator::realStartTime
private

Definition at line 271 of file Simulator.h.

◆ reloadGraphics

bool mars::sim::Simulator::reloadGraphics
private

Definition at line 229 of file Simulator.h.

◆ reloadSim

bool mars::sim::Simulator::reloadSim
private

Definition at line 229 of file Simulator.h.

◆ running

short mars::sim::Simulator::running
private

Definition at line 230 of file Simulator.h.

◆ scenename

std::string mars::sim::Simulator::scenename
private

Definition at line 281 of file Simulator.h.

◆ sim_fault

bool mars::sim::Simulator::sim_fault
private

Definition at line 235 of file Simulator.h.

◆ simulationStatus

Status mars::sim::Simulator::simulationStatus
private

Definition at line 237 of file Simulator.h.

◆ std_port

int mars::sim::Simulator::std_port
private

Controller port (default value: 1600)

Definition at line 267 of file Simulator.h.

◆ stepping_mutex

utils::Mutex mars::sim::Simulator::stepping_mutex
private

Used for preventing active waiting for a single step or start event.

Definition at line 255 of file Simulator.h.

◆ stepping_wc

utils::WaitCondition mars::sim::Simulator::stepping_wc
private

Used for preventing active waiting for a single step or start event.

Definition at line 256 of file Simulator.h.

◆ sync_count

int mars::sim::Simulator::sync_count
private

Definition at line 250 of file Simulator.h.

◆ sync_graphics

bool mars::sim::Simulator::sync_graphics
private

Definition at line 244 of file Simulator.h.

◆ sync_time

interfaces::sReal mars::sim::Simulator::sync_time
private

Definition at line 238 of file Simulator.h.

◆ was_running

char mars::sim::Simulator::was_running
private

Definition at line 231 of file Simulator.h.


The documentation for this class was generated from the following files: