27 #include "parametersettable.h"
28 #include "resourcesuser.h"
30 #include "wheeledexperimenthelper.h"
31 #include "baseexception.h"
91 static void describe(QString type);
98 const QVector<PhyObject2DWrapper*>& getObjects()
const
100 return m_objects2DList;
118 real getWidth()
const
120 return m_plane->phyObject()->sideX();
128 real getHeight()
const
130 return m_plane->phyObject()->sideY();
141 void addRobots(QStringList robots);
184 Box2DWrapper* createWall(QColor color, wVector start, wVector end, real thickness, real height = -1.0);
231 Box2DWrapper* createRectangularTargetArea(real width, real depth, QColor color);
256 void prepareToHandleKinematicRobotCollisions();
266 void handleKinematicRobotCollisions();
291 QVector<PhyObject2DWrapper*> getKinematicRobotCollisions(QString robotResourceName)
const;
326 virtual void resourceChanged(QString resourceName, ResourceChangeType changeType);
339 const real m_smallCylinderRadius;
347 const real m_bigCylinderRadius;
352 QVector<PhyObject2DWrapper*> m_objects2DList;
364 QMap<QString, WheeledRobot2DWrapper*> m_robotResourceWrappers;
372 QMap<WheeledRobot2DWrapper*, QVector<PhyObject2DWrapper*> > m_kinematicRobotCollisions;
418 strncpy(m_reason, reason, 256);
419 m_reason[255] =
'\0';
420 sprintf(m_errorMessage,
"Runtime error in the Arena, reason: %s", m_reason);
421 m_errorMessage[511] =
'\0';
432 strncpy(m_reason, other.m_reason, 256);
433 m_reason[255] =
'\0';
434 strncpy(m_errorMessage, other.m_errorMessage, 512);
435 m_errorMessage[511] =
'\0';
445 if (&other ==
this) {
449 BaseException::operator=(other);
450 strncpy(m_reason, other.m_reason, 256);
451 m_reason[255] =
'\0';
452 strncpy(m_errorMessage, other.m_errorMessage, 512);
453 m_errorMessage[511] =
'\0';
470 virtual const char *what()
const throw()
472 return m_errorMessage;
480 const char *reason()
const throw()
500 char m_errorMessage[512];