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

#include <VisualizerBase.h>

Inheritance diagram for inet::visualizer::VisualizerBase:
inet::visualizer::EnergyStorageVisualizerBase inet::visualizer::Ieee80211VisualizerBase inet::visualizer::InfoVisualizerBase inet::visualizer::InterfaceTableVisualizerBase inet::visualizer::LinkBreakVisualizerBase inet::visualizer::LinkVisualizerBase inet::visualizer::MediumVisualizerBase inet::visualizer::MobilityVisualizerBase inet::visualizer::NetworkConnectionVisualizerBase inet::visualizer::NetworkNodeVisualizerBase inet::visualizer::PacketDropVisualizerBase inet::visualizer::PathVisualizerBase inet::visualizer::PhysicalEnvironmentVisualizerBase inet::visualizer::QueueVisualizerBase inet::visualizer::RadioVisualizerBase inet::visualizer::RoutingTableVisualizerBase inet::visualizer::SceneVisualizerBase inet::visualizer::StatisticVisualizerBase inet::visualizer::TracingObstacleLossVisualizerBase inet::visualizer::TransportConnectionVisualizerBase

Protected Member Functions

virtual int numInitStages () const override
 
virtual void initialize (int stage) override
 
virtual Coord getPosition (const cModule *networkNode) const
 
virtual Coord getContactPosition (const cModule *networkNode, const Coord &fromPosition, const char *contactMode, double contactSpacing) const
 
virtual InterfaceEntrygetInterfaceEntry (cModule *networkNode, cModule *module) const
 

Protected Attributes

cModule * visualizerTargetModule = nullptr
 
const char * tags = nullptr
 

Member Function Documentation

Coord inet::visualizer::VisualizerBase::getContactPosition ( const cModule *  networkNode,
const Coord fromPosition,
const char *  contactMode,
double  contactSpacing 
) const
protectedvirtual

Referenced by inet::visualizer::LinkCanvasVisualizerBase::refreshDisplay(), inet::visualizer::RoutingTableCanvasVisualizer::refreshDisplay(), and inet::visualizer::PathCanvasVisualizerBase::refreshDisplay().

55 {
56  if (!strcmp(contactMode, "circular")) {
57  auto bounds = getSimulation()->getEnvir()->getSubmoduleBounds(networkNode);
58  auto size = bounds.getSize();
59  auto radius = std::sqrt(size.x * size.x + size.y * size.y) / 2;
60  auto position = getPosition(networkNode);
61  auto direction = fromPosition - position;
62  direction.normalize();
63  direction *= radius + contactSpacing;
64  return position + direction;
65  }
66  else if (!strcmp(contactMode, "rectangular")) {
67  auto position = getPosition(networkNode);
68  auto bounds = getSimulation()->getEnvir()->getSubmoduleBounds(networkNode);
69  auto size = bounds.getSize();
70  Cuboid networkNodeShape(Coord(size.x + 2 * contactSpacing, size.y + 2 * contactSpacing, 1));
71  Coord intersection1, intersection2, normal1, normal2;
72  networkNodeShape.computeIntersection(LineSegment(Coord::ZERO, fromPosition - position), intersection1, intersection2, normal1, normal2);
73  return position + intersection2;
74  }
75  else
76  throw cRuntimeError("Unknown contact mode: %s", contactMode);
77 }
value< Value, pow< Unit, 1, 2 > > sqrt(const value< Value, Unit > &a)
Definition: Units.h:247
virtual Coord getPosition(const cModule *networkNode) const
Definition: VisualizerBase.cc:42
static const Coord ZERO
Definition: Coord.h:41
InterfaceEntry * inet::visualizer::VisualizerBase::getInterfaceEntry ( cModule *  networkNode,
cModule *  module 
) const
protectedvirtual

Referenced by inet::visualizer::LinkVisualizerBase::receiveSignal().

80 {
81  L3AddressResolver addressResolver;
82  auto interfaceTable = addressResolver.findInterfaceTableOf(networkNode);
83  if (interfaceTable == nullptr)
84  return nullptr;
85  return interfaceTable->getInterfaceByInterfaceModule(module);
86 }
Coord inet::visualizer::VisualizerBase::getPosition ( const cModule *  networkNode) const
protectedvirtual

Referenced by inet::visualizer::LinkBreakCanvasVisualizer::createLinkBreakVisualization(), inet::visualizer::NetworkConnectionCanvasVisualizer::createNetworkConnectionVisualization(), inet::visualizer::PacketDropCanvasVisualizer::createPacketDropVisualization(), getContactPosition(), inet::visualizer::NetworkNodeCanvasVisualizer::refreshDisplay(), inet::visualizer::LinkBreakCanvasVisualizer::refreshDisplay(), inet::visualizer::LinkCanvasVisualizerBase::refreshDisplay(), inet::visualizer::RoutingTableCanvasVisualizer::refreshDisplay(), and inet::visualizer::PathCanvasVisualizerBase::refreshDisplay().

43 {
44  auto mobility = networkNode->getSubmodule("mobility");
45  if (mobility == nullptr) {
46  auto bounds = getSimulation()->getEnvir()->getSubmoduleBounds(networkNode);
47  auto center = bounds.getCenter();
48  return Coord(center.x, center.y, 0);
49  }
50  else
51  return check_and_cast<IMobility *>(mobility)->getCurrentPosition();
52 }
void inet::visualizer::VisualizerBase::initialize ( int  stage)
overrideprotectedvirtual

Reimplemented in inet::visualizer::MediumOsgVisualizer, inet::visualizer::PathVisualizerBase, inet::visualizer::MediumCanvasVisualizer, inet::visualizer::StatisticVisualizerBase, inet::visualizer::LinkVisualizerBase, inet::visualizer::MediumVisualizerBase, inet::visualizer::RoutingTableVisualizerBase, inet::visualizer::InterfaceTableVisualizerBase, inet::visualizer::InfoVisualizerBase, inet::visualizer::TransportConnectionVisualizerBase, inet::visualizer::QueueVisualizerBase, inet::visualizer::MobilityVisualizerBase, inet::visualizer::PacketDropVisualizerBase, inet::visualizer::LinkBreakVisualizerBase, inet::visualizer::RadioVisualizerBase, inet::visualizer::MobilityOsgVisualizer, inet::visualizer::TracingObstacleLossCanvasVisualizer, inet::visualizer::TracingObstacleLossVisualizerBase, inet::visualizer::Ieee80211VisualizerBase, inet::visualizer::EnergyStorageVisualizerBase, inet::visualizer::StatisticOsgVisualizer, inet::visualizer::InterfaceTableOsgVisualizer, inet::visualizer::PhysicalEnvironmentCanvasVisualizer, inet::visualizer::TracingObstacleLossOsgVisualizer, inet::visualizer::InfoOsgVisualizer, inet::visualizer::QueueOsgVisualizer, inet::visualizer::RadioOsgVisualizer, inet::visualizer::EnergyStorageOsgVisualizer, inet::visualizer::TransportConnectionOsgVisualizer, inet::visualizer::Ieee80211OsgVisualizer, inet::visualizer::PacketDropOsgVisualizer, inet::visualizer::MobilityCanvasVisualizer, inet::visualizer::LinkOsgVisualizerBase, inet::visualizer::PathOsgVisualizerBase, inet::visualizer::LinkBreakOsgVisualizer, inet::visualizer::RoutingTableOsgVisualizer, inet::visualizer::RadioCanvasVisualizer, inet::visualizer::InfoCanvasVisualizer, inet::visualizer::QueueCanvasVisualizer, inet::visualizer::InterfaceTableCanvasVisualizer, inet::visualizer::EnergyStorageCanvasVisualizer, inet::visualizer::TransportConnectionCanvasVisualizer, inet::visualizer::LinkCanvasVisualizerBase, inet::visualizer::PathCanvasVisualizerBase, inet::visualizer::PacketDropCanvasVisualizer, inet::visualizer::StatisticCanvasVisualizer, inet::visualizer::RoutingTableCanvasVisualizer, inet::visualizer::Ieee80211CanvasVisualizer, inet::visualizer::LinkBreakCanvasVisualizer, inet::visualizer::PhysicalEnvironmentVisualizerBase, inet::visualizer::NetworkConnectionOsgVisualizer, inet::visualizer::NetworkConnectionVisualizerBase, inet::visualizer::NetworkNodeCanvasVisualizer, inet::visualizer::NetworkNodeVisualizerBase, inet::visualizer::SceneCanvasVisualizer, inet::visualizer::NetworkConnectionCanvasVisualizer, and inet::visualizer::SceneVisualizerBase.

Referenced by inet::visualizer::SceneVisualizerBase::initialize(), inet::visualizer::NetworkNodeVisualizerBase::initialize(), inet::visualizer::NetworkConnectionVisualizerBase::initialize(), inet::visualizer::PhysicalEnvironmentVisualizerBase::initialize(), inet::visualizer::EnergyStorageVisualizerBase::initialize(), inet::visualizer::Ieee80211VisualizerBase::initialize(), inet::visualizer::TracingObstacleLossVisualizerBase::initialize(), inet::visualizer::LinkBreakVisualizerBase::initialize(), inet::visualizer::RadioVisualizerBase::initialize(), inet::visualizer::PacketDropVisualizerBase::initialize(), inet::visualizer::MobilityVisualizerBase::initialize(), inet::visualizer::QueueVisualizerBase::initialize(), inet::visualizer::TransportConnectionVisualizerBase::initialize(), inet::visualizer::InfoVisualizerBase::initialize(), inet::visualizer::InterfaceTableVisualizerBase::initialize(), inet::visualizer::RoutingTableVisualizerBase::initialize(), inet::visualizer::MediumVisualizerBase::initialize(), inet::visualizer::LinkVisualizerBase::initialize(), inet::visualizer::StatisticVisualizerBase::initialize(), and inet::visualizer::PathVisualizerBase::initialize().

30 {
31  cSimpleModule::initialize(stage);
32  if (!hasGUI()) return;
33  if (stage == INITSTAGE_LOCAL) {
34  const char *path = par("visualizerTargetModule");
35  visualizerTargetModule = getModuleByPath(path);
36  if (visualizerTargetModule == nullptr)
37  throw cRuntimeError("Module not found on path '%s' defined by par 'visualizerTargetModule'", path);
38  tags = par("tags");
39  }
40 }
const char * tags
Definition: VisualizerBase.h:32
Local initializations.
Definition: InitStages.h:35
cModule * visualizerTargetModule
Definition: VisualizerBase.h:31
virtual int inet::visualizer::VisualizerBase::numInitStages ( ) const
inlineoverrideprotectedvirtual
35 { return NUM_INIT_STAGES; }
The number of initialization stages.
Definition: InitStages.h:116

Member Data Documentation

const char* inet::visualizer::VisualizerBase::tags = nullptr
protected

Referenced by inet::visualizer::PhysicalEnvironmentCanvasVisualizer::computeFacePoints(), inet::visualizer::TransportConnectionCanvasVisualizer::createConnectionEndFigure(), inet::visualizer::EnergyStorageCanvasVisualizer::createEnergyStorageVisualization(), inet::visualizer::Ieee80211CanvasVisualizer::createIeee80211Visualization(), inet::visualizer::InfoCanvasVisualizer::createInfoVisualization(), inet::visualizer::InterfaceTableCanvasVisualizer::createInterfaceVisualization(), inet::visualizer::LinkBreakCanvasVisualizer::createLinkBreakVisualization(), inet::visualizer::DataLinkCanvasVisualizer::createLinkVisualization(), inet::visualizer::PhysicalLinkCanvasVisualizer::createLinkVisualization(), inet::visualizer::TracingObstacleLossCanvasVisualizer::createObstacleLossVisualization(), inet::visualizer::PacketDropCanvasVisualizer::createPacketDropVisualization(), inet::visualizer::NetworkRouteCanvasVisualizer::createPathVisualization(), inet::visualizer::TransportRouteCanvasVisualizer::createPathVisualization(), inet::visualizer::QueueCanvasVisualizer::createQueueVisualization(), inet::visualizer::RadioCanvasVisualizer::createRadioVisualization(), inet::visualizer::RoutingTableCanvasVisualizer::createRouteVisualization(), inet::visualizer::MediumCanvasVisualizer::createSignalFigure(), inet::visualizer::StatisticCanvasVisualizer::createStatisticVisualization(), inet::visualizer::MobilityCanvasVisualizer::ensureMobilityVisualization(), inet::visualizer::MobilityCanvasVisualizer::extendMovementTrail(), initialize(), inet::visualizer::MediumCanvasVisualizer::initialize(), inet::visualizer::SceneCanvasVisualizer::initializeAxis(), inet::visualizer::MediumCanvasVisualizer::radioAdded(), and inet::visualizer::PhysicalEnvironmentCanvasVisualizer::refreshDisplay().

cModule* inet::visualizer::VisualizerBase::visualizerTargetModule = nullptr
protected

Referenced by inet::visualizer::NetworkConnectionCanvasVisualizer::createNetworkConnectionVisualization(), inet::visualizer::SceneCanvasVisualizer::displayDescription(), inet::visualizer::MobilityCanvasVisualizer::ensureMobilityVisualization(), inet::visualizer::MobilityCanvasVisualizer::findVisualRepresentation(), inet::visualizer::NetworkConnectionCanvasVisualizer::initialize(), inet::visualizer::SceneCanvasVisualizer::initialize(), initialize(), inet::visualizer::NetworkNodeCanvasVisualizer::initialize(), inet::visualizer::LinkBreakCanvasVisualizer::initialize(), inet::visualizer::PathCanvasVisualizerBase::initialize(), inet::visualizer::RoutingTableCanvasVisualizer::initialize(), inet::visualizer::LinkCanvasVisualizerBase::initialize(), inet::visualizer::PacketDropCanvasVisualizer::initialize(), inet::visualizer::TransportConnectionCanvasVisualizer::initialize(), inet::visualizer::MobilityCanvasVisualizer::initialize(), inet::visualizer::PhysicalEnvironmentCanvasVisualizer::initialize(), inet::visualizer::TracingObstacleLossCanvasVisualizer::initialize(), inet::visualizer::RoutingTableVisualizerBase::initialize(), inet::visualizer::LinkVisualizerBase::initialize(), inet::visualizer::MediumCanvasVisualizer::initialize(), inet::visualizer::PathVisualizerBase::initialize(), inet::visualizer::LinkBreakCanvasVisualizer::refreshDisplay(), inet::visualizer::PathCanvasVisualizerBase::refreshDisplay(), inet::visualizer::PacketDropCanvasVisualizer::refreshDisplay(), inet::visualizer::LinkCanvasVisualizerBase::refreshDisplay(), inet::visualizer::MobilityCanvasVisualizer::refreshDisplay(), inet::visualizer::TracingObstacleLossCanvasVisualizer::refreshDisplay(), and inet::visualizer::MediumCanvasVisualizer::setAnimationSpeed().


The documentation for this class was generated from the following files: