--- a/src/devices/wifi/propagation-loss-model.cc Tue Oct 28 11:26:58 2008 +0100
+++ b/src/devices/wifi/propagation-loss-model.cc Tue Oct 28 13:17:17 2008 +0100
@@ -43,10 +43,26 @@
return tid;
}
+PropagationLossModel::PropagationLossModel ()
+ : m_next (0)
+{}
PropagationLossModel::~PropagationLossModel ()
{}
+double
+PropagationLossModel::GetLoss (Ptr<MobilityModel> a,
+ Ptr<MobilityModel> b) const
+{
+ double self = DoGetLoss (a, b);
+ if (m_next != 0)
+ {
+ self += m_next->GetLoss (a, b);
+ }
+ return self;
+}
+
+
NS_OBJECT_ENSURE_REGISTERED (RandomPropagationLossModel);
TypeId
@@ -69,7 +85,7 @@
{}
double
-RandomPropagationLossModel::GetLoss (Ptr<MobilityModel> a,
+RandomPropagationLossModel::DoGetLoss (Ptr<MobilityModel> a,
Ptr<MobilityModel> b) const
{
double rxc = -m_variable.GetValue ();
@@ -158,7 +174,7 @@
double
-FriisPropagationLossModel::GetLoss (Ptr<MobilityModel> a,
+FriisPropagationLossModel::DoGetLoss (Ptr<MobilityModel> a,
Ptr<MobilityModel> b) const
{
/*
@@ -255,7 +271,7 @@
}
double
-LogDistancePropagationLossModel::GetLoss (Ptr<MobilityModel> a,
+LogDistancePropagationLossModel::DoGetLoss (Ptr<MobilityModel> a,
Ptr<MobilityModel> b) const
{
double distance = a->GetDistanceFrom (b);