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

#include <StreamRedundancyConfigurationCanvasVisualizer.h>

Inheritance diagram for inet::visualizer::StreamRedundancyConfigurationCanvasVisualizer:
inet::visualizer::TreeCanvasVisualizerBase inet::visualizer::TreeVisualizerBase inet::visualizer::VisualizerBase

Protected Member Functions

virtual void initialize (int stage) override
 
virtual const TreeVisualizationcreateTreeVisualization (const std::vector< std::vector< int >> &tree) const override
 
- Protected Member Functions inherited from inet::visualizer::TreeCanvasVisualizerBase
virtual void refreshDisplay () const override
 
virtual void addTreeVisualization (const TreeVisualization *treeVisualization) override
 
virtual void removeTreeVisualization (const TreeVisualization *treeVisualization) override
 
- Protected Member Functions inherited from inet::visualizer::TreeVisualizerBase
virtual void handleParameterChange (const char *name) override
 
virtual void preDelete (cComponent *root) override
 
virtual void removeAllTreeVisualizations ()
 
- 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

cMatchExpression streamFilter
 
- Protected Attributes inherited from inet::visualizer::TreeCanvasVisualizerBase
double zIndex = NaN
 
const CanvasProjectioncanvasProjection = nullptr
 
cGroupFigure * treeGroup = nullptr
 
- Protected Attributes inherited from inet::visualizer::TreeVisualizerBase
bool displayTrees = false
 
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
 
LineManagerlineManager = nullptr
 
std::map< int, int > numTrees
 Maps nodes to the number of trees that go through it. More...
 
std::multimap< std::pair< int, int >, const TreeVisualization * > treeVisualizations
 Maps source/destination modules to multiple trees between them. More...
 
- Protected Attributes inherited from inet::visualizer::VisualizerBase
cModule * visualizationTargetModule = nullptr
 
cModule * visualizationSubjectModule = nullptr
 
const char * tags = nullptr
 

Member Function Documentation

◆ createTreeVisualization()

const TreeCanvasVisualizerBase::TreeVisualization * inet::visualizer::StreamRedundancyConfigurationCanvasVisualizer::createTreeVisualization ( const std::vector< std::vector< int >> &  tree) const
overrideprotectedvirtual

Reimplemented from inet::visualizer::TreeCanvasVisualizerBase.

51 {
52  auto treeCanvasVisualization = static_cast<const TreeCanvasVisualization *>(TreeCanvasVisualizerBase::createTreeVisualization(tree));
53  for (auto figure : treeCanvasVisualization->figures) {
54  figure->setTags((std::string("stream_redundancy ") + tags).c_str());
55  figure->setTooltip("This polyline arrow represents a redundant stream");
56  }
57  for (auto& path : treeCanvasVisualization->paths)
58  path.shiftPriority = 3;
59  return treeCanvasVisualization;
60 }

Referenced by initialize().

◆ initialize()

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

Reimplemented from inet::visualizer::TreeCanvasVisualizerBase.

19  {
21  if (!hasGUI()) return;
22  if (stage == INITSTAGE_LOCAL) {
23  streamFilter.setPattern(par("streamFilter"), false, true, true);
24  }
25  else if (stage == INITSTAGE_LAST) {
26  if (displayTrees) {
27  auto streamRedundancyConfigurator = getModuleFromPar<StreamRedundancyConfigurator>(par("streamRedundancyConfiguratorModule"), this);
28  for (auto streamName : streamRedundancyConfigurator->getStreamNames()) {
29  cMatchableString matchableString(streamName.c_str());
30  if (streamFilter.matches(&matchableString)) {
31  std::vector<std::vector<int>> moduleIds;
32  auto pathFragments = streamRedundancyConfigurator->getPathFragments(streamName.c_str());
33  for (auto& path : pathFragments) {
34  moduleIds.push_back(std::vector<int>());
35  for (auto name : path) {
36  auto it = name.find('.');
37  auto node = it == std::string::npos ? name : name.substr(0, it);
38  auto module = getModuleByPath(node.c_str());
39  moduleIds[moduleIds.size() - 1].push_back(module->getId());
40  }
41  }
42  auto treeVisualization = createTreeVisualization(moduleIds);
43  addTreeVisualization(treeVisualization);
44  }
45  }
46  }
47  }
48 }

Member Data Documentation

◆ streamFilter

cMatchExpression inet::visualizer::StreamRedundancyConfigurationCanvasVisualizer::streamFilter
protected

Referenced by initialize().


The documentation for this class was generated from the following files:
inet::INITSTAGE_LAST
INET_API InitStage INITSTAGE_LAST
Operations that no other initializations can depend on, e.g.
inet::visualizer::StreamRedundancyConfigurationCanvasVisualizer::streamFilter
cMatchExpression streamFilter
Definition: StreamRedundancyConfigurationCanvasVisualizer.h:20
inet::visualizer::StreamRedundancyConfigurationCanvasVisualizer::createTreeVisualization
virtual const TreeVisualization * createTreeVisualization(const std::vector< std::vector< int >> &tree) const override
Definition: StreamRedundancyConfigurationCanvasVisualizer.cc:50
inet::visualizer::TreeCanvasVisualizerBase::addTreeVisualization
virtual void addTreeVisualization(const TreeVisualization *treeVisualization) override
Definition: TreeCanvasVisualizerBase.cc:155
inet::visualizer::TreeCanvasVisualizerBase::createTreeVisualization
virtual const TreeVisualization * createTreeVisualization(const std::vector< std::vector< int >> &tree) const override
Definition: TreeCanvasVisualizerBase.cc:138
inet::visualizer::TreeVisualizerBase::displayTrees
bool displayTrees
Definition: TreeVisualizerBase.h:43
inet::INITSTAGE_LOCAL
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
inet::visualizer::VisualizerBase::tags
const char * tags
Definition: VisualizerBase.h:27
inet::visualizer::TreeCanvasVisualizerBase::initialize
virtual void initialize(int stage) override
Definition: TreeCanvasVisualizerBase.cc:65