|
INET Framework for OMNeT++/OMNEST
|
#include <PathVisualizerBase.h>
|
| 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 |
| |
| LineManager * | lineManager = 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...
|
| |
| 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 bool | isPathStart (cModule *module) const =0 |
| |
| virtual bool | isPathEnd (cModule *module) const =0 |
| |
| virtual bool | isPathElement (cModule *module) const =0 |
| |
| 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 PathVisualization * | createPathVisualization (const char *label, const std::vector< int > &path, cPacket *packet) const =0 |
| |
| virtual const PathVisualization * | getPathVisualization (const std::vector< int > &path) |
| |
| virtual void | addPathVisualization (const PathVisualization *pathVisualization) |
| |
| virtual void | removePathVisualization (const PathVisualization *pathVisualization) |
| |
| virtual void | removeAllPathVisualizations () |
| |
| virtual void | setAlpha (const PathVisualization *pathVisualization, double alpha) const =0 |
| |
| 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 |
| |
| virtual void | refreshPathVisualization (const PathVisualization *pathVisualization, cPacket *packet) |
| |
| virtual void | receiveSignal (cComponent *source, simsignal_t signal, cObject *object, cObject *details) override |
| |
◆ addPathVisualization()
| void inet::visualizer::PathVisualizerBase::addPathVisualization |
( |
const PathVisualization * |
pathVisualization | ) |
|
|
protectedvirtual |
◆ addToIncompletePath()
| void inet::visualizer::PathVisualizerBase::addToIncompletePath |
( |
const std::string & |
label, |
|
|
int |
chunkId, |
|
|
cModule * |
module |
|
) |
| |
|
protectedvirtual |
210 auto moduleId = module->getId();
211 if (moduleIds.size() == 0 || moduleIds[moduleIds.size() - 1] != moduleId)
212 moduleIds.push_back(moduleId);
◆ createPathVisualization()
| const PathVisualizerBase::PathVisualization * inet::visualizer::PathVisualizerBase::createPathVisualization |
( |
const char * |
label, |
|
|
const std::vector< int > & |
path, |
|
|
cPacket * |
packet |
|
) |
| const |
|
protectedpure virtual |
◆ getIncompletePath()
| const std::vector< int > * inet::visualizer::PathVisualizerBase::getIncompletePath |
( |
const std::string & |
label, |
|
|
int |
chunkId |
|
) |
| |
|
protectedvirtual |
◆ getPathVisualization()
162 auto key = std::pair<int, int>(path.front(), path.back());
164 for (
auto it = range.first; it != range.second; it++)
165 if (it->second->moduleIds == path)
◆ getPathVisualizationText()
| std::string inet::visualizer::PathVisualizerBase::getPathVisualizationText |
( |
const PathVisualization * |
pathVisualization, |
|
|
cPacket * |
packet |
|
) |
| const |
|
protectedvirtual |
◆ handleParameterChange()
| void inet::visualizer::PathVisualizerBase::handleParameterChange |
( |
const char * |
name | ) |
|
|
overrideprotectedvirtual |
93 if (!hasGUI())
return;
94 if (name !=
nullptr) {
95 if (!strcmp(name,
"nodeFilter"))
97 else if (!strcmp(name,
"packetFilter"))
98 packetFilter.setExpression(par(
"packetFilter").objectValue());
◆ initialize()
| void inet::visualizer::PathVisualizerBase::initialize |
( |
int |
stage | ) |
|
|
overrideprotectedvirtual |
◆ isPathElement()
| virtual bool inet::visualizer::PathVisualizerBase::isPathElement |
( |
cModule * |
module | ) |
const |
|
protectedpure virtual |
◆ isPathEnd()
| virtual bool inet::visualizer::PathVisualizerBase::isPathEnd |
( |
cModule * |
module | ) |
const |
|
protectedpure virtual |
◆ isPathStart()
| virtual bool inet::visualizer::PathVisualizerBase::isPathStart |
( |
cModule * |
module | ) |
const |
|
protectedpure virtual |
◆ preDelete()
| void inet::visualizer::PathVisualizerBase::preDelete |
( |
cComponent * |
root | ) |
|
|
overrideprotectedvirtual |
◆ processPathElement()
| void inet::visualizer::PathVisualizerBase::processPathElement |
( |
cModule * |
networkNode, |
|
|
const char * |
label, |
|
|
Packet * |
packet |
|
) |
| |
|
protectedvirtual |
◆ processPathEnd()
| void inet::visualizer::PathVisualizerBase::processPathEnd |
( |
cModule * |
networkNode, |
|
|
const char * |
label, |
|
|
Packet * |
packet |
|
) |
| |
|
protectedvirtual |
246 std::set<const PathVisualization *> updatedVisualizations;
247 mapChunks(packet->peekAt(
b(0), packet->getTotalLength()), [&] (
const Ptr<const Chunk>& chunk,
int chunkId) {
248 auto path = getIncompletePath(label, chunkId);
249 if (path != nullptr) {
250 addToIncompletePath(label, chunkId, networkNode);
251 if (path->size() > 1) {
252 auto pathVisualization = getPathVisualization(*path);
253 if (pathVisualization == nullptr) {
254 pathVisualization = createPathVisualization(label, *path, packet);
255 addPathVisualization(pathVisualization);
257 pathVisualization->totalLength += chunk->getChunkLength();
258 updatedVisualizations.insert(pathVisualization);
260 removeIncompletePath(label, chunkId);
263 for (
auto pathVisualization : updatedVisualizations) {
264 pathVisualization->numPackets++;
Referenced by receiveSignal().
◆ processPathStart()
| void inet::visualizer::PathVisualizerBase::processPathStart |
( |
cModule * |
networkNode, |
|
|
const char * |
label, |
|
|
Packet * |
packet |
|
) |
| |
|
protectedvirtual |
227 mapChunks(packet->peekAt(
b(0), packet->getTotalLength()), [&] (
const Ptr<const Chunk>& chunk,
int chunkId) {
228 auto path = getIncompletePath(label, chunkId);
230 removeIncompletePath(label, chunkId);
231 addToIncompletePath(label, chunkId, networkNode);
Referenced by receiveSignal().
◆ receiveSignal()
| void inet::visualizer::PathVisualizerBase::receiveSignal |
( |
cComponent * |
source, |
|
|
simsignal_t |
signal, |
|
|
cObject * |
object, |
|
|
cObject * |
details |
|
) |
| |
|
overridevirtual |
274 auto module = check_and_cast<cModule *>(source);
277 auto packet = check_and_cast<Packet *>(
object);
278 auto label = details !=
nullptr ? details->getName() :
"";
284 auto module = check_and_cast<cModule *>(source);
287 auto packet = check_and_cast<Packet *>(
object);
288 auto label = details !=
nullptr ? details->getName() :
"";
295 auto module = check_and_cast<cModule *>(source);
298 auto packet = check_and_cast<Packet *>(
object);
299 auto label = details !=
nullptr ? details->getName() :
"";
305 throw cRuntimeError(
"Unknown signal");
◆ refreshDisplay()
| void inet::visualizer::PathVisualizerBase::refreshDisplay |
( |
| ) |
const |
|
overrideprotectedvirtual |
◆ refreshPathVisualization()
| void inet::visualizer::PathVisualizerBase::refreshPathVisualization |
( |
const PathVisualization * |
pathVisualization, |
|
|
cPacket * |
packet |
|
) |
| |
|
protectedvirtual |
◆ removeAllPathVisualizations()
| void inet::visualizer::PathVisualizerBase::removeAllPathVisualizations |
( |
| ) |
|
|
protectedvirtual |
192 std::vector<const PathVisualization *> removedPathVisualizations;
194 removedPathVisualizations.push_back(it.second);
195 for (
auto it : removedPathVisualizations) {
Referenced by handleParameterChange(), and preDelete().
◆ removeIncompletePath()
| void inet::visualizer::PathVisualizerBase::removeIncompletePath |
( |
const std::string & |
label, |
|
|
int |
chunkId |
|
) |
| |
|
protectedvirtual |
◆ removePathVisualization()
| void inet::visualizer::PathVisualizerBase::removePathVisualization |
( |
const PathVisualization * |
pathVisualization | ) |
|
|
protectedvirtual |
◆ setAlpha()
| virtual void inet::visualizer::PathVisualizerBase::setAlpha |
( |
const PathVisualization * |
pathVisualization, |
|
|
double |
alpha |
|
) |
| const |
|
protectedpure virtual |
◆ subscribe()
| void inet::visualizer::PathVisualizerBase::subscribe |
( |
| ) |
|
|
protectedvirtual |
◆ unsubscribe()
| void inet::visualizer::PathVisualizerBase::unsubscribe |
( |
| ) |
|
|
protectedvirtual |
◆ displayRoutes
| bool inet::visualizer::PathVisualizerBase::displayRoutes = false |
|
protected |
◆ endPathSignal
| simsignal_t inet::visualizer::PathVisualizerBase::endPathSignal = -1 |
|
protected |
◆ extendPathSignal
| simsignal_t inet::visualizer::PathVisualizerBase::extendPathSignal = -1 |
|
protected |
◆ fadeOutAnimationSpeed
| double inet::visualizer::PathVisualizerBase::fadeOutAnimationSpeed = NaN |
|
protected |
◆ fadeOutMode
| const char* inet::visualizer::PathVisualizerBase::fadeOutMode = nullptr |
|
protected |
◆ fadeOutTime
| double inet::visualizer::PathVisualizerBase::fadeOutTime = NaN |
|
protected |
◆ incompletePaths
| std::map<std::pair<std::string, int>, std::vector<int> > inet::visualizer::PathVisualizerBase::incompletePaths |
|
protected |
◆ labelColor
| cFigure::Color inet::visualizer::PathVisualizerBase::labelColor |
|
protected |
◆ labelColorAsString
| const char* inet::visualizer::PathVisualizerBase::labelColorAsString = nullptr |
|
protected |
◆ labelFont
| cFigure::Font inet::visualizer::PathVisualizerBase::labelFont |
|
protected |
◆ labelFormat
| StringFormat inet::visualizer::PathVisualizerBase::labelFormat |
|
protected |
◆ lineColorSet
| ColorSet inet::visualizer::PathVisualizerBase::lineColorSet |
|
protected |
◆ lineContactMode
| const char* inet::visualizer::PathVisualizerBase::lineContactMode = nullptr |
|
protected |
◆ lineContactSpacing
| double inet::visualizer::PathVisualizerBase::lineContactSpacing = NaN |
|
protected |
◆ lineManager
| LineManager* inet::visualizer::PathVisualizerBase::lineManager = nullptr |
|
protected |
◆ lineShift
| double inet::visualizer::PathVisualizerBase::lineShift = NaN |
|
protected |
◆ lineShiftMode
| const char* inet::visualizer::PathVisualizerBase::lineShiftMode = nullptr |
|
protected |
◆ lineSmooth
| bool inet::visualizer::PathVisualizerBase::lineSmooth = false |
|
protected |
◆ lineStyle
| cFigure::LineStyle inet::visualizer::PathVisualizerBase::lineStyle |
|
protected |
◆ lineWidth
| double inet::visualizer::PathVisualizerBase::lineWidth = NaN |
|
protected |
◆ nodeFilter
◆ numPaths
| std::map<int, int> inet::visualizer::PathVisualizerBase::numPaths |
|
protected |
◆ packetFilter
| PacketFilter inet::visualizer::PathVisualizerBase::packetFilter |
|
protected |
◆ pathVisualizations
| std::multimap<std::pair<int, int>, const PathVisualization *> inet::visualizer::PathVisualizerBase::pathVisualizations |
|
protected |
◆ startPathSignal
| simsignal_t inet::visualizer::PathVisualizerBase::startPathSignal = -1 |
|
protected |
The documentation for this class was generated from the following files:
const char * lineContactMode
Definition: PathVisualizerBase.h:64
void parseColors(const char *colorNames)
Definition: ColorSet.cc:14
virtual void removePathVisualization(const PathVisualization *pathVisualization)
Definition: PathVisualizerBase.cc:176
double fadeOutTime
Definition: PathVisualizerBase.h:70
simsignal_t extendPathSignal
Definition: PathVisualizerBase.h:73
cModule * getContainingNode(const cModule *from)
Find the node containing the given module.
Definition: ModuleAccess.cc:40
virtual void processPathStart(cModule *networkNode, const char *label, Packet *packet)
Definition: PathVisualizerBase.cc:225
double fadeOutAnimationSpeed
Definition: PathVisualizerBase.h:71
bool displayRoutes
Definition: PathVisualizerBase.h:54
bool matches(const cModule *module) const
Definition: NetworkNodeFilter.cc:19
virtual bool isPathStart(cModule *module) const =0
virtual void processPathEnd(cModule *networkNode, const char *label, Packet *packet)
Definition: PathVisualizerBase.cc:244
StringFormat labelFormat
Definition: PathVisualizerBase.h:65
PacketFilter packetFilter
Definition: PathVisualizerBase.h:56
cFigure::Color labelColor
Definition: PathVisualizerBase.h:68
cFigure::LineStyle lineStyle
Definition: PathVisualizerBase.h:58
void setPattern(const char *pattern)
Definition: NetworkNodeFilter.cc:14
double lineShift
Definition: PathVisualizerBase.h:61
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
const char * lineShiftMode
Definition: PathVisualizerBase.h:62
virtual void processPathElement(cModule *networkNode, const char *label, Packet *packet)
Definition: PathVisualizerBase.cc:235
value< int64_t, units::b > b
Definition: Units.h:1241
ColorSet lineColorSet
Definition: PathVisualizerBase.h:57
std::map< int, int > numPaths
Maps nodes to the number of paths that go through it.
Definition: PathVisualizerBase.h:85
double lineContactSpacing
Definition: PathVisualizerBase.h:63
simsignal_t endPathSignal
Definition: PathVisualizerBase.h:74
cFigure::Font labelFont
Definition: PathVisualizerBase.h:66
bool lineSmooth
Definition: PathVisualizerBase.h:60
#define Enter_Method(...)
Definition: SelfDoc.h:71
virtual void refreshPathVisualization(const PathVisualization *pathVisualization, cPacket *packet)
Definition: PathVisualizerBase.cc:220
Color
Definition: DiffservUtil.h:17
cModule * visualizationSubjectModule
Definition: VisualizerBase.h:26
double lineWidth
Definition: PathVisualizerBase.h:59
virtual bool isPathEnd(cModule *module) const =0
virtual bool isPathElement(cModule *module) const =0
const char * labelColorAsString
Definition: PathVisualizerBase.h:67
virtual void unsubscribe()
Definition: PathVisualizerBase.cc:138
const char * fadeOutMode
Definition: PathVisualizerBase.h:69
virtual void subscribe()
Definition: PathVisualizerBase.cc:131
simsignal_t startPathSignal
Definition: PathVisualizerBase.h:72
NetworkNodeFilter nodeFilter
Definition: PathVisualizerBase.h:55
virtual void removeAllPathVisualizations()
Definition: PathVisualizerBase.cc:188
virtual void setAlpha(const PathVisualization *pathVisualization, double alpha) const =0
virtual void mapChunks(const Ptr< const Chunk > &chunk, const std::function< void(const Ptr< const Chunk > &, int)> &thunk) const
Definition: VisualizerBase.cc:90
std::map< std::pair< std::string, int >, std::vector< int > > incompletePaths
Maps path label and chunk id to module id vector.
Definition: PathVisualizerBase.h:81
std::multimap< std::pair< int, int >, const PathVisualization * > pathVisualizations
Maps source/destination modules to multiple paths between them.
Definition: PathVisualizerBase.h:89
virtual void initialize(int stage) override
Definition: VisualizerBase.cc:23