Robot Simulator of the Robotics Group for Self-Organization of Control  0.8.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TaskedSimulation Class Reference

#include <taskedsimulation.h>

Inheritance diagram for TaskedSimulation:
Collaboration diagram for TaskedSimulation:

Public Member Functions

 TaskedSimulation ()
 
virtual ~TaskedSimulation ()
 
virtual void start (const OdeHandle &, const OsgHandle &, GlobalData &globalData, SimulationTaskHandle &simTaskHandle, int taskId)
 start() is called at the first start of the cycles and should create all the object (obstacles, agents...). More...
 
virtual bool restart (const OdeHandle &, const OsgHandle &, GlobalData &globalData, SimulationTaskHandle &, int taskId)
 restart() is called at the second and all following starts of the cylce The end of a cycle is determined by (simulation_time_reached==true) More...
 
virtual void addCallback (GlobalData &globalData, bool draw, bool pause, bool control, SimulationTaskHandle &, int taskId)
 optional additional callback function which is called every simulation step. More...
 
virtual bool command (const OdeHandle &, const OsgHandle &, GlobalData &globalData, int key, bool down, SimulationTaskHandle &, int taskId)
 is called if a key was pressed. More...
 
void setTaskId (int taskId)
 Sets the taskId of the associated SimulationTask. More...
 
void setTaskNameSuffix (std::string nameSuffix)
 
void setSimTaskHandle (SimulationTaskHandle &simTaskHandle)
 Sets the global SimulationTaskHandle. More...
 
- Public Member Functions inherited from Simulation
 Simulation ()
 
virtual ~Simulation ()
 
bool run (int argc, char **argv)
 starts the Simulation. More...
 
virtual void end (GlobalData &globalData)
 end() is called at the end and should tidy up More...
 
virtual bool config (GlobalData &globalData)
 config() is called when the user presses Ctrl-C More...
 
virtual void bindingDescription (osg::ApplicationUsage &au) const
 this can be used to describe the key bindings used by command() More...
 
virtual void usage () const
 this can be used to print additional usage information (cmd-line options) More...
 
virtual bool collCallback (const OdeHandle &, void *data, dGeomID o1, dGeomID o2)
 collCallback() can be used to overload the standart collision handling. More...
 
virtual void addPaletteFile (const std::string &filename, bool verbose=false)
 adds a palette file to be loaded at initialization time Call this before run()! More...
 
virtual void addColorAliasFile (const std::string &filename, bool verbose=false)
 adds a color alias file to be loaded at initialization time Call this before run()! More...
 
virtual void odeStep ()
 
virtual void osgStep ()
 
virtual void doOnCallBack (BackCaller *src, BackCaller::CallbackableType type=BackCaller::DEFAULT_CALLBACKABLE_TYPE) override
 This method is invoked when a callback is done from the class where this class is for callback registered. More...
 
- Public Member Functions inherited from Base
 Base (const std::string &caption="LpzRobots Simulator (Martius et al)")
 
virtual void makePhysicsScene ()
 create the ground plane More...
 
virtual void makeScene (OsgScene *scene, const OsgConfig &config)
 creates the base scene graph with world, sky and floor and shadow and HUD and stores it in scene More...
 
virtual osg::Node * makeSky (const OsgConfig &config)
 
virtual osg::Node * makeGround (const OsgConfig &config)
 
virtual osg::Node * createHUD (OsgScene *scene, const OsgConfig &config)
 creates hud and is supposed to return the camera to it and adds the geode of the hud to the scene More...
 
virtual void createHUDManager (osg::Geode *geode, osgText::Font *font)
 
virtual void makeLights (osg::Group *node, const OsgConfig &config)
 adds light to the node More...
 
virtual osgShadow::ShadowedScene * createShadowedScene (osg::Node *sceneToShadow, osg::LightSource *lightSource, int shadowType)
 Shadow types: 1 - ShadowVolume 2 - ShadowTextue 3 - ParallelSplitShadowMap 4 - SoftShadowMap 5 - ShadowMap. More...
 
virtual void setGroundTexture (const char *filename)
 
virtual Substance getGroundSubstance ()
 
virtual void setGroundSubstance (const Substance &substance)
 
virtual void setCaption (const std::string &caption)
 sets the cpation that is printed at the right of the status line More...
 
virtual void setTitle (const std::string &title)
 sets the title that is printed in the center of the status line More...
 
virtual StatLineProperties getStatLineProperties ()
 
virtual void setStatLineProperties (const StatLineProperties &statlineprop)
 sets the properties of the status line, do it before the scene is initialized More...
 
virtual HUDStatisticsManagergetHUDSM ()
 Create HUDStatisticsManager and register it for being called back every step. More...
 
virtual ~Base ()
 
- Public Member Functions inherited from Configurable
 Configurable ()
 
 Configurable (const std::string &name, const std::string &revision)
 intialise with name and revision (use "$ID$") More...
 
virtual ~Configurable ()
 
virtual void notifyOnChange (const paramkey &key)
 Is called when a parameter was changes via setParam(). More...
 
virtual void addParameter (const paramkey &key, paramval *val, paramval minBound, paramval maxBound, const paramdescr &descr=paramdescr())
 This is the new style for adding configurable parameters. More...
 
virtual void addParameter (const paramkey &key, paramval *val, const paramdescr &descr=paramdescr())
 See addParameter(const paramkey& key, paramval* val, paramval minBound, paramval maxBound, const paramdescr& descr) More...
 
virtual void addParameter (const paramkey &key, parambool *val, const paramdescr &descr=paramdescr())
 See addParameter(const paramkey& key, paramval* val) but for bool values. More...
 
virtual void addParameter (const paramkey &key, paramint *val, paramint minBound, paramint maxBound, const paramdescr &descr=paramdescr())
 See addParameter(const paramkey& key, paramval* val) but for int values. More...
 
virtual void addParameter (const paramkey &key, paramint *val, const paramdescr &descr=paramdescr())
 
virtual void addParameterDef (const paramkey &key, paramval *val, paramval def, paramval minBound, paramval maxBound, const paramdescr &descr=paramdescr())
 This function is only provided for convenience. More...
 
virtual void addParameterDef (const paramkey &key, paramval *val, paramval def, const paramdescr &descr=paramdescr())
 
virtual void addParameterDef (const paramkey &key, parambool *val, parambool def, const paramdescr &descr=paramdescr())
 See addParameterDef(const paramkey&, paramval*, paramval) More...
 
virtual void addParameterDef (const paramkey &key, paramint *val, paramint def, paramint minBound, paramint maxBound, const paramdescr &descr=paramdescr())
 See addParameterDef(const paramkey&, paramval*, paramval) More...
 
virtual void addParameterDef (const paramkey &key, paramint *val, paramint def, const paramdescr &descr=paramdescr())
 
virtual void setParamDescr (const paramkey &key, const paramdescr &descr, bool traverseChildren=true)
 sets a description for the given parameter More...
 
int getId () const
 return the id of the configurable objects, which is created by random on initialisation More...
 
virtual paramkey getName () const
 return the name of the object More...
 
virtual paramkey getRevision () const
 returns the revision of the object More...
 
virtual void setName (const paramkey &name, bool callSetNameOfInspectable=true)
 Sets the name of the configurable. More...
 
virtual void setRevision (const paramkey &revision)
 sets the revision Hint: { return "$ID$"; } More...
 
virtual paramval getParam (const paramkey &key, bool traverseChildren=true) const
 returns the value of the requested parameter or 0 (+ error message to stderr) if unknown. More...
 
virtual bool hasParam (const paramkey &key, bool traverseChildren=true) const
 Returns if the requested parameter is part of the configurable or their children. More...
 
virtual bool setParam (const paramkey &key, paramval val, bool traverseChildren=true)
 sets the value of the given parameter or does nothing if unknown. More...
 
virtual void setParamBounds (const paramkey &key, paramval minBound, paramval maxBound, bool traverseChildren=true)
 Sets the bounds (minBound and maxBound) of the given parameter. More...
 
virtual void setParamBounds (const paramkey &key, paramint minBound, paramint maxBound, bool traverseChildren=true)
 
virtual void setParamBounds (const paramkey &key, paramvalBounds bounds, bool traverseChildren=true)
 
virtual void setParamBounds (const paramkey &key, paramintBounds bounds, bool traverseChildren=true)
 
virtual paramlist getParamList () const
 The list of all parameters with there value as allocated lists. More...
 
virtual std::list< paramkeygetAllParamNames (bool traverseChildren=true)
 returns all names that are configureable More...
 
virtual parammap getParamValMap () const
 
virtual paramintmap getParamIntMap () const
 
virtual paramboolmap getParamBoolMap () const
 
virtual paramdescr getParamDescr (const paramkey &key, bool traverseChildren=true) const
 returns the description for the given parameter More...
 
virtual paramvalBounds getParamvalBounds (const paramkey &key, bool traverseChildren=true) const
 
virtual paramintBounds getParamintBounds (const paramkey &key, bool traverseChildren=true) const
 
virtual bool hasParamDescr (const paramkey &key, bool traverseChildren=true) const
 
virtual bool hasParamvalBounds (const paramkey &key, bool traverseChildren=true) const
 
virtual bool hasParamintBounds (const paramkey &key, bool traverseChildren=true) const
 
void print (FILE *f, const char *prefix, int columns=90, bool traverseChildren=true) const
 prints the keys, values and descriptions to the file. Each line is prefixed More...
 
bool parse (FILE *f, const char *prefix=0, bool traverseChildren=true)
 parses the configuration from the given file More...
 
virtual void addConfigurable (Configurable *conf)
 Adds a configurable as a child object. More...
 
virtual void removeConfigurable (Configurable *conf)
 Removes a configurable as a child object. More...
 
virtual const configurableListgetConfigurables () const
 Returns the list containing all configurable children. More...
 
virtual void configurableChanged ()
 Indicates that the configurable itself or the configurable children attached to this configurable have changed. More...
 
- Public Member Functions inherited from BackCaller
 BackCaller ()
 
virtual ~BackCaller ()
 
virtual void addCallbackable (Callbackable *callbackableInstance, CallbackableType type=BackCaller::DEFAULT_CALLBACKABLE_TYPE)
 Adds a Callbackable instance to this caller instance. More...
 
virtual void removeCallbackable (Callbackable *callbackableInstance, CallbackableType type=BackCaller::DEFAULT_CALLBACKABLE_TYPE)
 Removes a Callbackable instance from this caller instance. More...
 
virtual void removeAllCallbackables (CallbackableType type)
 Removes all Callbackable instances from this caller instance. More...
 
virtual void callBack (CallbackableType type=BackCaller::DEFAULT_CALLBACKABLE_TYPE)
 Calls all registered callbackable classes of the determined type. More...
 
virtual void callBackQMP (CallbackableType type=BackCaller::DEFAULT_CALLBACKABLE_TYPE)
 Calls all registered callbackable classes of the determined type. More...
 
- Public Member Functions inherited from Callbackable
 Callbackable ()
 
virtual ~Callbackable ()
 

Additional Inherited Members

- Public Types inherited from Simulation
enum  SimulationState { none, initialised, running, closed }
 
enum  CameraMode { Static =0, Follow, TV, Race }
 
- Public Types inherited from Configurable
typedef std::string paramkey
 
typedef std::string paramdescr
 
typedef double paramval
 
typedef std::list< std::pair
< paramkey, paramval > > 
paramlist
 
typedef std::map< paramkey,
paramval * > 
parammap
 
typedef bool parambool
 
typedef std::list< std::pair
< paramkey, parambool > > 
paramboollist
 
typedef std::map< paramkey,
parambool * > 
paramboolmap
 
typedef int paramint
 
typedef std::list< std::pair
< paramkey, paramint > > 
paramintlist
 
typedef std::map< paramkey,
paramint * > 
paramintmap
 
typedef std::map< paramkey,
paramdescr
paramdescrmap
 
typedef std::pair< paramval,
paramval
paramvalBounds
 
typedef std::map< paramkey,
paramvalBounds
paramvalBoundsMap
 
typedef std::pair< paramint,
paramint
paramintBounds
 
typedef std::map< paramkey,
paramintBounds
paramintBoundsMap
 
typedef std::pair< paramkey,
paramval * > 
paramvalpair
 
typedef std::pair< paramkey,
parambool * > 
paramboolpair
 
typedef std::pair< paramkey,
paramint * > 
paramintpair
 
typedef std::vector
< Configurable * > 
configurableList
 
- Public Types inherited from BackCaller
typedef unsigned long CallbackableType
 
- Static Public Member Functions inherited from Base
static int contains (char **list, int len, const char *str)
 returns the index+1 if the list contains the given string or 0 if not More...
 
- Static Public Attributes inherited from Base
static const int PHYSICS_CALLBACKABLE = 1
 called each ode/physics step More...
 
static const int GRAPHICS_CALLBACKABLE = 2
 called each osg/draw step More...
 
- Static Public Attributes inherited from Configurable
static const CallbackableType CALLBACK_CONFIGURABLE_CHANGED = 11
 
- Static Public Attributes inherited from BackCaller
static const CallbackableType DEFAULT_CALLBACKABLE_TYPE = 0
 This is the default Callbackable type. More...
 
- Protected Member Functions inherited from Simulation
virtual bool handle (const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &)
 
virtual void getUsage (osg::ApplicationUsage &au) const
 
virtual void accept (osgGA::GUIEventHandlerVisitor &v)
 
virtual bool init (int argc, char **argv)
 
virtual void updateGraphics ()
 update the graphics objects More...
 
void setCameraHomePos (const osg::Vec3 &eye, const osg::Vec3 &view)
 define the home position and view orientation of the camera. More...
 
void setCameraMode (CameraMode mode)
 Sets the mode of the camera, the numbers are the same like the keys. More...
 
bool startVideoRecording (const char *name)
 start video recording (write frames to name(XXX) folder) More...
 
bool stopVideoRecording ()
 stop video recording More...
 
void setWatchedAgent (OdeAgent *agent)
 Sets the agent to be watched with the camera. More...
 
OdeAgentgetWatchedAgent () const
 returns the watched agent (or 0) More...
 
bool control_c_pressed ()
 
 __attribute__ ((deprecated)) void showParams(const ConfigList &configs)
 shows all parameters of all given configurable objects More...
 
void resetSyncTimer ()
 
long timeOfDayinMS ()
 
std::list< std::pair
< std::string, double > > 
parseKeyValuePairs (std::string kv)
 
- Protected Member Functions inherited from Base
virtual void setTimeStats (double time, double realtimefactor, double truerealtimefactor, bool pause)
 
virtual void changeShadowTechnique ()
 Changes the currently used shadow technique. More...
 
virtual void base_close ()
 deletes the stuff that is created on makescene and the like More...
 
- Protected Member Functions inherited from Configurable
void copyParameters (const Configurable &, bool traverseChildren=true)
 copies the internal params of the given configurable More...
 
void printdescr (FILE *f, const char *prefix, const paramkey &key, int columns, int indent) const
 
- Static Protected Member Functions inherited from Simulation
static void nearCallback_TopLevel (void *data, dGeomID o1, dGeomID o2)
 
static void nearCallback (void *data, dGeomID o1, dGeomID o2)
 
- Protected Attributes inherited from Simulation
std::list< PlotOption > & plotoptions
 
GlobalData globalData
 
osg::ref_ptr< VideoStreamvideostream
 
long realtimeoffset
 
long simtimeoffset
 
double truerealtimefactor
 
bool justresettimes
 
bool drawContacts
 
paramint windowWidth
 
paramint windowHeight
 
paramint defaultFPS
 
bool pause
 
bool simulation_time_reached
 
long int simulation_time
 
bool noGraphics
 
bool useKeyHandler
 
int guiloggerinterval
 
int filelogginginterval
 
int matrixvizinterval
 
std::string initConfParams
 parameters for configurables set on commandline More...
 
char odeRobotsCfg [256]
 
int currentCycle
 < filename of config file More...
 
CameraHandle cameraHandle
 
parambool useOdeThread
 
parambool useOsgThread
 
parambool useQMPThreads
 
parambool inTaskedMode
 
std::string windowName
 
SimulationState state
 
osg::ArgumentParser * arguments
 
LPZViewerviewer
 
osgGA::KeySwitchMatrixManipulator * keyswitchManipulator
 
char ** orig_argv
 
std::list< std::string > paletteFiles
 
std::list< std::string > colorAliasFiles
 
bool verboseColorLoading
 
bool startConfigurator
 
pthread_t odeThread
 
pthread_t osgThread
 
bool odeThreadCreated
 
bool osgThreadCreated
 
- Protected Attributes inherited from Base
dGeomID ground
 
OsgHandle osgHandle
 
OdeHandle odeHandle
 
std::string caption
 
std::string title
 
std::string groundTexture
 
osg::Group * dummy
 
osg::Node * hud
 
osgText::Text * timestats
 
osgText::Text * captionline
 
osgText::Text * titleline
 
StatLineProperties statlineprop
 
Primitiveplane
 
HUDStatisticsManagerhUDStatisticsManager
 this manager provides methods for displaying statistics on the graphical window! More...
 
int ReceivesShadowTraversalMask
 
int CastsShadowTraversalMask
 
int shadowTexSize
 
bool useNVidia
 
- Static Protected Attributes inherited from Simulation
static int ctrl_C = 0
 

Constructor & Destructor Documentation

TaskedSimulation ( )
inline
virtual ~TaskedSimulation ( )
inlinevirtual

Member Function Documentation

virtual void addCallback ( GlobalData globalData,
bool  draw,
bool  pause,
bool  control,
SimulationTaskHandle ,
int  taskId 
)
inlinevirtual

optional additional callback function which is called every simulation step.

Called between physical simulation step and drawing.

Parameters
drawindicates that objects are drawn in this timestep
pausealways false (only called of simulation is running)
controlindicates that robots have been controlled this timestep
virtual bool command ( const OdeHandle ,
const OsgHandle ,
GlobalData globalData,
int  key,
bool  down,
SimulationTaskHandle ,
int  taskId 
)
inlinevirtual

is called if a key was pressed.

For keycodes see: osgGA::GUIEventAdapter

Returns
true if the key was handled

Reimplemented in ThisSim.

virtual bool restart ( const OdeHandle ,
const OsgHandle ,
GlobalData globalData,
SimulationTaskHandle ,
int  taskId 
)
inlinevirtual

restart() is called at the second and all following starts of the cylce The end of a cycle is determined by (simulation_time_reached==true)

Parameters
theodeHandle
theosgHandle
globalData
Returns
if the simulation should be restarted; this is false by default

Reimplemented in ThisSim.

void setSimTaskHandle ( SimulationTaskHandle simTaskHandle)
inline

Sets the global SimulationTaskHandle.

This method is called by the associated SimulationTask.

Parameters
simTaskHandle
void setTaskId ( int  taskId)
inline

Sets the taskId of the associated SimulationTask.

This method is called by the associated SimulationTask.

Parameters
taskIdof the associated SimulationTask
void setTaskNameSuffix ( std::string  nameSuffix)
inline
virtual void start ( const OdeHandle ,
const OsgHandle ,
GlobalData globalData,
SimulationTaskHandle simTaskHandle,
int  taskId 
)
inlinevirtual

start() is called at the first start of the cycles and should create all the object (obstacles, agents...).

Reimplemented in ThisSim.


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