INET Framework for OMNeT++/OMNEST
|
Class for storing host positions. More...
#include <Coord.h>
Public Member Functions | |
Coord (double _x=0, double _y=0) | |
Coord (const Coord &pos) | |
Coord (const Coord *pos) | |
std::string | info () const |
const Coord & | operator+= (const Coord &a) |
const Coord & | operator= (const Coord &a) |
const Coord & | operator-= (const Coord &a) |
double | distance (const Coord &a) const |
double | sqrdist (const Coord &a) const |
Public Attributes | |
double | x |
x and y coordinates of the position | |
double | y |
Friends | |
Coord | operator+ (const Coord &a, const Coord &b) |
Coord | operator- (const Coord &a, const Coord &b) |
Coord | operator* (const Coord &a, double f) |
Coord | operator/ (const Coord &a, double f) |
bool | operator== (const Coord &a, const Coord &b) |
bool | operator!= (const Coord &a, const Coord &b) |
Class for storing host positions.
Class for a double-tuple storing a position / two-dimensional vector. Some comparison and basic arithmetic operators on Coord structures are implemented.
double Coord::distance | ( | const Coord & | a | ) | const [inline] |
Returns the distance to const Coord& a
Referenced by SnrEval::changeChannel(), AbstractRadio::changeChannel(), TurtleMobility::executeStatement(), SnrEval::handleLowerMsgStart(), GilbertElliotSnr::handleLowerMsgStart(), AbstractRadio::handleLowerMsgStart(), ChannelControl::sendToChannel(), RandomWPMobility::setTargetPosition(), and ConstSpeedMobility::setTargetPosition().
{ return sqrt(sqrdist(a)); }
std::string Coord::info | ( | ) | const [inline] |
double Coord::sqrdist | ( | const Coord & | a | ) | const [inline] |
Tests whether two coordinate vectors are not equal. Negation of the operator==.
{
return !(a==b);
}
Tests whether two coordinate vectors are equal. Because coordinates are of type double, this is done through the FWMath::close function.
{ return FWMath::close(a.x,b.x) && FWMath::close(a.y,b.y); }
double Coord::x |
x and y coordinates of the position
Referenced by LineSegmentsMobilityBase::beginNextMove(), RectangleMobility::calculateXY(), Coord(), TurtleMobility::executeStatement(), ANSimMobility::extractDataFrom(), BasicMobility::getRandomPosition(), MassMobility::handleSelfMsg(), MassMobility::initialize(), CircleMobility::initialize(), ChannelControl::initialize(), BonnMotionMobility::initialize(), BasicMobility::initialize(), RectangleMobility::move(), MassMobility::move(), LinearMobility::move(), ConstSpeedMobility::move(), CircleMobility::move(), operator+=(), operator-=(), operator<<(), operator=(), BasicMobility::placeRandomlyIfOutside(), BasicMobility::raiseErrorIfOutside(), BasicMobility::reflectIfOutside(), ConstSpeedMobility::setTargetPosition(), BonnMotionMobility::setTargetPosition(), sqrdist(), ChannelControl::updateDisplayString(), BasicMobility::updatePosition(), and BasicMobility::wrapIfOutside().
double Coord::y |
Referenced by LineSegmentsMobilityBase::beginNextMove(), RectangleMobility::calculateXY(), Coord(), TurtleMobility::executeStatement(), ANSimMobility::extractDataFrom(), BasicMobility::getRandomPosition(), MassMobility::handleSelfMsg(), MassMobility::initialize(), CircleMobility::initialize(), ChannelControl::initialize(), BonnMotionMobility::initialize(), BasicMobility::initialize(), RectangleMobility::move(), MassMobility::move(), LinearMobility::move(), ConstSpeedMobility::move(), CircleMobility::move(), operator+=(), operator-=(), operator<<(), operator=(), BasicMobility::placeRandomlyIfOutside(), BasicMobility::raiseErrorIfOutside(), BasicMobility::reflectIfOutside(), ConstSpeedMobility::setTargetPosition(), BonnMotionMobility::setTargetPosition(), sqrdist(), ChannelControl::updateDisplayString(), BasicMobility::updatePosition(), and BasicMobility::wrapIfOutside().