INET Framework for OMNeT++/OMNEST
inet::visualizer::RadioVisualizerBase Class Referenceabstract

#include <RadioVisualizerBase.h>

Inheritance diagram for inet::visualizer::RadioVisualizerBase:
inet::visualizer::VisualizerBase inet::visualizer::RadioCanvasVisualizer inet::visualizer::RadioOsgVisualizer

Classes

class  RadioVisualization
 

Parameters

bool displayRadios = false
 
bool displayRadioMode = false
 
bool displayReceptionState = false
 
bool displayTransmissionState = false
 
std::vector< std::string > radioModeImages
 
std::vector< std::string > receptionStateImages
 
std::vector< std::string > transmissionStateImages
 
ModuleFilter radioFilter
 
double width
 
double height
 
Placement placementHint
 
double placementPriority
 
bool antennaLobeNormalize = false
 
bool antennaLobeRelativeLabels = false
 
bool displayAntennaLobes = false
 
bool antennaLobePlaneGlobal = false
 
const char * antennaLobePlane = nullptr
 
const char * antennaLobeMode = nullptr
 
double antennaLobeLogarithmicBase = NaN
 
double antennaLobeLogarithmicScale = NaN
 
double antennaLobeRadius = NaN
 
deg antennaLobeStep = deg(NaN)
 
double antennaLobeOpacity = NaN
 
bool antennaLobeLineSmooth = false
 
cFigure::Color antennaLobeLineColor
 
cFigure::LineStyle antennaLobeLineStyle
 
double antennaLobeLineWidth = NaN
 
cFigure::Color antennaLobeFillColor
 
std::map< int, const RadioVisualization * > radioVisualizations
 
virtual void initialize (int stage) override
 
virtual void handleParameterChange (const char *name) override
 
virtual void refreshDisplay () const override
 
virtual void preDelete (cComponent *root) override
 
virtual void subscribe ()
 
virtual void unsubscribe ()
 
virtual RadioVisualizationcreateRadioVisualization (const physicallayer::IRadio *radio) const =0
 
virtual const RadioVisualizationgetRadioVisualization (int radioModuleId)
 
virtual void addRadioVisualization (const RadioVisualization *radioVisualization)
 
virtual void removeRadioVisualization (const RadioVisualization *radioVisualization)
 
virtual void removeAllRadioVisualizations ()
 
virtual void refreshRadioVisualization (const RadioVisualization *radioVisualization) const =0
 
virtual void receiveSignal (cComponent *source, simsignal_t signal, intval_t value, cObject *details) override
 

Additional Inherited Members

- Protected Member Functions inherited from inet::visualizer::VisualizerBase
virtual int numInitStages () const override
 
virtual Coord getPosition (const cModule *networkNode) const
 
virtual Coord getContactPosition (const cModule *networkNode, const Coord &fromPosition, const char *contactMode, double contactSpacing) const
 
virtual Quaternion getOrientation (const cModule *networkNode) const
 
virtual void mapChunks (const Ptr< const Chunk > &chunk, const std::function< void(const Ptr< const Chunk > &, int)> &thunk) const
 
- Protected Attributes inherited from inet::visualizer::VisualizerBase
cModule * visualizationTargetModule = nullptr
 
cModule * visualizationSubjectModule = nullptr
 
const char * tags = nullptr
 

Member Function Documentation

◆ addRadioVisualization()

void inet::visualizer::RadioVisualizerBase::addRadioVisualization ( const RadioVisualization radioVisualization)
protectedvirtual

Reimplemented in inet::visualizer::RadioCanvasVisualizer.

116 {
117  radioVisualizations[radioVisualization->radioModuleId] = radioVisualization;
118 }

Referenced by inet::visualizer::RadioCanvasVisualizer::addRadioVisualization(), and receiveSignal().

◆ createRadioVisualization()

virtual RadioVisualization* inet::visualizer::RadioVisualizerBase::createRadioVisualization ( const physicallayer::IRadio radio) const
protectedpure virtual

◆ getRadioVisualization()

const RadioVisualizerBase::RadioVisualization * inet::visualizer::RadioVisualizerBase::getRadioVisualization ( int  radioModuleId)
protectedvirtual
110 {
111  auto it = radioVisualizations.find(radioModuleId);
112  return (it == radioVisualizations.end()) ? nullptr : it->second;
113 }

Referenced by receiveSignal().

◆ handleParameterChange()

void inet::visualizer::RadioVisualizerBase::handleParameterChange ( const char *  name)
overrideprotectedvirtual
77 {
78  if (!hasGUI()) return;
79  if (name != nullptr) {
80  if (!strcmp(name, "radioFilter"))
81  radioFilter.setPattern(par("radioFilter"));
82  }
83 }

◆ initialize()

void inet::visualizer::RadioVisualizerBase::initialize ( int  stage)
overrideprotectedvirtual

Reimplemented from inet::visualizer::VisualizerBase.

Reimplemented in inet::visualizer::RadioCanvasVisualizer, and inet::visualizer::RadioOsgVisualizer.

32 {
34  if (!hasGUI()) return;
35  if (stage == INITSTAGE_LOCAL) {
36  displayRadios = par("displayRadios");
37  displayRadioMode = par("displayRadioMode");
38  displayReceptionState = par("displayReceptionState");
39  displayTransmissionState = par("displayTransmissionState");
40  cStringTokenizer radioModeImagesTokenizer(par("radioModeImages"));
41  while (radioModeImagesTokenizer.hasMoreTokens())
42  radioModeImages.push_back(radioModeImagesTokenizer.nextToken());
43  cStringTokenizer receptionStateImagesTokenizer(par("receptionStateImages"));
44  while (receptionStateImagesTokenizer.hasMoreTokens())
45  receptionStateImages.push_back(receptionStateImagesTokenizer.nextToken());
46  cStringTokenizer transmissionStateImagesTokenizer(par("transmissionStateImages"));
47  while (transmissionStateImagesTokenizer.hasMoreTokens())
48  transmissionStateImages.push_back(transmissionStateImagesTokenizer.nextToken());
49  radioFilter.setPattern(par("radioFilter"));
50  width = par("width");
51  height = par("height");
52  placementHint = parsePlacement(par("placementHint"));
53  placementPriority = par("placementPriority");
54  // antenna lobe
55  displayAntennaLobes = par("displayAntennaLobes");
56  antennaLobeNormalize = par("antennaLobeNormalize");
57  antennaLobeRelativeLabels = par("antennaLobeRelativeLabels");
58  antennaLobePlaneGlobal = par("antennaLobePlaneGlobal");
59  antennaLobePlane = par("antennaLobePlane");
60  antennaLobeMode = par("antennaLobeMode");
61  antennaLobeLogarithmicBase = par("antennaLobeLogarithmicBase");
62  antennaLobeLogarithmicScale = par("antennaLobeLogarithmicScale");
63  antennaLobeRadius = par("antennaLobeRadius");
64  antennaLobeStep = deg(par("antennaLobeStep"));
65  antennaLobeOpacity = par("antennaLobeOpacity");
66  antennaLobeLineSmooth = par("antennaLobeLineSmooth");
67  antennaLobeLineColor = cFigure::parseColor(par("antennaLobeLineColor"));
68  antennaLobeLineStyle = cFigure::parseLineStyle(par("antennaLobeLineStyle"));
69  antennaLobeLineWidth = par("antennaLobeLineWidth");
70  antennaLobeFillColor = cFigure::parseColor(par("antennaLobeFillColor"));
71  if (displayRadios)
72  subscribe();
73  }
74 }

Referenced by inet::visualizer::RadioOsgVisualizer::initialize(), and inet::visualizer::RadioCanvasVisualizer::initialize().

◆ preDelete()

void inet::visualizer::RadioVisualizerBase::preDelete ( cComponent *  root)
overrideprotectedvirtual
24 {
25  if (displayRadios) {
26  unsubscribe();
28  }
29 }

◆ receiveSignal()

void inet::visualizer::RadioVisualizerBase::receiveSignal ( cComponent *  source,
simsignal_t  signal,
intval_t  value,
cObject *  details 
)
overridevirtual
134 {
135  Enter_Method("%s", cComponent::getSignalName(signal));
136 
138  auto module = check_and_cast<cModule *>(source);
139  auto radio = check_and_cast<IRadio *>(module);
140  if (getRadioVisualization(module->getId()) == nullptr && radioFilter.matches(module))
142  }
143  else
144  throw cRuntimeError("Unknown signal");
145 }

◆ refreshDisplay()

void inet::visualizer::RadioVisualizerBase::refreshDisplay ( ) const
overrideprotectedvirtual
104 {
105  for (auto it : radioVisualizations)
106  refreshRadioVisualization(it.second);
107 }

◆ refreshRadioVisualization()

virtual void inet::visualizer::RadioVisualizerBase::refreshRadioVisualization ( const RadioVisualization radioVisualization) const
protectedpure virtual

◆ removeAllRadioVisualizations()

void inet::visualizer::RadioVisualizerBase::removeAllRadioVisualizations ( )
protectedvirtual
126 {
127  for (auto radioVisualization : std::map<int, const RadioVisualization *>(radioVisualizations)) {
128  removeRadioVisualization(radioVisualization.second);
129  delete radioVisualization.second;
130  }
131 }

Referenced by preDelete().

◆ removeRadioVisualization()

void inet::visualizer::RadioVisualizerBase::removeRadioVisualization ( const RadioVisualization radioVisualization)
protectedvirtual

◆ subscribe()

void inet::visualizer::RadioVisualizerBase::subscribe ( )
protectedvirtual

◆ unsubscribe()

void inet::visualizer::RadioVisualizerBase::unsubscribe ( )
protectedvirtual
93 {
94  // NOTE: lookup the module again because it may have been deleted first
95  auto visualizationSubjectModule = findModuleFromPar<cModule>(par("visualizationSubjectModule"), this);
96  if (visualizationSubjectModule != nullptr) {
100  }
101 }

Referenced by preDelete().

Member Data Documentation

◆ antennaLobeFillColor

cFigure::Color inet::visualizer::RadioVisualizerBase::antennaLobeFillColor
protected

◆ antennaLobeLineColor

cFigure::Color inet::visualizer::RadioVisualizerBase::antennaLobeLineColor
protected

◆ antennaLobeLineSmooth

bool inet::visualizer::RadioVisualizerBase::antennaLobeLineSmooth = false
protected

◆ antennaLobeLineStyle

cFigure::LineStyle inet::visualizer::RadioVisualizerBase::antennaLobeLineStyle
protected

◆ antennaLobeLineWidth

double inet::visualizer::RadioVisualizerBase::antennaLobeLineWidth = NaN
protected

◆ antennaLobeLogarithmicBase

double inet::visualizer::RadioVisualizerBase::antennaLobeLogarithmicBase = NaN
protected

◆ antennaLobeLogarithmicScale

double inet::visualizer::RadioVisualizerBase::antennaLobeLogarithmicScale = NaN
protected

◆ antennaLobeMode

const char* inet::visualizer::RadioVisualizerBase::antennaLobeMode = nullptr
protected

◆ antennaLobeNormalize

bool inet::visualizer::RadioVisualizerBase::antennaLobeNormalize = false
protected

◆ antennaLobeOpacity

double inet::visualizer::RadioVisualizerBase::antennaLobeOpacity = NaN
protected

◆ antennaLobePlane

const char* inet::visualizer::RadioVisualizerBase::antennaLobePlane = nullptr
protected

◆ antennaLobePlaneGlobal

bool inet::visualizer::RadioVisualizerBase::antennaLobePlaneGlobal = false
protected

◆ antennaLobeRadius

double inet::visualizer::RadioVisualizerBase::antennaLobeRadius = NaN
protected

◆ antennaLobeRelativeLabels

bool inet::visualizer::RadioVisualizerBase::antennaLobeRelativeLabels = false
protected

Referenced by initialize().

◆ antennaLobeStep

deg inet::visualizer::RadioVisualizerBase::antennaLobeStep = deg(NaN)
protected

◆ displayAntennaLobes

◆ displayRadioMode

◆ displayRadios

bool inet::visualizer::RadioVisualizerBase::displayRadios = false
protected

Referenced by initialize(), and preDelete().

◆ displayReceptionState

◆ displayTransmissionState

◆ height

double inet::visualizer::RadioVisualizerBase::height
protected

◆ placementHint

Placement inet::visualizer::RadioVisualizerBase::placementHint
protected

◆ placementPriority

double inet::visualizer::RadioVisualizerBase::placementPriority
protected

◆ radioFilter

ModuleFilter inet::visualizer::RadioVisualizerBase::radioFilter
protected

◆ radioModeImages

std::vector<std::string> inet::visualizer::RadioVisualizerBase::radioModeImages
protected

◆ radioVisualizations

std::map<int, const RadioVisualization *> inet::visualizer::RadioVisualizerBase::radioVisualizations
protected

◆ receptionStateImages

std::vector<std::string> inet::visualizer::RadioVisualizerBase::receptionStateImages
protected

◆ transmissionStateImages

std::vector<std::string> inet::visualizer::RadioVisualizerBase::transmissionStateImages
protected

◆ width

double inet::visualizer::RadioVisualizerBase::width
protected

The documentation for this class was generated from the following files:
inet::visualizer::RadioVisualizerBase::width
double width
Definition: RadioVisualizerBase.h:43
inet::visualizer::RadioVisualizerBase::antennaLobeLogarithmicBase
double antennaLobeLogarithmicBase
Definition: RadioVisualizerBase.h:54
inet::visualizer::RadioVisualizerBase::addRadioVisualization
virtual void addRadioVisualization(const RadioVisualization *radioVisualization)
Definition: RadioVisualizerBase.cc:115
inet::visualizer::RadioVisualizerBase::antennaLobePlane
const char * antennaLobePlane
Definition: RadioVisualizerBase.h:52
inet::visualizer::RadioVisualizerBase::antennaLobeOpacity
double antennaLobeOpacity
Definition: RadioVisualizerBase.h:58
inet::visualizer::RadioVisualizerBase::antennaLobeNormalize
bool antennaLobeNormalize
Definition: RadioVisualizerBase.h:48
inet::visualizer::RadioVisualizerBase::radioVisualizations
std::map< int, const RadioVisualization * > radioVisualizations
Definition: RadioVisualizerBase.h:66
inet::visualizer::RadioVisualizerBase::displayRadios
bool displayRadios
Definition: RadioVisualizerBase.h:35
inet::units::units::deg
fscale< rad, rad2degScale > deg
Definition: Units.h:1158
inet::visualizer::RadioVisualizerBase::antennaLobeLineSmooth
bool antennaLobeLineSmooth
Definition: RadioVisualizerBase.h:59
inet::visualizer::RadioVisualizerBase::height
double height
Definition: RadioVisualizerBase.h:44
inet::visualizer::parsePlacement
Placement parsePlacement(const char *s)
Definition: Placement.cc:14
inet::physicallayer::IRadio::transmissionStateChangedSignal
static simsignal_t transmissionStateChangedSignal
This signal is emitted when the radio transmission state of the radio is changed.
Definition: IRadio.h:60
inet::visualizer::RadioVisualizerBase::antennaLobePlaneGlobal
bool antennaLobePlaneGlobal
Definition: RadioVisualizerBase.h:51
inet::visualizer::RadioVisualizerBase::placementHint
Placement placementHint
Definition: RadioVisualizerBase.h:45
inet::visualizer::RadioVisualizerBase::subscribe
virtual void subscribe()
Definition: RadioVisualizerBase.cc:85
inet::visualizer::RadioVisualizerBase::radioFilter
ModuleFilter radioFilter
Definition: RadioVisualizerBase.h:42
inet::visualizer::RadioVisualizerBase::antennaLobeLineStyle
cFigure::LineStyle antennaLobeLineStyle
Definition: RadioVisualizerBase.h:61
inet::visualizer::RadioVisualizerBase::antennaLobeFillColor
cFigure::Color antennaLobeFillColor
Definition: RadioVisualizerBase.h:63
inet::visualizer::RadioVisualizerBase::unsubscribe
virtual void unsubscribe()
Definition: RadioVisualizerBase.cc:92
inet::visualizer::RadioVisualizerBase::getRadioVisualization
virtual const RadioVisualization * getRadioVisualization(int radioModuleId)
Definition: RadioVisualizerBase.cc:109
inet::visualizer::RadioVisualizerBase::removeAllRadioVisualizations
virtual void removeAllRadioVisualizations()
Definition: RadioVisualizerBase.cc:125
inet::visualizer::RadioVisualizerBase::antennaLobeRadius
double antennaLobeRadius
Definition: RadioVisualizerBase.h:56
inet::visualizer::RadioVisualizerBase::displayReceptionState
bool displayReceptionState
Definition: RadioVisualizerBase.h:37
inet::visualizer::RadioVisualizerBase::receptionStateImages
std::vector< std::string > receptionStateImages
Definition: RadioVisualizerBase.h:40
inet::INITSTAGE_LOCAL
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
inet::visualizer::ModuleFilter::matches
bool matches(const cModule *module) const
Definition: ModuleFilter.cc:19
inet::visualizer::RadioVisualizerBase::radioModeImages
std::vector< std::string > radioModeImages
Definition: RadioVisualizerBase.h:39
inet::visualizer::RadioVisualizerBase::antennaLobeRelativeLabels
bool antennaLobeRelativeLabels
Definition: RadioVisualizerBase.h:49
inet::visualizer::RadioVisualizerBase::displayRadioMode
bool displayRadioMode
Definition: RadioVisualizerBase.h:36
inet::visualizer::RadioVisualizerBase::antennaLobeLineColor
cFigure::Color antennaLobeLineColor
Definition: RadioVisualizerBase.h:60
Enter_Method
#define Enter_Method(...)
Definition: SelfDoc.h:71
inet::visualizer::RadioVisualizerBase::antennaLobeStep
deg antennaLobeStep
Definition: RadioVisualizerBase.h:57
inet::visualizer::VisualizerBase::visualizationSubjectModule
cModule * visualizationSubjectModule
Definition: VisualizerBase.h:26
inet::visualizer::RadioVisualizerBase::transmissionStateImages
std::vector< std::string > transmissionStateImages
Definition: RadioVisualizerBase.h:41
inet::visualizer::RadioVisualizerBase::displayTransmissionState
bool displayTransmissionState
Definition: RadioVisualizerBase.h:38
inet::visualizer::RadioVisualizerBase::removeRadioVisualization
virtual void removeRadioVisualization(const RadioVisualization *radioVisualization)
Definition: RadioVisualizerBase.cc:120
inet::visualizer::RadioVisualizerBase::createRadioVisualization
virtual RadioVisualization * createRadioVisualization(const physicallayer::IRadio *radio) const =0
inet::visualizer::ModuleFilter::setPattern
void setPattern(const char *pattern)
Definition: ModuleFilter.cc:14
inet::visualizer::RadioVisualizerBase::antennaLobeMode
const char * antennaLobeMode
Definition: RadioVisualizerBase.h:53
inet::visualizer::RadioVisualizerBase::refreshRadioVisualization
virtual void refreshRadioVisualization(const RadioVisualization *radioVisualization) const =0
inet::visualizer::RadioVisualizerBase::antennaLobeLineWidth
double antennaLobeLineWidth
Definition: RadioVisualizerBase.h:62
inet::visualizer::RadioVisualizerBase::displayAntennaLobes
bool displayAntennaLobes
Definition: RadioVisualizerBase.h:50
inet::physicallayer::IRadio::receptionStateChangedSignal
static simsignal_t receptionStateChangedSignal
This signal is emitted when the radio reception state of the radio is changed.
Definition: IRadio.h:54
inet::visualizer::VisualizerBase::initialize
virtual void initialize(int stage) override
Definition: VisualizerBase.cc:23
inet::physicallayer::IRadio::radioModeChangedSignal
static simsignal_t radioModeChangedSignal
This signal is emitted when the radio mode of the radio is changed.
Definition: IRadio.h:42
inet::visualizer::RadioVisualizerBase::placementPriority
double placementPriority
Definition: RadioVisualizerBase.h:46
inet::visualizer::RadioVisualizerBase::antennaLobeLogarithmicScale
double antennaLobeLogarithmicScale
Definition: RadioVisualizerBase.h:55