addressed the comments in https://codereview.appspot.com/11374043/#msg2
authorNicola Baldo <nbaldo@cttc.es>
Mon, 29 Jul 2013 14:07:42 +0200
changeset 10101 9658a01ee462
parent 10100 169a01a864de
child 10102 68ae2fbafb14
addressed the comments in https://codereview.appspot.com/11374043/#msg2
CHANGES.html
RELEASE_NOTES
src/buildings/helper/buildings-helper.h
src/mobility/model/steady-state-random-waypoint-mobility-model.h
--- a/CHANGES.html	Mon Jul 29 13:26:01 2013 +0200
+++ b/CHANGES.html	Mon Jul 29 14:07:42 2013 +0200
@@ -83,6 +83,14 @@
   Existing Ipv6RoutingProtocols should update their RouteInput function
   accordingly. E.g., from ucb (rtentry, p, header); to ucb (idev, rtentry, p, header);
   </li>
+  <li> The previous buildings module relied on a specific MobilityModel called
+    BuildingsMobilityModel, which supported buildings but only allowed
+    static positions. This mobility model has been removed. Now, the
+    Buildings module instead relies on a new class called
+    MobilityBuildingInfo which can be aggregated to any MobilityModel. This
+    allows having moving nodes in presence of buildings with any of
+    the existing MobilityModels. 
+  </li>
 </ul>
 
 <h2>Changes to build system:</h2>
--- a/RELEASE_NOTES	Mon Jul 29 13:26:01 2013 +0200
+++ b/RELEASE_NOTES	Mon Jul 29 14:07:42 2013 +0200
@@ -29,6 +29,9 @@
   section in the Manual.
 - New Mac16Address has been added, Mac64Address is now in-line with 
   Mac48Address and all the three can be used in IPv6 autoconfigure. 
+- Previously, the use of Building models was limited to the use of the
+  companion BuildingsMobilityModel. Now, any MobilityModel can be
+  used with Building models. 
 
 Bugs fixed
 ----------
--- a/src/buildings/helper/buildings-helper.h	Mon Jul 29 13:26:01 2013 +0200
+++ b/src/buildings/helper/buildings-helper.h	Mon Jul 29 14:07:42 2013 +0200
@@ -49,15 +49,18 @@
   */
   static void Install (NodeContainer c);     // for any nodes
   /**
-  * Update the node in the simulation scenario MobilityBuildingInfo according 
-  * to the buildings created
+  * This method goes through the whole NodeList and, for each node in
+  * the list, calls BuildingsHelper::MakeConsistent() passing to it
+  * the MobilityModel of that node. 
   *
   */
   static void MakeMobilityModelConsistent ();
   /**
-  * Update the MobilityBuildingInfo according to the buildings created
+  * Make the given mobility model consistent, by determining whether
+  * its position falls inside any of the building in BuildingList, and
+  * updating accordingly the BuildingInfo aggregated with the MobilityModel.
   *
-  * \param bmm the mobility model of the node to be updated
+  * \param bmm the mobility model to be made consistent
   */
   static void MakeConsistent (Ptr<MobilityModel> bmm);
   
--- a/src/mobility/model/steady-state-random-waypoint-mobility-model.h	Mon Jul 29 13:26:01 2013 +0200
+++ b/src/mobility/model/steady-state-random-waypoint-mobility-model.h	Mon Jul 29 14:07:42 2013 +0200
@@ -36,7 +36,10 @@
  * speed, pause and position are uniformly distributed random variables. 
  * The difference is that the initial values of this parameters are not 
  * from uniform distribution but from stationary distribution of RWM model.
- * The implementation of this model is 2d-specific and with nonzero nodes speeds.
+ * The implementation of this model is 2D-specific and with nonzero nodes speeds.
+ * In the 3D ns-3 coordinate system, the momement occurs on the 
+ * \f$ z=\overline{Z} \f$ plane, where \f$ \overline{Z} \f$ is a constant which
+ * can be configured using the Z attribute. 
  *
  * Based on NS-2 implementation by Toilers Research Group -- Colorado
  *      School of Mines (http://toilers.mines.edu).