add Position class and Get/Set methods on MobilityModel

This commit is contained in:
Mathieu Lacage
2007-07-04 10:24:45 +02:00
parent c416887542
commit 99ec33418a
2 changed files with 36 additions and 0 deletions

View File

@@ -39,6 +39,13 @@ MobilityModel::Get (double &x, double &y, double &z) const
{
DoGet (x,y,z);
}
Position
MobilityModel::Get (void) const
{
Position position;
DoGet (position.x,position.y,position.z);
return position;
}
double
MobilityModel::GetX (void) const
{
@@ -67,6 +74,11 @@ MobilityModel::Set (double x, double y, double z)
DoSet (x, y, z);
}
void
MobilityModel::Set (const Position &position)
{
DoSet (position.x, position.y, position.z);
}
void
MobilityModel::SetXY (double x, double y)
{
double currentX, currentY, currentZ;

View File

@@ -25,6 +25,28 @@
namespace ns3 {
class Vector3D
{
public:
double x;
double y;
double z;
};
class Position : public Vector3D
{};
class Speed : public Vector3D
{};
class Vector2D
{
public:
double x;
double y;
};
class Position2D : public Vector2D
{};
class Speed2D : public Vector2D
{};
/**
* \brief keep track of the current position of an object
*
@@ -49,6 +71,7 @@ public:
* Unit is meters
*/
void Get (double &x, double &y, double &z) const;
Position Get (void) const;
/**
* \returns the current x coordinate
*
@@ -71,6 +94,7 @@ public:
void Add (double dx, double dy, double dz);
void Set (double x, double y, double z);
void Set (const Position &position);
void SetXY (double x, double y);
void SetX (double x);
void SetY (double y);