The subclass of PhyObject2DWrapper wrapping a wheeled robot. More...

Public Member Functions | |
virtual bool | computeDistanceAndOrientationFromRobot (const WheeledRobot2DWrapper &robot, double &distance, double &angle) const |
Computes the distance and orientation of this object respect to the given robot. | |
virtual void | computeLinearViewFieldOccupiedRange (const wMatrix &cameraMtr, double &minAngle, double &maxAngle, double &distance) const |
Computes the portion of a linear the view field occupied by this object. | |
double | getHeight () const |
Returns the height of the robot. | |
double | getRadius () const |
Returns the radius of the robot. | |
virtual PhyObject * | phyObject () |
Returns a pointer to the wrapped PhyObject. | |
virtual const PhyObject * | phyObject () const |
Returns a pointer to the wrapper PhyObject (const version) | |
const wMatrix & | previousMatrix () const |
Returns the transformation matrix of the previous time-step. | |
RobotOnPlane * | robotOnPlane () |
Returns a pointer to the wrapped object as a RobotOnPlane. | |
const RobotOnPlane * | robotOnPlane () const |
Returns a pointer to the wrapped object as a RobotOnPlane (const version) | |
virtual void | setPosition (real x, real y) |
Sets the position of the object in the plane. | |
void | storePreviousMatrix () |
Stores the current matrix in the previousMatrix. | |
virtual Type | type () const |
Returns the type of this wrapped object. | |
virtual WObject * | wObject () |
Returns a pointer to the wrapped object. | |
virtual const WObject * | wObject () const |
Returns a pointer to the wrapped object (const version) | |
![]() | |
QColor | color () const |
Returns the color to use when rendering this. | |
bool | getStatic () const |
Returns true if the object is static. | |
wVector | position () const |
Returns the position of the object. | |
void | setColor (QColor color) |
Sets the color to use when rendering this. | |
void | setPosition (wVector pos) |
Sets the position of the object in the plane. | |
virtual void | setStatic (bool s) |
Sets whether the object is static or not. | |
void | setTexture (QString textureName) |
Set the texture to use when rendering this. | |
void | setUseColorTextureOfOwner (bool b) |
Sets whether this will be rendered with the color and texture of our owner (if we have one) | |
QString | texture () const |
Returns the name of the texture. | |
bool | useColorTextureOfOwner () const |
Returns whether this will be rendered with the color and texture of the owner (if we have one) | |
Protected Member Functions | |
WheeledRobot2DWrapper (Arena *arena, RobotOnPlane *robot, double height, double radius) | |
Constructor. | |
~WheeledRobot2DWrapper () | |
Destructor. | |
![]() | |
PhyObject2DWrapper (Arena *arena) | |
Constructor. | |
virtual | ~PhyObject2DWrapper () |
Destructor. | |
Friends | |
class | Arena |
The Arena class is friend to be able to instantiate and delete this class. | |
Additional Inherited Members | |
![]() | |
enum | Type { Plane = 0, Wall, Box, RectangularTargetArea, Cylinder, SmallCylinder, BigCylinder, CircularTargetArea, WheeledRobot, NumberOfDifferentTypes } |
The possible type of wrapped objects. More... | |
![]() | |
Arena *const | m_arena |
The pointer to the arena in which this object lives. | |
Detailed Description
The subclass of PhyObject2DWrapper wrapping a wheeled robot.
Definition at line 583 of file wheeledexperimenthelper.h.
Constructor & Destructor Documentation
|
protected |
Constructor.
- Parameters
-
arena the arena in which this object lives robot the robot to wrap height the height of the robot radius the radius of the robot
Definition at line 563 of file wheeledexperimenthelper.cpp.
|
protected |
Destructor.
Definition at line 572 of file wheeledexperimenthelper.cpp.
Member Function Documentation
|
virtual |
Computes the distance and orientation of this object respect to the given robot.
This function computes the distance of this object from the given robot. The distance is computed between the nearest points of the two objects. The robot is always modelled as a vertical cylindrical object. The function returns false if it makes no sense to compute the distance (e.g. if robot is the same as this)
- Parameters
-
robot the robot from which the distance should be computed distance the computed distance angle the computed orientation
- Returns
- false if the distance couldn't be computed
Implements PhyObject2DWrapper.
Definition at line 630 of file wheeledexperimenthelper.cpp.
References Arena::getPlane(), WheeledRobot2DWrapper::getRadius(), PhyObject2DWrapper::m_arena, PhyObject2DWrapper::position(), and WheeledRobot2DWrapper::wObject().
|
virtual |
Computes the portion of a linear the view field occupied by this object.
This function returns the angular range occupied by this object on a linear camera described by the given matrix. The Z axis of the matrix is the upvector, the camera lies on the XY plane and points towars the X axis (i.e. angles start from the X axis). If the object is not visible by the camera, this function returns a negative distance. The min angle can be greater than the max angle if the object is behind the camera. Here we make the assumption that the camera is outside the object (otherwise the algorithm gives wrong results). The matrix representing the camera is translated so that it is on the same plane as the object base before doing computations
- Parameters
-
cameraMtr the matrix describing the camera (see function description) minAngle this is set to the minimum angle of the view field occupied by the object maxAngle this is set to the maximum angle of the view field occupied by the object distance this is set to the distance of the object from the camera. It is negative if the object is not visible by the camera
Implements PhyObject2DWrapper.
Definition at line 621 of file wheeledexperimenthelper.cpp.
References WObject::matrix(), wMatrix::w_pos, WheeledRobot2DWrapper::wObject(), and wVectorT< Shared >::z.
|
inline |
Returns the height of the robot.
- Returns
- the height of the robot
Definition at line 698 of file wheeledexperimenthelper.h.
|
inline |
Returns the radius of the robot.
- Returns
- the radius of the robot
Definition at line 708 of file wheeledexperimenthelper.h.
Referenced by Box2DWrapper::computeDistanceAndOrientationFromRobot(), Cylinder2DWrapper::computeDistanceAndOrientationFromRobot(), and WheeledRobot2DWrapper::computeDistanceAndOrientationFromRobot().
|
virtual |
Returns a pointer to the wrapped PhyObject.
This always returns NULL, as robots are not subclasses of PhyObject
- Returns
- always NULL
Implements PhyObject2DWrapper.
Definition at line 596 of file wheeledexperimenthelper.cpp.
|
virtual |
Returns a pointer to the wrapper PhyObject (const version)
This always returns NULL, as robots are not subclasses of PhyObject
- Returns
- always NULL
Implements PhyObject2DWrapper.
Definition at line 601 of file wheeledexperimenthelper.cpp.
|
inline |
Returns the transformation matrix of the previous time-step.
- Returns
- the transformation matrix of the previous time-step
Definition at line 728 of file wheeledexperimenthelper.h.
Referenced by Arena::handleKinematicRobotCollisions().
RobotOnPlane * robotOnPlane | ( | ) |
Returns a pointer to the wrapped object as a RobotOnPlane.
You should avoid changing the wrapped directly, use the methods of this class, instead
- Returns
- a pointer to the wrapped object
Definition at line 576 of file wheeledexperimenthelper.cpp.
Referenced by Arena::handleKinematicRobotCollisions(), and Arena::prepareToHandleKinematicRobotCollisions().
const RobotOnPlane * robotOnPlane | ( | ) | const |
Returns a pointer to the wrapped object as a RobotOnPlane (const version)
- Returns
- a const pointer to the wrapped object
Definition at line 581 of file wheeledexperimenthelper.cpp.
|
virtual |
Sets the position of the object in the plane.
- Parameters
-
x the new x coordinate y the new y coordinate
Implements PhyObject2DWrapper.
Definition at line 611 of file wheeledexperimenthelper.cpp.
References WObject::matrix(), WObject::setPosition(), wMatrix::w_pos, WheeledRobot2DWrapper::wObject(), and wVectorT< Shared >::x.
|
inline |
Stores the current matrix in the previousMatrix.
Call this to update the value of m_previousMatrix
Definition at line 718 of file wheeledexperimenthelper.h.
References WObject::matrix().
Referenced by Arena::prepareToHandleKinematicRobotCollisions().
|
virtual |
Returns the type of this wrapped object.
- Returns
- the type of this wrapped object
Implements PhyObject2DWrapper.
Definition at line 606 of file wheeledexperimenthelper.cpp.
|
virtual |
Returns a pointer to the wrapped object.
You should avoid changing the wrapped directly, use the methods of this class, instead
- Returns
- a pointer to the wrapped object
Reimplemented from PhyObject2DWrapper.
Definition at line 586 of file wheeledexperimenthelper.cpp.
Referenced by Box2DWrapper::computeDistanceAndOrientationFromRobot(), Cylinder2DWrapper::computeDistanceAndOrientationFromRobot(), WheeledRobot2DWrapper::computeDistanceAndOrientationFromRobot(), WheeledRobot2DWrapper::computeLinearViewFieldOccupiedRange(), Arena::handleKinematicRobotCollisions(), and WheeledRobot2DWrapper::setPosition().
|
virtual |
Returns a pointer to the wrapped object (const version)
- Returns
- a const pointer to the wrapped object
Reimplemented from PhyObject2DWrapper.
Definition at line 591 of file wheeledexperimenthelper.cpp.
Friends And Related Function Documentation
|
friend |
The Arena class is friend to be able to instantiate and delete this class.
Definition at line 777 of file wheeledexperimenthelper.h.
The documentation for this class was generated from the following files:
- experiments/include/wheeledexperimenthelper.h
- experiments/src/wheeledexperimenthelper.cpp