From dbc19eb9f0de1078e66eeea59b6c3470d40d8129 Mon Sep 17 00:00:00 2001
From: Nicola Baldo
Date: Mon, 29 Jul 2013 14:07:42 +0200
Subject: [PATCH] addressed the comments in
https://codereview.appspot.com/11374043/#msg2
---
CHANGES.html | 8 ++++++++
RELEASE_NOTES | 3 +++
src/buildings/helper/buildings-helper.h | 11 +++++++----
.../steady-state-random-waypoint-mobility-model.h | 5 ++++-
4 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/CHANGES.html b/CHANGES.html
index 52c277225..a5ca49fa9 100644
--- a/CHANGES.html
+++ b/CHANGES.html
@@ -83,6 +83,14 @@ us a note on ns-developers mailing list.
Existing Ipv6RoutingProtocols should update their RouteInput function
accordingly. E.g., from ucb (rtentry, p, header); to ucb (idev, rtentry, p, header);
+ 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.
+
Changes to build system:
diff --git a/RELEASE_NOTES b/RELEASE_NOTES
index 6477b82e2..06a0940e3 100644
--- a/RELEASE_NOTES
+++ b/RELEASE_NOTES
@@ -29,6 +29,9 @@ New user-visible features
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
----------
diff --git a/src/buildings/helper/buildings-helper.h b/src/buildings/helper/buildings-helper.h
index 180ab09d1..32cb7cc06 100644
--- a/src/buildings/helper/buildings-helper.h
+++ b/src/buildings/helper/buildings-helper.h
@@ -49,15 +49,18 @@ public:
*/
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 bmm);
diff --git a/src/mobility/model/steady-state-random-waypoint-mobility-model.h b/src/mobility/model/steady-state-random-waypoint-mobility-model.h
index d5f1be501..8c34212ba 100644
--- a/src/mobility/model/steady-state-random-waypoint-mobility-model.h
+++ b/src/mobility/model/steady-state-random-waypoint-mobility-model.h
@@ -36,7 +36,10 @@ namespace ns3 {
* 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).