add Position class and Get/Set methods on MobilityModel
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user