Bug 2166 - SteadyStateRandomWaypointMobilityModel directs the node to the ground
authorTommaso Pecorella <tommaso.pecorella@unifi.it>
Sat, 22 Aug 2015 17:06:25 +0200
changeset 11612 47c1048095f0
parent 11611 0cd891a4d1e0
child 11613 00cc39674b45
Bug 2166 - SteadyStateRandomWaypointMobilityModel directs the node to the ground
RELEASE_NOTES
src/mobility/model/steady-state-random-waypoint-mobility-model.cc
src/mobility/model/steady-state-random-waypoint-mobility-model.h
--- a/RELEASE_NOTES	Sat Aug 22 16:27:17 2015 +0200
+++ b/RELEASE_NOTES	Sat Aug 22 17:06:25 2015 +0200
@@ -34,7 +34,7 @@
 - Bug 1982 - AODV and mesh modules use random variables before seeds can be set
 - Bug 2058 - TCP window update can shrink left edge of window
 - Bug 2063 - FdNetDevice::SendFrom assert does not account for headers correctly
-- Bug 2082:  Empirical RV fails if value provided in CDF function is negative
+- Bug 2082 - Empirical RV fails if value provided in CDF function is negative
 - Bug 2093 - MultiModelSpectrumChannel::GetDevice only works for 0-th index
 - Bug 2096 - Wrong pcap information when MPDU aggregation is used
 - Bug 2108 - Erroneous implementation in InterferenceHelper
@@ -52,6 +52,7 @@
 - Bug 2153 - Incorrect power limits in wifi power control algorithms
 - Bug 2154 - Incorrect power calculation in wifi power adaptation examples
 - Bug 2156 - Duplicate packets when using two level aggregation
+- Bug 2166 - SteadyStateRandomWaypointMobilityModel directs the node to the ground
 
 Known issues
 ------------
--- a/src/mobility/model/steady-state-random-waypoint-mobility-model.cc	Sat Aug 22 16:27:17 2015 +0200
+++ b/src/mobility/model/steady-state-random-waypoint-mobility-model.cc	Sat Aug 22 17:06:25 2015 +0200
@@ -115,13 +115,17 @@
   m_speed->SetAttribute ("Max", DoubleValue (m_maxSpeed));
   NS_ASSERT (m_minX < m_maxX);
   NS_ASSERT (m_minY < m_maxY);
-  m_position = CreateObject<RandomRectanglePositionAllocator> ();
+  m_position = CreateObject<RandomBoxPositionAllocator> ();
   m_x->SetAttribute ("Min", DoubleValue (m_minX));
   m_x->SetAttribute ("Max", DoubleValue (m_maxX));
   m_y->SetAttribute ("Min", DoubleValue (m_minY));
   m_y->SetAttribute ("Max", DoubleValue (m_maxY));
   m_position->SetX (m_x);
   m_position->SetY (m_y);
+  Ptr<ConstantRandomVariable> z = CreateObject<ConstantRandomVariable> ();
+  z->SetAttribute ("Constant", DoubleValue (m_z));
+  m_position->SetZ (z);
+
   NS_ASSERT (m_minPause <= m_maxPause);
   m_pause->SetAttribute ("Min", DoubleValue (m_minPause));
   m_pause->SetAttribute ("Max", DoubleValue (m_maxPause));
--- a/src/mobility/model/steady-state-random-waypoint-mobility-model.h	Sat Aug 22 16:27:17 2015 +0200
+++ b/src/mobility/model/steady-state-random-waypoint-mobility-model.h	Sat Aug 22 17:06:25 2015 +0200
@@ -98,7 +98,7 @@
   double m_minY; //!< minimum y value of traveling region (m)
   double m_maxY; //!< maximum y value of traveling region (m)
   double m_z; //!< z value of traveling region
-  Ptr<RandomRectanglePositionAllocator> m_position; //!< position allocator
+  Ptr<RandomBoxPositionAllocator> m_position; //!< position allocator
   double m_minPause; //!< minimum pause value (s)
   double m_maxPause; //!< maximum pause value (s)
   Ptr<UniformRandomVariable> m_pause; //!< random variable for pause values