spectrum: Make it possible to chain propagation loss models
For example, this change makes it possible to chain fading model with frequency-dependent pathloss model.
This commit is contained in:
@@ -438,14 +438,21 @@ void
|
||||
MultiModelSpectrumChannel::AddPropagationLossModel (Ptr<PropagationLossModel> loss)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << loss);
|
||||
NS_ASSERT (m_propagationLoss == 0);
|
||||
if (m_propagationLoss)
|
||||
{
|
||||
loss->SetNext (m_propagationLoss);
|
||||
}
|
||||
m_propagationLoss = loss;
|
||||
}
|
||||
|
||||
void
|
||||
MultiModelSpectrumChannel::AddSpectrumPropagationLossModel (Ptr<SpectrumPropagationLossModel> loss)
|
||||
{
|
||||
NS_ASSERT (m_spectrumPropagationLoss == 0);
|
||||
NS_LOG_FUNCTION (this << loss);
|
||||
if (m_spectrumPropagationLoss)
|
||||
{
|
||||
loss->SetNext (m_spectrumPropagationLoss);
|
||||
}
|
||||
m_spectrumPropagationLoss = loss;
|
||||
}
|
||||
|
||||
|
||||
@@ -239,7 +239,10 @@ void
|
||||
SingleModelSpectrumChannel::AddPropagationLossModel (Ptr<PropagationLossModel> loss)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << loss);
|
||||
NS_ASSERT (m_propagationLoss == 0);
|
||||
if (m_propagationLoss)
|
||||
{
|
||||
loss->SetNext (m_propagationLoss);
|
||||
}
|
||||
m_propagationLoss = loss;
|
||||
}
|
||||
|
||||
@@ -248,7 +251,10 @@ void
|
||||
SingleModelSpectrumChannel::AddSpectrumPropagationLossModel (Ptr<SpectrumPropagationLossModel> loss)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << loss);
|
||||
NS_ASSERT (m_spectrumPropagationLoss == 0);
|
||||
if (m_spectrumPropagationLoss)
|
||||
{
|
||||
loss->SetNext (m_spectrumPropagationLoss);
|
||||
}
|
||||
m_spectrumPropagationLoss = loss;
|
||||
}
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ public:
|
||||
static TypeId GetTypeId (void);
|
||||
|
||||
/**
|
||||
* Set the single-frequency propagation loss model to be used
|
||||
* Add the single-frequency propagation loss model to be used
|
||||
* \warning only models that do not depend on the TX power should be used.
|
||||
*
|
||||
* \param loss a pointer to the propagation loss model to be used.
|
||||
@@ -63,13 +63,13 @@ public:
|
||||
virtual void AddPropagationLossModel (Ptr<PropagationLossModel> loss) = 0;
|
||||
|
||||
/**
|
||||
* Set the frequency-dependent propagation loss model to be used
|
||||
* Add the frequency-dependent propagation loss model to be used
|
||||
* \param loss a pointer to the propagation loss model to be used.
|
||||
*/
|
||||
virtual void AddSpectrumPropagationLossModel (Ptr<SpectrumPropagationLossModel> loss) = 0;
|
||||
|
||||
/**
|
||||
* Set the propagation delay model to be used
|
||||
* Set the propagation delay model to be used
|
||||
* \param delay Ptr to the propagation delay model to be used.
|
||||
*/
|
||||
virtual void SetPropagationDelayModel (Ptr<PropagationDelayModel> delay) = 0;
|
||||
|
||||
Reference in New Issue
Block a user