INET Framework for OMNeT++/OMNEST
inet::visualizer::RadioCanvasVisualizer Class Reference

#include <RadioCanvasVisualizer.h>

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

Classes

class  RadioCanvasVisualization
 

Protected Member Functions

virtual void initialize (int stage) override
 
virtual RadioVisualizationcreateRadioVisualization (const physicallayer::IRadio *radio) const override
 
virtual void addRadioVisualization (const RadioVisualization *radioVisualization) override
 
virtual void removeRadioVisualization (const RadioVisualization *radioVisualization) override
 
virtual void refreshRadioVisualization (const RadioVisualization *radioVisualization) const override
 
virtual void refreshAntennaLobe (const inet::physicallayer::IAntenna *antenna, cPolygonFigure *antennaLobeFigure, cOvalFigure *antennaLobeUnitGainFigure, cOvalFigure *antennaLobeMaxGainFigure) const
 
virtual void setImageIndex (IndexedImageFigure *indexedImageFigure, int index) const
 
virtual double getGainRadius (double gain, double maxGain) const
 
- Protected Member Functions inherited from inet::visualizer::RadioVisualizerBase
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 const RadioVisualizationgetRadioVisualization (int radioModuleId)
 
virtual void removeAllRadioVisualizations ()
 
- 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

double zIndex = NaN
 
const CanvasProjectioncanvasProjection = nullptr
 
ModuleRefByPar< NetworkNodeCanvasVisualizernetworkNodeVisualizer
 
- Protected Attributes inherited from inet::visualizer::RadioVisualizerBase
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
 
- Protected Attributes inherited from inet::visualizer::VisualizerBase
cModule * visualizationTargetModule = nullptr
 
cModule * visualizationSubjectModule = nullptr
 
const char * tags = nullptr
 

Additional Inherited Members

- Public Member Functions inherited from inet::visualizer::RadioVisualizerBase
virtual void receiveSignal (cComponent *source, simsignal_t signal, intval_t value, cObject *details) override
 

Member Function Documentation

◆ addRadioVisualization()

void inet::visualizer::RadioCanvasVisualizer::addRadioVisualization ( const RadioVisualization radioVisualization)
overrideprotectedvirtual

Reimplemented from inet::visualizer::RadioVisualizerBase.

117 {
118  RadioVisualizerBase::addRadioVisualization(radioVisualization);
119  auto radioCanvasVisualization = static_cast<const RadioCanvasVisualization *>(radioVisualization);
120  if (displayRadioMode)
121  radioCanvasVisualization->networkNodeVisualization->addAnnotation(radioCanvasVisualization->radioModeFigure, radioCanvasVisualization->radioModeFigure->getSize(), placementHint, placementPriority);
123  radioCanvasVisualization->networkNodeVisualization->addAnnotation(radioCanvasVisualization->receptionStateFigure, radioCanvasVisualization->receptionStateFigure->getSize(), placementHint, placementPriority);
125  radioCanvasVisualization->networkNodeVisualization->addAnnotation(radioCanvasVisualization->transmissionStateFigure, radioCanvasVisualization->transmissionStateFigure->getSize(), placementHint, placementPriority);
126  if (displayAntennaLobes) {
127  radioCanvasVisualization->networkNodeVisualization->addFigure(radioCanvasVisualization->antennaLobeFigure);
128  radioCanvasVisualization->networkNodeVisualization->addFigure(radioCanvasVisualization->antennaLobeUnitGainFigure);
129  radioCanvasVisualization->networkNodeVisualization->addFigure(radioCanvasVisualization->antennaLobeMaxGainFigure);
130  }
131 }

◆ createRadioVisualization()

RadioVisualizerBase::RadioVisualization * inet::visualizer::RadioCanvasVisualizer::createRadioVisualization ( const physicallayer::IRadio radio) const
overrideprotectedvirtual

Implements inet::visualizer::RadioVisualizerBase.

50 {
51  auto module = check_and_cast<const cModule *>(radio);
52  // TODO use RadioFigure?
53  IndexedImageFigure *radioModeFigure = nullptr;
54  if (displayRadioMode) {
55  radioModeFigure = new IndexedImageFigure("radioMode");
56  radioModeFigure->setTags((std::string("radioMode ") + tags).c_str());
57  radioModeFigure->setTooltip("This figure represents the radio mode of a radio");
58  radioModeFigure->setAssociatedObject(const_cast<cModule *>(module));
59  radioModeFigure->setImages(radioModeImages);
60  radioModeFigure->setSize(cFigure::Point(width, height));
61  }
62  IndexedImageFigure *receptionStateFigure = nullptr;
64  receptionStateFigure = new IndexedImageFigure("receptionState");
65  receptionStateFigure->setTags((std::string("receptionState ") + tags).c_str());
66  receptionStateFigure->setTooltip("This figure represents the reception state of a radio");
67  receptionStateFigure->setImages(receptionStateImages);
68  receptionStateFigure->setSize(cFigure::Point(width, height));
69  }
70  IndexedImageFigure *transmissionStateFigure = nullptr;
72  transmissionStateFigure = new IndexedImageFigure("transmissionState");
73  transmissionStateFigure->setTags((std::string("transmissionState ") + tags).c_str());
74  transmissionStateFigure->setTooltip("This figure represents the transmission state of a radio");
75  transmissionStateFigure->setImages(transmissionStateImages);
76  transmissionStateFigure->setSize(cFigure::Point(width, height));
77  }
78  cPolygonFigure *antennaLobeFigure = nullptr;
79  cOvalFigure *antennaLobeUnitGainFigure = nullptr;
80  cOvalFigure *antennaLobeMaxGainFigure = nullptr;
81  if (displayAntennaLobes) {
82  antennaLobeFigure = new cPolygonFigure("antenna_lobe");
83  antennaLobeFigure->setTags("antennaLobe");
84  antennaLobeFigure->setTooltip("This figure represents the antenna lobe of a radio");
85  antennaLobeFigure->setZIndex(zIndex);
86  antennaLobeFigure->setOutlined(true);
87  antennaLobeFigure->setLineColor(antennaLobeLineColor);
88  antennaLobeFigure->setLineStyle(antennaLobeLineStyle);
89  antennaLobeFigure->setLineWidth(antennaLobeLineWidth);
90  antennaLobeFigure->setFilled(true);
91  antennaLobeFigure->setFillColor(antennaLobeFillColor);
92  antennaLobeFigure->setFillOpacity(antennaLobeOpacity);
93  antennaLobeFigure->setSmooth(antennaLobeLineSmooth);
94  antennaLobeUnitGainFigure = new cOvalFigure("antenna_lobe unit_gain");
95  antennaLobeUnitGainFigure->setTags("antennaLobe unitGain");
96  antennaLobeUnitGainFigure->setTooltip("This figure represents the 0dB gain of a radio antenna");
97  antennaLobeUnitGainFigure->setZIndex(zIndex);
98  antennaLobeUnitGainFigure->setOutlined(true);
99  antennaLobeUnitGainFigure->setLineColor(cFigure::GREY);
100  antennaLobeUnitGainFigure->setLineStyle(cFigure::LINE_DOTTED);
101  antennaLobeMaxGainFigure = new cOvalFigure("antenna_lobe max_gain");
102  antennaLobeMaxGainFigure->setTags("antennaLobe maxGain");
103  antennaLobeMaxGainFigure->setTooltip("This figure represents the maximum gain of a radio antenna");
104  antennaLobeMaxGainFigure->setZIndex(zIndex);
105  antennaLobeMaxGainFigure->setOutlined(true);
106  antennaLobeMaxGainFigure->setLineColor(cFigure::GREY);
107  antennaLobeMaxGainFigure->setLineStyle(cFigure::LINE_DOTTED);
108  auto antenna = radio->getAntenna();
109  refreshAntennaLobe(antenna, antennaLobeFigure, antennaLobeUnitGainFigure, antennaLobeMaxGainFigure);
110  }
111  auto networkNode = getContainingNode(module);
112  auto networkNodeVisualization = networkNodeVisualizer->getNetworkNodeVisualization(networkNode);
113  return new RadioCanvasVisualization(networkNodeVisualization, radioModeFigure, receptionStateFigure, transmissionStateFigure, antennaLobeFigure, antennaLobeUnitGainFigure, antennaLobeMaxGainFigure, module->getId());
114 }

◆ getGainRadius()

double inet::visualizer::RadioCanvasVisualizer::getGainRadius ( double  gain,
double  maxGain 
) const
protectedvirtual
241 {
243  gain /= maxGain;
244  if (!strcmp("logarithmic", antennaLobeMode))
245  return std::max(0.0, antennaLobeRadius + antennaLobeLogarithmicScale * std::log(gain) / std::log(antennaLobeLogarithmicBase));
246  else if (!strcmp("linear", antennaLobeMode))
247  return antennaLobeRadius * gain;
248  else
249  throw cRuntimeError("Unknown antenna lobe mode");
250 }

Referenced by refreshAntennaLobe().

◆ initialize()

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

Reimplemented from inet::visualizer::RadioVisualizerBase.

39 {
41  if (!hasGUI()) return;
42  if (stage == INITSTAGE_LOCAL) {
43  zIndex = par("zIndex");
44  networkNodeVisualizer.reference(this, "networkNodeVisualizerModule", true);
46  }
47 }

◆ refreshAntennaLobe()

void inet::visualizer::RadioCanvasVisualizer::refreshAntennaLobe ( const inet::physicallayer::IAntenna antenna,
cPolygonFigure *  antennaLobeFigure,
cOvalFigure *  antennaLobeUnitGainFigure,
cOvalFigure *  antennaLobeMaxGainFigure 
) const
protectedvirtual
174 {
175  EulerAngles direction;
176  auto antennaPosition = antenna->getMobility()->getCurrentPosition();
177  double antennaCanvasDepth;
178  double maxGain = antenna->getGain()->getMaxGain();
179  auto antennaCanvasPosition = canvasProjection->computeCanvasPoint(antennaPosition, antennaCanvasDepth);
180  auto antennaDirection = Quaternion(antenna->getMobility()->getCurrentAngularPosition()).inverse();
181  for (double i = 0; i < unit(deg(360) / antennaLobeStep).get(); i++) {
182  deg angle = i * antennaLobeStep;
183  cFigure::Point lobeCanvasOffset(cos(rad(angle).get()), sin(rad(angle).get()));
184  if (!strcmp(antennaLobePlane, "view")) {
185  auto lobePosition = canvasProjection->computeCanvasPointInverse(antennaCanvasPosition + lobeCanvasOffset, antennaCanvasDepth);
186  auto lobeDirection = Quaternion::rotationFromTo(Coord::X_AXIS, lobePosition - antennaPosition);
187  direction = (antennaDirection * lobeDirection).toEulerAngles();
188  }
189  else if (!strcmp(antennaLobePlane, "xy")) {
191  auto lobePosition = antennaPosition + Coord(lobeCanvasOffset.x, lobeCanvasOffset.y, 0);
192  auto lobeDirection = Quaternion::rotationFromTo(Coord::X_AXIS, lobePosition - antennaPosition);
193  direction = (antennaDirection * lobeDirection).toEulerAngles();
194  }
195  else
196  direction.alpha = angle;
197  }
198  else if (!strcmp(antennaLobePlane, "xz")) {
200  auto lobePosition = antennaPosition + Coord(lobeCanvasOffset.x, 0, lobeCanvasOffset.y);
201  auto lobeDirection = Quaternion::rotationFromTo(Coord::X_AXIS, lobePosition - antennaPosition);
202  direction = (antennaDirection * lobeDirection).toEulerAngles();
203  }
204  else
205  direction.beta = angle;
206  }
207  else if (!strcmp(antennaLobePlane, "yz")) {
209  auto lobePosition = antennaPosition + Coord(0, lobeCanvasOffset.x, lobeCanvasOffset.y);
210  auto lobeDirection = Quaternion::rotationFromTo(Coord::X_AXIS, lobePosition - antennaPosition);
211  direction = (antennaDirection * lobeDirection).toEulerAngles();
212  }
213  else {
214  direction.alpha = deg(90);
215  direction.beta = angle;
216  }
217  }
218  else
219  throw cRuntimeError("Unknown antennaLobePlane");
220  double gain = antenna->getGain()->computeGain(Quaternion(direction.normalize()));
221  double radius = getGainRadius(gain, maxGain);
222  cFigure::Point point = lobeCanvasOffset * radius;
223  if (antennaLobeFigure->getNumPoints() > i)
224  antennaLobeFigure->setPoint(i, point);
225  else
226  antennaLobeFigure->addPoint(point);
227  }
228  double unitRadius = getGainRadius(1, maxGain);
229  antennaLobeUnitGainFigure->setBounds(cFigure::Rectangle(-unitRadius, -unitRadius, 2 * unitRadius, 2 * unitRadius));
230  double maxRadius = getGainRadius(maxGain, maxGain);
231  antennaLobeMaxGainFigure->setBounds(cFigure::Rectangle(-maxRadius, -maxRadius, 2 * maxRadius, 2 * maxRadius));
232 }

Referenced by createRadioVisualization(), and refreshRadioVisualization().

◆ refreshRadioVisualization()

void inet::visualizer::RadioCanvasVisualizer::refreshRadioVisualization ( const RadioVisualization radioVisualization) const
overrideprotectedvirtual

Implements inet::visualizer::RadioVisualizerBase.

153 {
154  auto radioCanvasVisualization = static_cast<const RadioCanvasVisualization *>(radioVisualization);
155  auto module = getSimulation()->getComponent(radioCanvasVisualization->radioModuleId);
156  if (module != nullptr) {
157  auto radio = check_and_cast<IRadio *>(module);
158  if (displayRadioMode)
159  setImageIndex(radioCanvasVisualization->radioModeFigure, radio->getRadioMode());
160  if (displayReceptionState) {
161  setImageIndex(radioCanvasVisualization->receptionStateFigure, radio->getReceptionState());
162  radioCanvasVisualization->receptionStateFigure->setAssociatedObject(const_cast<cObject *>(dynamic_cast<const cObject *>(radio->getReceptionInProgress())));
163  }
165  setImageIndex(radioCanvasVisualization->transmissionStateFigure, radio->getTransmissionState());
166  radioCanvasVisualization->transmissionStateFigure->setAssociatedObject(const_cast<cObject *>(dynamic_cast<const cObject *>(radio->getTransmissionInProgress())));
167  }
169  refreshAntennaLobe(radio->getAntenna(), radioCanvasVisualization->antennaLobeFigure, radioCanvasVisualization->antennaLobeUnitGainFigure, radioCanvasVisualization->antennaLobeMaxGainFigure);
170  }
171 }

◆ removeRadioVisualization()

void inet::visualizer::RadioCanvasVisualizer::removeRadioVisualization ( const RadioVisualization radioVisualization)
overrideprotectedvirtual

Reimplemented from inet::visualizer::RadioVisualizerBase.

134 {
136  auto radioCanvasVisualization = static_cast<const RadioCanvasVisualization *>(radioVisualization);
137  if (networkNodeVisualizer != nullptr) {
138  if (displayRadioMode)
139  radioCanvasVisualization->networkNodeVisualization->removeAnnotation(radioCanvasVisualization->radioModeFigure);
141  radioCanvasVisualization->networkNodeVisualization->removeAnnotation(radioCanvasVisualization->receptionStateFigure);
143  radioCanvasVisualization->networkNodeVisualization->removeAnnotation(radioCanvasVisualization->transmissionStateFigure);
144  if (displayAntennaLobes) {
145  radioCanvasVisualization->networkNodeVisualization->removeFigure(radioCanvasVisualization->antennaLobeFigure);
146  radioCanvasVisualization->networkNodeVisualization->removeFigure(radioCanvasVisualization->antennaLobeUnitGainFigure);
147  radioCanvasVisualization->networkNodeVisualization->removeFigure(radioCanvasVisualization->antennaLobeMaxGainFigure);
148  }
149  }
150 }

◆ setImageIndex()

void inet::visualizer::RadioCanvasVisualizer::setImageIndex ( IndexedImageFigure indexedImageFigure,
int  index 
) const
protectedvirtual
235 {
236  indexedImageFigure->setValue(0, simTime(), index);
237  indexedImageFigure->setVisible(indexedImageFigure->getImages()[index] != "-");
238 }

Referenced by refreshRadioVisualization().

Member Data Documentation

◆ canvasProjection

const CanvasProjection* inet::visualizer::RadioCanvasVisualizer::canvasProjection = nullptr
protected

Referenced by initialize(), and refreshAntennaLobe().

◆ networkNodeVisualizer

ModuleRefByPar<NetworkNodeCanvasVisualizer> inet::visualizer::RadioCanvasVisualizer::networkNodeVisualizer
protected

◆ zIndex

double inet::visualizer::RadioCanvasVisualizer::zIndex = NaN
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::RadioCanvasVisualizer::refreshAntennaLobe
virtual void refreshAntennaLobe(const inet::physicallayer::IAntenna *antenna, cPolygonFigure *antennaLobeFigure, cOvalFigure *antennaLobeUnitGainFigure, cOvalFigure *antennaLobeMaxGainFigure) const
Definition: RadioCanvasVisualizer.cc:173
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::RadioCanvasVisualizer::canvasProjection
const CanvasProjection * canvasProjection
Definition: RadioCanvasVisualizer.h:42
inet::visualizer::RadioVisualizerBase::antennaLobeOpacity
double antennaLobeOpacity
Definition: RadioVisualizerBase.h:58
inet::visualizer::RadioVisualizerBase::antennaLobeNormalize
bool antennaLobeNormalize
Definition: RadioVisualizerBase.h:48
inet::units::units::deg
fscale< rad, rad2degScale > deg
Definition: Units.h:1158
inet::visualizer::RadioVisualizerBase::antennaLobeLineSmooth
bool antennaLobeLineSmooth
Definition: RadioVisualizerBase.h:59
inet::CanvasProjection::getCanvasProjection
static CanvasProjection * getCanvasProjection(const cCanvas *canvas)
Definition: CanvasProjection.cc:53
inet::visualizer::RadioVisualizerBase::height
double height
Definition: RadioVisualizerBase.h:44
inet::getContainingNode
cModule * getContainingNode(const cModule *from)
Find the node containing the given module.
Definition: ModuleAccess.cc:40
inet::CanvasProjection::computeCanvasPointInverse
Coord computeCanvasPointInverse(const cFigure::Point &point, double depth) const
Definition: CanvasProjection.cc:47
inet::units::cos
Value cos(const value< Value, Unit > &angle)
Definition: Units.h:1524
inet::visualizer::RadioVisualizerBase::antennaLobePlaneGlobal
bool antennaLobePlaneGlobal
Definition: RadioVisualizerBase.h:51
inet::visualizer::RadioVisualizerBase::placementHint
Placement placementHint
Definition: RadioVisualizerBase.h:45
inet::visualizer::VisualizerBase::visualizationTargetModule
cModule * visualizationTargetModule
Definition: VisualizerBase.h:25
inet::physicallayer::IAntenna::getGain
virtual Ptr< const IAntennaGain > getGain() const =0
Returns the antenna's gain calculator for directional selectivity.
inet::visualizer::RadioCanvasVisualizer::getGainRadius
virtual double getGainRadius(double gain, double maxGain) const
Definition: RadioCanvasVisualizer.cc:240
inet::Quaternion::rotationFromTo
static Quaternion rotationFromTo(const Coord &from, const Coord &to)
Definition: Quaternion.cc:157
inet::visualizer::RadioCanvasVisualizer::setImageIndex
virtual void setImageIndex(IndexedImageFigure *indexedImageFigure, int index) const
Definition: RadioCanvasVisualizer.cc:234
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::antennaLobeRadius
double antennaLobeRadius
Definition: RadioVisualizerBase.h:56
inet::CanvasProjection::computeCanvasPoint
cFigure::Point computeCanvasPoint(const Coord &point) const
Definition: CanvasProjection.cc:34
inet::physicallayer::IAntenna::getMobility
virtual IMobility * getMobility() const =0
Returns the mobility of this antenna that describes its position and orientation over time.
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::Coord::X_AXIS
static const Coord X_AXIS
Definition: Coord.h:29
inet::units::unit
pow< internal::none, 0 > unit
Definition: Units.h:72
inet::sctp::max
double max(const double a, const double b)
Returns the maximum of a and b.
Definition: SctpAssociation.h:266
inet::visualizer::RadioVisualizerBase::radioModeImages
std::vector< std::string > radioModeImages
Definition: RadioVisualizerBase.h:39
inet::visualizer::RadioCanvasVisualizer::networkNodeVisualizer
ModuleRefByPar< NetworkNodeCanvasVisualizer > networkNodeVisualizer
Definition: RadioCanvasVisualizer.h:43
inet::visualizer::RadioVisualizerBase::displayRadioMode
bool displayRadioMode
Definition: RadioVisualizerBase.h:36
inet::visualizer::RadioVisualizerBase::antennaLobeLineColor
cFigure::Color antennaLobeLineColor
Definition: RadioVisualizerBase.h:60
inet::visualizer::RadioVisualizerBase::initialize
virtual void initialize(int stage) override
Definition: RadioVisualizerBase.cc:31
inet::IMobility::getCurrentAngularPosition
virtual const Quaternion & getCurrentAngularPosition()=0
Returns the angular position at the current simulation time.
inet::visualizer::RadioCanvasVisualizer::zIndex
double zIndex
Definition: RadioCanvasVisualizer.h:41
inet::visualizer::RadioVisualizerBase::antennaLobeStep
deg antennaLobeStep
Definition: RadioVisualizerBase.h:57
inet::visualizer::RadioVisualizerBase::transmissionStateImages
std::vector< std::string > transmissionStateImages
Definition: RadioVisualizerBase.h:41
inet::visualizer::VisualizerBase::tags
const char * tags
Definition: VisualizerBase.h:27
inet::visualizer::RadioVisualizerBase::displayTransmissionState
bool displayTransmissionState
Definition: RadioVisualizerBase.h:38
inet::IMobility::getCurrentPosition
virtual const Coord & getCurrentPosition()=0
Returns the position at the current simulation time.
inet::visualizer::RadioVisualizerBase::removeRadioVisualization
virtual void removeRadioVisualization(const RadioVisualization *radioVisualization)
Definition: RadioVisualizerBase.cc:120
inet::visualizer::RadioVisualizerBase::antennaLobeMode
const char * antennaLobeMode
Definition: RadioVisualizerBase.h:53
inet::units::values::rad
value< double, units::rad > rad
Definition: Units.h:1245
inet::visualizer::RadioVisualizerBase::antennaLobeLineWidth
double antennaLobeLineWidth
Definition: RadioVisualizerBase.h:62
inet::visualizer::RadioVisualizerBase::displayAntennaLobes
bool displayAntennaLobes
Definition: RadioVisualizerBase.h:50
inet::units::sin
Value sin(const value< Value, Unit > &angle)
Definition: Units.h:1518
inet::visualizer::RadioVisualizerBase::placementPriority
double placementPriority
Definition: RadioVisualizerBase.h:46
inet::visualizer::RadioVisualizerBase::antennaLobeLogarithmicScale
double antennaLobeLogarithmicScale
Definition: RadioVisualizerBase.h:55