From 69e680f980cbceef4644a68161de605b4b3ce72c Mon Sep 17 00:00:00 2001 From: Gabriel Ferreira Date: Fri, 18 Jul 2025 12:30:53 +0200 Subject: [PATCH] propagation: Remove ThreeGppPropagationLossModel prologue function --- .../model/three-gpp-propagation-loss-model.cc | 13 +--------- .../model/three-gpp-propagation-loss-model.h | 24 ------------------- 2 files changed, 1 insertion(+), 36 deletions(-) diff --git a/src/propagation/model/three-gpp-propagation-loss-model.cc b/src/propagation/model/three-gpp-propagation-loss-model.cc index fc6243906..2ed836356 100644 --- a/src/propagation/model/three-gpp-propagation-loss-model.cc +++ b/src/propagation/model/three-gpp-propagation-loss-model.cc @@ -263,9 +263,6 @@ NS_LOG_COMPONENT_DEFINE("ThreeGppPropagationLossModel"); NS_OBJECT_ENSURE_REGISTERED(ThreeGppPropagationLossModel); -std::function(Ptr, Ptr)> - ThreeGppPropagationLossModel::m_doCalcRxPowerPrologueFunction; - TypeId ThreeGppPropagationLossModel::GetTypeId() { @@ -378,19 +375,11 @@ ThreeGppPropagationLossModel::IsO2iLowPenetrationLoss(Ptr c, + Ptr a, Ptr b) const { NS_LOG_FUNCTION(this); - // if there is a prologue function installed, call it and replace the transmitter mobility model - auto a = m_doCalcRxPowerPrologueFunction ? m_doCalcRxPowerPrologueFunction(b, c) : c; - if (a->GetPosition() != c->GetPosition()) - { - NS_LOG_DEBUG("Prologue function replaced source position " - << c->GetPosition() << " with position " << a->GetPosition()); - } - // check if the model is initialized NS_ASSERT_MSG(m_frequency != 0.0, "First set the centre frequency"); diff --git a/src/propagation/model/three-gpp-propagation-loss-model.h b/src/propagation/model/three-gpp-propagation-loss-model.h index 0b16f7d3c..3a19cf46a 100644 --- a/src/propagation/model/three-gpp-propagation-loss-model.h +++ b/src/propagation/model/three-gpp-propagation-loss-model.h @@ -75,26 +75,6 @@ class ThreeGppPropagationLossModel : public PropagationLossModel */ bool IsO2iLowPenetrationLoss(Ptr cond) const; - /** - * @brief Stop-gap solution for wraparound model - * - * Stop-gap solution for support of wraparound model in the 5G NR module. This - * method was introduced for ns-3.45 but will be removed in a future release once - * a more general solution is added elsewhere (most likely in the spectrum channel). The - * callback method registered here will be executed at the beginning of DoCalcRxPower, and the - * returned pointer to a mobility model will be subsequently used as the (replacement) source - * mobility model for the rest of DoCalcRxPower() processing. - * - * @param prologueFunction Function that receives two mobility models and compute a third, based - * on the wrapped position of the second model in respect to the first - */ - static void InstallDoCalcRxPowerPrologueFunction( - std::function(Ptr, Ptr)> - prologueFunction) - { - m_doCalcRxPowerPrologueFunction = prologueFunction; - } - private: /** * Computes the received power by applying the pathloss model described in @@ -320,10 +300,6 @@ class ThreeGppPropagationLossModel : public PropagationLossModel Ptr m_normalO2iHighLossVar; //!< a normal random variable for the calculation of 02i high loss, //!< see TR38.901 Table 7.4.3-2 - - /// Optional prologue function that can be used to implement wraparound models - static std::function(Ptr, Ptr)> - m_doCalcRxPowerPrologueFunction; }; /**