INET Framework for OMNeT++/OMNEST
inet::visualizer::TreeVisualizerBase Class Referenceabstract

#include <TreeVisualizerBase.h>

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

Classes

class  TreeVisualization
 

Parameters

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...
 
virtual void initialize (int stage) override
 
virtual void handleParameterChange (const char *name) override
 
virtual void preDelete (cComponent *root) override
 
virtual const TreeVisualizationcreateTreeVisualization (const std::vector< std::vector< int >> &tree) const =0
 
virtual void addTreeVisualization (const TreeVisualization *treeVisualization)
 
virtual void removeTreeVisualization (const TreeVisualization *treeVisualization)
 
virtual void removeAllTreeVisualizations ()
 

Additional Inherited Members

- 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 inherited from inet::visualizer::VisualizerBase
cModule * visualizationTargetModule = nullptr
 
cModule * visualizationSubjectModule = nullptr
 
const char * tags = nullptr
 

Member Function Documentation

◆ addTreeVisualization()

void inet::visualizer::TreeVisualizerBase::addTreeVisualization ( const TreeVisualization treeVisualization)
protectedvirtual

Reimplemented in inet::visualizer::TreeCanvasVisualizerBase.

62 {
63  auto sourceAndDestination = std::pair<int, int>(treeVisualization->paths.front().moduleIds.front(), treeVisualization->paths.back().moduleIds.back());
64  treeVisualizations.insert(std::pair<std::pair<int, int>, const TreeVisualization *>(sourceAndDestination, treeVisualization));
65 }

Referenced by inet::visualizer::TreeCanvasVisualizerBase::addTreeVisualization().

◆ createTreeVisualization()

const TreeVisualizerBase::TreeVisualization * inet::visualizer::TreeVisualizerBase::createTreeVisualization ( const std::vector< std::vector< int >> &  tree) const
protectedpure virtual

◆ handleParameterChange()

void inet::visualizer::TreeVisualizerBase::handleParameterChange ( const char *  name)
overrideprotectedvirtual
50 {
51  if (!hasGUI()) return;
52  if (name != nullptr)
54 }

◆ initialize()

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

Reimplemented from inet::visualizer::VisualizerBase.

Reimplemented in inet::visualizer::TreeCanvasVisualizerBase, inet::visualizer::FailureProtectionConfigurationCanvasVisualizer, and inet::visualizer::StreamRedundancyConfigurationCanvasVisualizer.

33 {
35  if (!hasGUI()) return;
36  if (stage == INITSTAGE_LOCAL) {
37  displayTrees = par("displayTrees");
38  lineColorSet.parseColors(par("lineColor"));
39  lineStyle = cFigure::parseLineStyle(par("lineStyle"));
40  lineWidth = par("lineWidth");
41  lineSmooth = par("lineSmooth");
42  lineShift = par("lineShift");
43  lineShiftMode = par("lineShiftMode");
44  lineContactSpacing = par("lineContactSpacing");
45  lineContactMode = par("lineContactMode");
46  }
47 }

Referenced by inet::visualizer::TreeCanvasVisualizerBase::initialize().

◆ preDelete()

void inet::visualizer::TreeVisualizerBase::preDelete ( cComponent *  root)
overrideprotectedvirtual
27 {
28  if (displayTrees)
30 }

◆ removeAllTreeVisualizations()

void inet::visualizer::TreeVisualizerBase::removeAllTreeVisualizations ( )
protectedvirtual
80 {
81  numTrees.clear();
82  std::vector<const TreeVisualization *> removedTreeVisualizations;
83  for (auto it : treeVisualizations)
84  removedTreeVisualizations.push_back(it.second);
85  for (auto it : removedTreeVisualizations) {
87  delete it;
88  }
89 }

Referenced by handleParameterChange(), and preDelete().

◆ removeTreeVisualization()

void inet::visualizer::TreeVisualizerBase::removeTreeVisualization ( const TreeVisualization treeVisualization)
protectedvirtual

Reimplemented in inet::visualizer::TreeCanvasVisualizerBase.

68 {
69  auto sourceAndDestination = std::pair<int, int>(treeVisualization->paths.front().moduleIds.front(), treeVisualization->paths.back().moduleIds.back());
70  auto range = treeVisualizations.equal_range(sourceAndDestination);
71  for (auto it = range.first; it != range.second; it++) {
72  if (it->second == treeVisualization) {
73  treeVisualizations.erase(it);
74  break;
75  }
76  }
77 }

Referenced by removeAllTreeVisualizations(), and inet::visualizer::TreeCanvasVisualizerBase::removeTreeVisualization().

Member Data Documentation

◆ displayTrees

◆ lineColorSet

ColorSet inet::visualizer::TreeVisualizerBase::lineColorSet
protected

◆ lineContactMode

const char* inet::visualizer::TreeVisualizerBase::lineContactMode = nullptr
protected

◆ lineContactSpacing

double inet::visualizer::TreeVisualizerBase::lineContactSpacing = NaN
protected

◆ lineManager

◆ lineShift

double inet::visualizer::TreeVisualizerBase::lineShift = NaN
protected

◆ lineShiftMode

const char* inet::visualizer::TreeVisualizerBase::lineShiftMode = nullptr
protected

◆ lineSmooth

bool inet::visualizer::TreeVisualizerBase::lineSmooth = false
protected

◆ lineStyle

cFigure::LineStyle inet::visualizer::TreeVisualizerBase::lineStyle
protected

◆ lineWidth

double inet::visualizer::TreeVisualizerBase::lineWidth = NaN
protected

◆ numTrees

std::map<int, int> inet::visualizer::TreeVisualizerBase::numTrees
protected

Maps nodes to the number of trees that go through it.

Referenced by removeAllTreeVisualizations().

◆ treeVisualizations

std::multimap<std::pair<int, int>, const TreeVisualization *> inet::visualizer::TreeVisualizerBase::treeVisualizations
protected

The documentation for this class was generated from the following files:
inet::visualizer::TreeVisualizerBase::numTrees
std::map< int, int > numTrees
Maps nodes to the number of trees that go through it.
Definition: TreeVisualizerBase.h:58
inet::visualizer::TreeVisualizerBase::lineContactMode
const char * lineContactMode
Definition: TreeVisualizerBase.h:51
inet::visualizer::TreeVisualizerBase::lineShift
double lineShift
Definition: TreeVisualizerBase.h:48
inet::visualizer::ColorSet::parseColors
void parseColors(const char *colorNames)
Definition: ColorSet.cc:14
inet::visualizer::TreeVisualizerBase::lineSmooth
bool lineSmooth
Definition: TreeVisualizerBase.h:47
inet::visualizer::TreeVisualizerBase::lineColorSet
ColorSet lineColorSet
Definition: TreeVisualizerBase.h:44
inet::visualizer::TreeVisualizerBase::removeTreeVisualization
virtual void removeTreeVisualization(const TreeVisualization *treeVisualization)
Definition: TreeVisualizerBase.cc:67
inet::visualizer::TreeVisualizerBase::lineStyle
cFigure::LineStyle lineStyle
Definition: TreeVisualizerBase.h:45
inet::visualizer::TreeVisualizerBase::displayTrees
bool displayTrees
Definition: TreeVisualizerBase.h:43
inet::visualizer::TreeVisualizerBase::lineWidth
double lineWidth
Definition: TreeVisualizerBase.h:46
inet::visualizer::TreeVisualizerBase::lineShiftMode
const char * lineShiftMode
Definition: TreeVisualizerBase.h:49
inet::INITSTAGE_LOCAL
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
inet::visualizer::TreeVisualizerBase::treeVisualizations
std::multimap< std::pair< int, int >, const TreeVisualization * > treeVisualizations
Maps source/destination modules to multiple trees between them.
Definition: TreeVisualizerBase.h:62
inet::visualizer::TreeVisualizerBase::lineContactSpacing
double lineContactSpacing
Definition: TreeVisualizerBase.h:50
inet::visualizer::TreeVisualizerBase::removeAllTreeVisualizations
virtual void removeAllTreeVisualizations()
Definition: TreeVisualizerBase.cc:79
inet::visualizer::VisualizerBase::initialize
virtual void initialize(int stage) override
Definition: VisualizerBase.cc:23