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

#include <FailureProtectionConfigurationCanvasVisualizer.h>

Inheritance diagram for inet::visualizer::FailureProtectionConfigurationCanvasVisualizer:
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::FailureProtectionConfigurationCanvasVisualizer::createTreeVisualization ( const std::vector< std::vector< int >> &  tree) const
overrideprotectedvirtual

Reimplemented from inet::visualizer::TreeCanvasVisualizerBase.

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

Referenced by initialize().

◆ initialize()

void inet::visualizer::FailureProtectionConfigurationCanvasVisualizer::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 failureProtectionConfigurator = getModuleFromPar<FailureProtectionConfigurator>(par("failureProtectionConfiguratorModule"), this);
28  for (auto& stream : failureProtectionConfigurator->getStreams()) {
29  cMatchableString matchableString(stream.name.c_str());
30  if (streamFilter.matches(&matchableString)) {
31  for (auto& tree : stream.trees) {
32  std::vector<std::vector<int>> moduleIds;
33  for (auto& path : tree.paths) {
34  moduleIds.push_back(std::vector<int>());
35  for (auto interface : path.interfaces)
36  moduleIds[moduleIds.size() - 1].push_back(interface->node->module->getId());
37  }
38  auto treeVisualization = createTreeVisualization(moduleIds);
39  addTreeVisualization(treeVisualization);
40  }
41  }
42  }
43  }
44  }
45 }

Member Data Documentation

◆ streamFilter

cMatchExpression inet::visualizer::FailureProtectionConfigurationCanvasVisualizer::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::FailureProtectionConfigurationCanvasVisualizer::createTreeVisualization
virtual const TreeVisualization * createTreeVisualization(const std::vector< std::vector< int >> &tree) const override
Definition: FailureProtectionConfigurationCanvasVisualizer.cc:47
inet::visualizer::TreeCanvasVisualizerBase::addTreeVisualization
virtual void addTreeVisualization(const TreeVisualization *treeVisualization) override
Definition: TreeCanvasVisualizerBase.cc:155
inet::visualizer::FailureProtectionConfigurationCanvasVisualizer::streamFilter
cMatchExpression streamFilter
Definition: FailureProtectionConfigurationCanvasVisualizer.h:20
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