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

#include <NetworkRouteCanvasVisualizer.h>

Inheritance diagram for inet::visualizer::NetworkRouteCanvasVisualizer:
inet::visualizer::PathCanvasVisualizerBase inet::visualizer::PathVisualizerBase inet::visualizer::VisualizerBase

Protected Member Functions

virtual bool isPathStart (cModule *module) const override
 
virtual bool isPathEnd (cModule *module) const override
 
virtual bool isPathElement (cModule *module) const override
 
virtual const PathVisualizationcreatePathVisualization (const char *label, const std::vector< int > &path, cPacket *packet) const override
 
- Protected Member Functions inherited from inet::visualizer::PathCanvasVisualizerBase
virtual void initialize (int stage) override
 
virtual void refreshDisplay () const override
 
virtual void addPathVisualization (const PathVisualization *pathVisualization) override
 
virtual void removePathVisualization (const PathVisualization *pathVisualization) override
 
virtual void setAlpha (const PathVisualization *pathVisualization, double alpha) const override
 
virtual void refreshPathVisualization (const PathVisualization *pathVisualization, cPacket *packet) override
 
- Protected Member Functions inherited from inet::visualizer::PathVisualizerBase
virtual void handleParameterChange (const char *name) override
 
virtual void preDelete (cComponent *root) override
 
virtual void subscribe ()
 
virtual void unsubscribe ()
 
virtual void processPathStart (cModule *networkNode, const char *label, Packet *packet)
 
virtual void processPathElement (cModule *networkNode, const char *label, Packet *packet)
 
virtual void processPathEnd (cModule *networkNode, const char *label, Packet *packet)
 
virtual const PathVisualizationgetPathVisualization (const std::vector< int > &path)
 
virtual void removeAllPathVisualizations ()
 
virtual const std::vector< int > * getIncompletePath (const std::string &label, int chunkId)
 
virtual void addToIncompletePath (const std::string &label, int chunkId, cModule *module)
 
virtual void removeIncompletePath (const std::string &label, int chunkId)
 
virtual std::string getPathVisualizationText (const PathVisualization *pathVisualization, cPacket *packet) const
 
- 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
 

Additional Inherited Members

- Public Member Functions inherited from inet::visualizer::PathVisualizerBase
virtual void receiveSignal (cComponent *source, simsignal_t signal, cObject *object, cObject *details) override
 
- Protected Attributes inherited from inet::visualizer::PathCanvasVisualizerBase
double zIndex = NaN
 
const CanvasProjectioncanvasProjection = nullptr
 
cGroupFigure * pathGroup = nullptr
 
- Protected Attributes inherited from inet::visualizer::PathVisualizerBase
bool displayRoutes = false
 
NetworkNodeFilter nodeFilter
 
PacketFilter packetFilter
 
ColorSet lineColorSet
 
cFigure::LineStyle lineStyle
 
double lineWidth = NaN
 
bool lineSmooth = false
 
double lineShift = NaN
 
const char * lineShiftMode = nullptr
 
double lineContactSpacing = NaN
 
const char * lineContactMode = nullptr
 
StringFormat labelFormat
 
cFigure::Font labelFont
 
const char * labelColorAsString = nullptr
 
cFigure::Color labelColor
 
const char * fadeOutMode = nullptr
 
double fadeOutTime = NaN
 
double fadeOutAnimationSpeed = NaN
 
simsignal_t startPathSignal = -1
 
simsignal_t extendPathSignal = -1
 
simsignal_t endPathSignal = -1
 
LineManagerlineManager = nullptr
 
std::map< std::pair< std::string, int >, std::vector< int > > incompletePaths
 Maps path label and chunk id to module id vector. More...
 
std::map< int, int > numPaths
 Maps nodes to the number of paths that go through it. More...
 
std::multimap< std::pair< int, int >, const PathVisualization * > pathVisualizations
 Maps source/destination modules to multiple paths between them. More...
 
- Protected Attributes inherited from inet::visualizer::VisualizerBase
cModule * visualizationTargetModule = nullptr
 
cModule * visualizationSubjectModule = nullptr
 
const char * tags = nullptr
 

Member Function Documentation

◆ createPathVisualization()

const PathCanvasVisualizerBase::PathVisualization * inet::visualizer::NetworkRouteCanvasVisualizer::createPathVisualization ( const char *  label,
const std::vector< int > &  path,
cPacket *  packet 
) const
overrideprotectedvirtual

Reimplemented from inet::visualizer::PathCanvasVisualizerBase.

98 {
99  auto pathVisualization = static_cast<const PathCanvasVisualization *>(PathCanvasVisualizerBase::createPathVisualization(label, path, packet));
100  pathVisualization->figure->setTags((std::string("network_route ") + tags).c_str());
101  pathVisualization->figure->setTooltip("This polyline arrow represents a recently active network route between two network nodes");
102  pathVisualization->shiftPriority = 3;
103  return pathVisualization;
104 }

◆ isPathElement()

bool inet::visualizer::NetworkRouteCanvasVisualizer::isPathElement ( cModule *  module) const
overrideprotectedvirtual

Implements inet::visualizer::PathVisualizerBase.

67 {
68  // KLUDGE: for visualizing when using the layered Ethernet model
69 #ifdef INET_WITH_PROTOCOLELEMENT
70  if (dynamic_cast<PacketEmitter *>(module) != nullptr)
71  return true;
72 #endif // INET_WITH_PROTOCOLELEMENT
73 
74 #ifdef INET_WITH_ETHERNET
75  if (dynamic_cast<MacRelayUnit *>(module) != nullptr)
76  return true;
77 #endif
78 
79 #ifdef INET_WITH_IEEE8021D
80  if (dynamic_cast<Ieee8021dRelay *>(module) != nullptr)
81  return true;
82 #endif
83 
84 #ifdef INET_WITH_IPv4
85  if (dynamic_cast<Ipv4 *>(module) != nullptr)
86  return true;
87 #endif
88 
89 #ifdef INET_WITH_IPv6
90  if (dynamic_cast<Ipv6 *>(module) != nullptr)
91  return true;
92 #endif
93 
94  return false;
95 }

◆ isPathEnd()

bool inet::visualizer::NetworkRouteCanvasVisualizer::isPathEnd ( cModule *  module) const
overrideprotectedvirtual

Implements inet::visualizer::PathVisualizerBase.

52 {
53 #ifdef INET_WITH_IPv4
54  if (dynamic_cast<Ipv4 *>(module) != nullptr)
55  return true;
56 #endif
57 
58 #ifdef INET_WITH_IPv6
59  if (dynamic_cast<Ipv6 *>(module) != nullptr)
60  return true;
61 #endif
62 
63  return false;
64 }

◆ isPathStart()

bool inet::visualizer::NetworkRouteCanvasVisualizer::isPathStart ( cModule *  module) const
overrideprotectedvirtual

Implements inet::visualizer::PathVisualizerBase.

37 {
38 #ifdef INET_WITH_IPv4
39  if (dynamic_cast<Ipv4 *>(module) != nullptr)
40  return true;
41 #endif
42 
43 #ifdef INET_WITH_IPv6
44  if (dynamic_cast<Ipv6 *>(module) != nullptr)
45  return true;
46 #endif
47 
48  return false;
49 }

The documentation for this class was generated from the following files:
inet::visualizer::VisualizerBase::tags
const char * tags
Definition: VisualizerBase.h:27
inet::visualizer::PathCanvasVisualizerBase::createPathVisualization
virtual const PathVisualization * createPathVisualization(const char *label, const std::vector< int > &path, cPacket *packet) const override
Definition: PathCanvasVisualizerBase.cc:134