StaticMobilityModel -> ConstantPositionMobilityModel, StaticSpeedMobilityModel -> ConstantVelocityMobilityModel
This commit is contained in:
@@ -120,7 +120,7 @@ main (int argc, char *argv[])
|
||||
"Bounds", RectangleValue (Rectangle (-50, 50, -50, 50)));
|
||||
mobility.Install (wifiStaNodes);
|
||||
|
||||
mobility.SetMobilityModel ("ns3::StaticMobilityModel");
|
||||
mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
|
||||
mobility.Install (wifiApNode);
|
||||
|
||||
InternetStackHelper stack;
|
||||
|
||||
@@ -128,7 +128,7 @@ Experiment::Run (const WifiHelper &wifi, const YansWifiPhyHelper &wifiPhy, const
|
||||
positionAlloc->Add (Vector (0.0, 0.0, 0.0));
|
||||
positionAlloc->Add (Vector (5.0, 0.0, 0.0));
|
||||
mobility.SetPositionAllocator (positionAlloc);
|
||||
mobility.SetMobilityModel ("ns3::StaticMobilityModel");
|
||||
mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
|
||||
|
||||
mobility.Install (c);
|
||||
|
||||
|
||||
@@ -119,7 +119,7 @@ int main (int argc, char *argv[])
|
||||
|
||||
|
||||
// setup the AP.
|
||||
mobility.SetMobilityModel ("ns3::StaticMobilityModel");
|
||||
mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
|
||||
mobility.Install (backboneNodes.Get (i));
|
||||
wifi.SetMac ("ns3::NqapWifiMac",
|
||||
"Ssid", SsidValue (ssid),
|
||||
|
||||
@@ -32,7 +32,7 @@ int main (int argc, char *argv[])
|
||||
// each object will be attached a static position.
|
||||
// i.e., once set by the "position allocator", the
|
||||
// position will never change.
|
||||
mobility.SetMobilityModel ("ns3::StaticMobilityModel");
|
||||
mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
|
||||
|
||||
// finalize the setup by attaching to each object
|
||||
// in the input array a position and initializing
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
* Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
|
||||
*/
|
||||
#include "ns3/propagation-loss-model.h"
|
||||
#include "ns3/static-mobility-model.h"
|
||||
#include "ns3/constant-position-mobility-model.h"
|
||||
#include "ns3/config.h"
|
||||
#include "ns3/string.h"
|
||||
|
||||
@@ -27,8 +27,8 @@ using namespace ns3;
|
||||
static void
|
||||
PrintOne (double minTxpower, double maxTxpower, double stepTxpower, double min, double max, double step)
|
||||
{
|
||||
Ptr<StaticMobilityModel> a = CreateObject<StaticMobilityModel> ();
|
||||
Ptr<StaticMobilityModel> b = CreateObject<StaticMobilityModel> ();
|
||||
Ptr<ConstantPositionMobilityModel> a = CreateObject<ConstantPositionMobilityModel> ();
|
||||
Ptr<ConstantPositionMobilityModel> b = CreateObject<ConstantPositionMobilityModel> ();
|
||||
Ptr<LogDistancePropagationLossModel> log = CreateObject<LogDistancePropagationLossModel> ();
|
||||
|
||||
Ptr<PropagationLossModel> model = log;
|
||||
|
||||
@@ -29,7 +29,7 @@ int main (int argc, char *argv[])
|
||||
"X", StringValue ("100.0"),
|
||||
"Y", StringValue ("100.0"),
|
||||
"Rho", StringValue ("Uniform:0:30"));
|
||||
mobility.SetMobilityModel ("ns3::StaticMobilityModel");
|
||||
mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
|
||||
mobility.Install (c);
|
||||
|
||||
Config::Connect ("/NodeList/*/$ns3::MobilityModelNotifier/CourseChange",
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
#include "propagation-loss-model.h"
|
||||
#include "ns3/log.h"
|
||||
#include "ns3/mobility-model.h"
|
||||
#include "ns3/static-mobility-model.h"
|
||||
#include "ns3/boolean.h"
|
||||
#include "ns3/double.h"
|
||||
#include <math.h>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "yans-error-rate-model.h"
|
||||
#include "ns3/ptr.h"
|
||||
#include "ns3/mobility-model.h"
|
||||
#include "ns3/static-mobility-model.h"
|
||||
#include "ns3/constant-position-mobility-model.h"
|
||||
#include "ns3/vector.h"
|
||||
#include "ns3/packet.h"
|
||||
#include "ns3/simulator.h"
|
||||
@@ -75,9 +75,9 @@ PsrExperiment::Run (struct PsrExperiment::Input input)
|
||||
m_output.received = 0;
|
||||
m_input = input;
|
||||
|
||||
Ptr<MobilityModel> posTx = CreateObject<StaticMobilityModel> ();
|
||||
Ptr<MobilityModel> posTx = CreateObject<ConstantPositionMobilityModel> ();
|
||||
posTx->SetPosition (Vector (0.0, 0.0, 0.0));
|
||||
Ptr<MobilityModel> posRx = CreateObject<StaticMobilityModel> ();
|
||||
Ptr<MobilityModel> posRx = CreateObject<ConstantPositionMobilityModel> ();
|
||||
posRx->SetPosition (Vector (m_input.distance, 0.0, 0.0));
|
||||
|
||||
Ptr<YansWifiChannel> channel = CreateObject<YansWifiChannel> ();
|
||||
@@ -207,11 +207,11 @@ CollisionExperiment::Run (struct CollisionExperiment::Input input)
|
||||
Ptr<LogDistancePropagationLossModel> log = CreateObject<LogDistancePropagationLossModel> ();
|
||||
channel->SetPropagationLossModel (log);
|
||||
|
||||
Ptr<MobilityModel> posTxA = CreateObject<StaticMobilityModel> ();
|
||||
Ptr<MobilityModel> posTxA = CreateObject<ConstantPositionMobilityModel> ();
|
||||
posTxA->SetPosition (Vector (input.xA, 0.0, 0.0));
|
||||
Ptr<MobilityModel> posTxB = CreateObject<StaticMobilityModel> ();
|
||||
Ptr<MobilityModel> posTxB = CreateObject<ConstantPositionMobilityModel> ();
|
||||
posTxB->SetPosition (Vector (input.xB, 0.0, 0.0));
|
||||
Ptr<MobilityModel> posRx = CreateObject<StaticMobilityModel> ();
|
||||
Ptr<MobilityModel> posRx = CreateObject<ConstantPositionMobilityModel> ();
|
||||
posRx->SetPosition (Vector (0, 0.0, 0.0));
|
||||
|
||||
Ptr<YansWifiPhy> txA = CreateObject<YansWifiPhy> ();
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#include "propagation-loss-model.h"
|
||||
#include "error-rate-model.h"
|
||||
#include "yans-error-rate-model.h"
|
||||
#include "ns3/static-mobility-model.h"
|
||||
#include "ns3/constant-position-mobility-model.h"
|
||||
#include "ns3/node.h"
|
||||
#include "ns3/simulator.h"
|
||||
#include "ns3/test.h"
|
||||
@@ -51,7 +51,7 @@ WifiTest::CreateOne (Vector pos, Ptr<YansWifiChannel> channel)
|
||||
Ptr<WifiNetDevice> dev = CreateObject<WifiNetDevice> ();
|
||||
|
||||
Ptr<WifiMac> mac = m_mac.Create<WifiMac> ();
|
||||
Ptr<StaticMobilityModel> mobility = CreateObject<StaticMobilityModel> ();
|
||||
Ptr<ConstantPositionMobilityModel> mobility = CreateObject<ConstantPositionMobilityModel> ();
|
||||
Ptr<YansWifiPhy> phy = CreateObject<YansWifiPhy> ();
|
||||
Ptr<ErrorRateModel> error = CreateObject<YansErrorRateModel> ();
|
||||
phy->SetErrorRateModel (error);
|
||||
|
||||
@@ -37,7 +37,7 @@ MobilityHelper::MobilityHelper ()
|
||||
m_position = CreateObject<RandomRectanglePositionAllocator>
|
||||
("X", RandomVariableValue (ConstantVariable (0.0)),
|
||||
"Y", RandomVariableValue (ConstantVariable (0.0)));
|
||||
m_mobility.SetTypeId ("ns3::StaticMobilityModel");
|
||||
m_mobility.SetTypeId ("ns3::ConstantPositionMobilityModel");
|
||||
}
|
||||
MobilityHelper::~MobilityHelper ()
|
||||
{}
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#include "ns3/simulator.h"
|
||||
#include "ns3/node-list.h"
|
||||
#include "ns3/node.h"
|
||||
#include "ns3/static-speed-mobility-model.h"
|
||||
#include "ns3/constant-velocity-mobility-model.h"
|
||||
#include "ns2-mobility-helper.h"
|
||||
|
||||
NS_LOG_COMPONENT_DEFINE ("Ns2MobilityHelper");
|
||||
@@ -37,7 +37,7 @@ Ns2MobilityHelper::Ns2MobilityHelper (std::string filename)
|
||||
|
||||
|
||||
|
||||
Ptr<StaticSpeedMobilityModel>
|
||||
Ptr<ConstantVelocityMobilityModel>
|
||||
Ns2MobilityHelper::GetMobilityModel (std::string idString, const ObjectStore &store) const
|
||||
{
|
||||
std::istringstream iss;
|
||||
@@ -49,10 +49,10 @@ Ns2MobilityHelper::GetMobilityModel (std::string idString, const ObjectStore &st
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
Ptr<StaticSpeedMobilityModel> model = object->GetObject<StaticSpeedMobilityModel> ();
|
||||
Ptr<ConstantVelocityMobilityModel> model = object->GetObject<ConstantVelocityMobilityModel> ();
|
||||
if (model == 0)
|
||||
{
|
||||
model = CreateObject<StaticSpeedMobilityModel> ();
|
||||
model = CreateObject<ConstantVelocityMobilityModel> ();
|
||||
object->AggregateObject (model);
|
||||
}
|
||||
return model;
|
||||
@@ -85,7 +85,7 @@ Ns2MobilityHelper::LayoutObjectStore (const ObjectStore &store) const
|
||||
{
|
||||
continue;
|
||||
}
|
||||
Ptr<StaticSpeedMobilityModel> model = GetMobilityModel (line.substr (startNodeId + 1,
|
||||
Ptr<ConstantVelocityMobilityModel> model = GetMobilityModel (line.substr (startNodeId + 1,
|
||||
endNodeId - startNodeId),
|
||||
store);
|
||||
if (model == 0)
|
||||
@@ -130,7 +130,7 @@ Ns2MobilityHelper::LayoutObjectStore (const ObjectStore &store) const
|
||||
double ySpeed = ReadDouble (line.substr (xSpeedEnd + 1, ySpeedEnd - xSpeedEnd - 1));
|
||||
double zSpeed = ReadDouble (line.substr (ySpeedEnd + 1, std::string::npos));
|
||||
NS_LOG_DEBUG ("at=" << at << "xSpeed=" << xSpeed << ", ySpeed=" << ySpeed << ", zSpeed=" << zSpeed);
|
||||
Simulator::Schedule (Seconds (at), &StaticSpeedMobilityModel::SetVelocity, model,
|
||||
Simulator::Schedule (Seconds (at), &ConstantVelocityMobilityModel::SetVelocity, model,
|
||||
Vector (xSpeed, ySpeed, zSpeed));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
namespace ns3 {
|
||||
|
||||
class StaticSpeedMobilityModel;
|
||||
class ConstantVelocityMobilityModel;
|
||||
|
||||
/**
|
||||
* \brief a topology object which can read ns2's movement files
|
||||
@@ -71,7 +71,7 @@ private:
|
||||
virtual Ptr<Object> Get (uint32_t i) const = 0;
|
||||
};
|
||||
void LayoutObjectStore (const ObjectStore &store) const;
|
||||
Ptr<StaticSpeedMobilityModel> GetMobilityModel (std::string idString, const ObjectStore &store) const;
|
||||
Ptr<ConstantVelocityMobilityModel> GetMobilityModel (std::string idString, const ObjectStore &store) const;
|
||||
double ReadDouble (std::string valueString) const;
|
||||
std::string m_filename;
|
||||
};
|
||||
|
||||
@@ -17,40 +17,40 @@
|
||||
*
|
||||
* Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
|
||||
*/
|
||||
#include "static-mobility-model.h"
|
||||
#include "constant-position-mobility-model.h"
|
||||
|
||||
namespace ns3 {
|
||||
|
||||
NS_OBJECT_ENSURE_REGISTERED (StaticMobilityModel);
|
||||
NS_OBJECT_ENSURE_REGISTERED (ConstantPositionMobilityModel);
|
||||
|
||||
TypeId
|
||||
StaticMobilityModel::GetTypeId (void)
|
||||
ConstantPositionMobilityModel::GetTypeId (void)
|
||||
{
|
||||
static TypeId tid = TypeId ("ns3::StaticMobilityModel")
|
||||
static TypeId tid = TypeId ("ns3::ConstantPositionMobilityModel")
|
||||
.SetParent<MobilityModel> ()
|
||||
.AddConstructor<StaticMobilityModel> ()
|
||||
.AddConstructor<ConstantPositionMobilityModel> ()
|
||||
;
|
||||
return tid;
|
||||
}
|
||||
|
||||
StaticMobilityModel::StaticMobilityModel ()
|
||||
ConstantPositionMobilityModel::ConstantPositionMobilityModel ()
|
||||
{}
|
||||
StaticMobilityModel::~StaticMobilityModel ()
|
||||
ConstantPositionMobilityModel::~ConstantPositionMobilityModel ()
|
||||
{}
|
||||
|
||||
Vector
|
||||
StaticMobilityModel::DoGetPosition (void) const
|
||||
ConstantPositionMobilityModel::DoGetPosition (void) const
|
||||
{
|
||||
return m_position;
|
||||
}
|
||||
void
|
||||
StaticMobilityModel::DoSetPosition (const Vector &position)
|
||||
ConstantPositionMobilityModel::DoSetPosition (const Vector &position)
|
||||
{
|
||||
m_position = position;
|
||||
NotifyCourseChange ();
|
||||
}
|
||||
Vector
|
||||
StaticMobilityModel::DoGetVelocity (void) const
|
||||
ConstantPositionMobilityModel::DoGetVelocity (void) const
|
||||
{
|
||||
return Vector (0.0, 0.0, 0.0);
|
||||
}
|
||||
@@ -30,15 +30,15 @@ namespace ns3 {
|
||||
* change once it has been set and until it is set again
|
||||
* explicitely to a new value.
|
||||
*/
|
||||
class StaticMobilityModel : public MobilityModel
|
||||
class ConstantPositionMobilityModel : public MobilityModel
|
||||
{
|
||||
public:
|
||||
static TypeId GetTypeId (void);
|
||||
/**
|
||||
* Create a position located at coordinates (0,0,0)
|
||||
*/
|
||||
StaticMobilityModel ();
|
||||
virtual ~StaticMobilityModel ();
|
||||
ConstantPositionMobilityModel ();
|
||||
virtual ~ConstantPositionMobilityModel ();
|
||||
|
||||
private:
|
||||
virtual Vector DoGetPosition (void) const;
|
||||
@@ -17,29 +17,29 @@
|
||||
*
|
||||
* Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
|
||||
*/
|
||||
#include "static-speed-mobility-model.h"
|
||||
#include "constant-velocity-mobility-model.h"
|
||||
#include "ns3/simulator.h"
|
||||
|
||||
namespace ns3 {
|
||||
|
||||
NS_OBJECT_ENSURE_REGISTERED (StaticSpeedMobilityModel);
|
||||
NS_OBJECT_ENSURE_REGISTERED (ConstantVelocityMobilityModel);
|
||||
|
||||
TypeId StaticSpeedMobilityModel::GetTypeId (void)
|
||||
TypeId ConstantVelocityMobilityModel::GetTypeId (void)
|
||||
{
|
||||
static TypeId tid = TypeId ("ns3::StaticSpeedMobilityModel")
|
||||
static TypeId tid = TypeId ("ns3::ConstantVelocityMobilityModel")
|
||||
.SetParent<MobilityModel> ()
|
||||
.AddConstructor<StaticSpeedMobilityModel> ();
|
||||
.AddConstructor<ConstantVelocityMobilityModel> ();
|
||||
return tid;
|
||||
}
|
||||
|
||||
StaticSpeedMobilityModel::StaticSpeedMobilityModel ()
|
||||
ConstantVelocityMobilityModel::ConstantVelocityMobilityModel ()
|
||||
{}
|
||||
|
||||
StaticSpeedMobilityModel::~StaticSpeedMobilityModel ()
|
||||
ConstantVelocityMobilityModel::~ConstantVelocityMobilityModel ()
|
||||
{}
|
||||
|
||||
void
|
||||
StaticSpeedMobilityModel::SetVelocity (const Vector &speed)
|
||||
ConstantVelocityMobilityModel::SetVelocity (const Vector &speed)
|
||||
{
|
||||
m_helper.Update ();
|
||||
m_helper.SetVelocity (speed);
|
||||
@@ -49,19 +49,19 @@ StaticSpeedMobilityModel::SetVelocity (const Vector &speed)
|
||||
|
||||
|
||||
Vector
|
||||
StaticSpeedMobilityModel::DoGetPosition (void) const
|
||||
ConstantVelocityMobilityModel::DoGetPosition (void) const
|
||||
{
|
||||
m_helper.Update ();
|
||||
return m_helper.GetCurrentPosition ();
|
||||
}
|
||||
void
|
||||
StaticSpeedMobilityModel::DoSetPosition (const Vector &position)
|
||||
ConstantVelocityMobilityModel::DoSetPosition (const Vector &position)
|
||||
{
|
||||
m_helper.SetPosition (position);
|
||||
NotifyCourseChange ();
|
||||
}
|
||||
Vector
|
||||
StaticSpeedMobilityModel::DoGetVelocity (void) const
|
||||
ConstantVelocityMobilityModel::DoGetVelocity (void) const
|
||||
{
|
||||
return m_helper.GetVelocity ();
|
||||
}
|
||||
@@ -32,7 +32,7 @@ namespace ns3 {
|
||||
* change once it has been set and until it is set again
|
||||
* explicitely to a new value.
|
||||
*/
|
||||
class StaticSpeedMobilityModel : public MobilityModel
|
||||
class ConstantVelocityMobilityModel : public MobilityModel
|
||||
{
|
||||
public:
|
||||
static TypeId GetTypeId (void);
|
||||
@@ -40,8 +40,8 @@ public:
|
||||
* Create position located at coordinates (0,0,0) with
|
||||
* speed (0,0,0).
|
||||
*/
|
||||
StaticSpeedMobilityModel ();
|
||||
virtual ~StaticSpeedMobilityModel ();
|
||||
ConstantVelocityMobilityModel ();
|
||||
virtual ~ConstantVelocityMobilityModel ();
|
||||
|
||||
/**
|
||||
* \param speed the new speed to set.
|
||||
@@ -9,10 +9,10 @@
|
||||
* listeners to the course changes of a mobility model
|
||||
*
|
||||
* The mobility models themselves are:
|
||||
* - ns3::StaticMobilityModel: a model which maintains a constant position
|
||||
* - ns3::ConstantPositionMobilityModel: a model which maintains a constant position
|
||||
* until it is changed by the user.
|
||||
*
|
||||
* - ns3::StaticSpeedMobilityModel: a model which maintains a constant speed
|
||||
* - ns3::ConstantVelocityMobilityModel: a model which maintains a constant speed
|
||||
* until it is changed by the user.
|
||||
*
|
||||
* - ns3::HierarchicalMobilityModel: a model which calculates the current
|
||||
|
||||
@@ -8,9 +8,9 @@ def build(bld):
|
||||
'mobility-model.cc',
|
||||
'position-allocator.cc',
|
||||
'rectangle.cc',
|
||||
'static-mobility-model.cc',
|
||||
'constant-position-mobility-model.cc',
|
||||
'static-speed-helper.cc',
|
||||
'static-speed-mobility-model.cc',
|
||||
'constant-velocity-mobility-model.cc',
|
||||
'random-waypoint-mobility-model.cc',
|
||||
'random-walk-2d-mobility-model.cc',
|
||||
'random-direction-2d-mobility-model.cc',
|
||||
@@ -24,9 +24,9 @@ def build(bld):
|
||||
'mobility-model.h',
|
||||
'position-allocator.h',
|
||||
'rectangle.h',
|
||||
'static-mobility-model.h',
|
||||
'constant-position-mobility-model.h',
|
||||
'static-speed-helper.h',
|
||||
'static-speed-mobility-model.h',
|
||||
'constant-velocity-mobility-model.h',
|
||||
'random-waypoint-mobility-model.h',
|
||||
'random-walk-2d-mobility-model.h',
|
||||
'random-direction-2d-mobility-model.h',
|
||||
|
||||
Reference in New Issue
Block a user