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

#include <InfoVisualizerBase.h>

Inheritance diagram for inet::visualizer::InfoVisualizerBase:
inet::visualizer::VisualizerBase inet::visualizer::InfoCanvasVisualizer inet::visualizer::InfoOsgVisualizer

Classes

class  DirectiveResolver
 
class  InfoVisualization
 

Parameters

bool displayInfos = false
 
ModuleFilter modules
 
StringFormat format
 
cFigure::Font font
 
cFigure::Color textColor
 
cFigure::Color backgroundColor
 
double opacity = NaN
 
Placement placementHint
 
double placementPriority
 
std::vector< const InfoVisualization * > infoVisualizations
 
virtual void initialize (int stage) override
 
virtual void handleParameterChange (const char *name) override
 
virtual void refreshDisplay () const override
 
virtual InfoVisualizationcreateInfoVisualization (cModule *module) const =0
 
virtual void addInfoVisualization (const InfoVisualization *infoVisualization)
 
virtual void addInfoVisualizations ()
 
virtual void removeInfoVisualization (const InfoVisualization *infoVisualization)
 
virtual void refreshInfoVisualization (const InfoVisualization *infoVisualization, const char *info) const =0
 
virtual void removeAllInfoVisualizations ()
 
virtual const char * getInfoVisualizationText (cModule *module) const
 
virtual void preDelete (cComponent *root) override
 

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

◆ addInfoVisualization()

void inet::visualizer::InfoVisualizerBase::addInfoVisualization ( const InfoVisualization infoVisualization)
protectedvirtual

◆ addInfoVisualizations()

void inet::visualizer::InfoVisualizerBase::addInfoVisualizations ( )
protectedvirtual
104 {
105  auto simulation = getSimulation();
106  for (int id = 0; id < simulation->getLastComponentId(); id++) {
107  auto component = simulation->getComponent(id);
108  if (component != nullptr && component->isModule() && modules.matches(static_cast<cModule *>(component))) {
109  auto infoVisualization = createInfoVisualization(static_cast<cModule *>(component));
110  addInfoVisualization(infoVisualization);
111  }
112  }
113 }

Referenced by handleParameterChange(), and initialize().

◆ createInfoVisualization()

virtual InfoVisualization* inet::visualizer::InfoVisualizerBase::createInfoVisualization ( cModule *  module) const
protectedpure virtual

◆ getInfoVisualizationText()

const char * inet::visualizer::InfoVisualizerBase::getInfoVisualizationText ( cModule *  module) const
protectedvirtual
124 {
125  DirectiveResolver directiveResolver(module);
126  return format.formatString(&directiveResolver);
127 }

Referenced by inet::visualizer::InfoCanvasVisualizer::createInfoVisualization(), and refreshDisplay().

◆ handleParameterChange()

void inet::visualizer::InfoVisualizerBase::handleParameterChange ( const char *  name)
overrideprotectedvirtual
71 {
72  if (!hasGUI()) return;
73  if (name != nullptr) {
74  if (!strcmp(name, "modules"))
75  modules.setPattern(par("modules"));
76  else if (!strcmp(name, "format"))
77  format.parseFormat(par("format"));
80  }
81 }

◆ initialize()

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

Reimplemented from inet::visualizer::VisualizerBase.

Reimplemented in inet::visualizer::InfoCanvasVisualizer, and inet::visualizer::InfoOsgVisualizer.

50 {
52  if (!hasGUI()) return;
53  if (stage == INITSTAGE_LOCAL) {
54  displayInfos = par("displayInfos");
55  modules.setPattern(par("modules"));
56  format.parseFormat(par("format"));
57  font = cFigure::parseFont(par("font"));
58  textColor = cFigure::Color(par("textColor"));
59  backgroundColor = cFigure::Color(par("backgroundColor"));
60  opacity = par("opacity");
61  placementHint = parsePlacement(par("placementHint"));
62  placementPriority = par("placementPriority");
63  }
64  else if (stage == INITSTAGE_LAST) {
65  if (displayInfos)
67  }
68 }

Referenced by inet::visualizer::InfoOsgVisualizer::initialize(), and inet::visualizer::InfoCanvasVisualizer::initialize().

◆ preDelete()

void inet::visualizer::InfoVisualizerBase::preDelete ( cComponent *  root)
overridevirtual
44 {
45  if (displayInfos)
47 }

◆ refreshDisplay()

void inet::visualizer::InfoVisualizerBase::refreshDisplay ( ) const
overrideprotectedvirtual
84 {
85  auto simulation = getSimulation();
86  for (auto infoVisualization : infoVisualizations) {
87  auto module = simulation->getModule(infoVisualization->moduleId);
88  if (module != nullptr)
89  refreshInfoVisualization(infoVisualization, getInfoVisualizationText(module));
90  }
91 }

◆ refreshInfoVisualization()

virtual void inet::visualizer::InfoVisualizerBase::refreshInfoVisualization ( const InfoVisualization infoVisualization,
const char *  info 
) const
protectedpure virtual

◆ removeAllInfoVisualizations()

void inet::visualizer::InfoVisualizerBase::removeAllInfoVisualizations ( )
protectedvirtual
116 {
117  for (auto infoVisualization : std::vector<const InfoVisualization *>(infoVisualizations)) {
118  removeInfoVisualization(infoVisualization);
119  delete infoVisualization;
120  }
121 }

Referenced by handleParameterChange(), and preDelete().

◆ removeInfoVisualization()

void inet::visualizer::InfoVisualizerBase::removeInfoVisualization ( const InfoVisualization infoVisualization)
protectedvirtual

Member Data Documentation

◆ backgroundColor

cFigure::Color inet::visualizer::InfoVisualizerBase::backgroundColor
protected

◆ displayInfos

bool inet::visualizer::InfoVisualizerBase::displayInfos = false
protected

Referenced by initialize(), and preDelete().

◆ font

cFigure::Font inet::visualizer::InfoVisualizerBase::font
protected

◆ format

StringFormat inet::visualizer::InfoVisualizerBase::format
protected

◆ infoVisualizations

std::vector<const InfoVisualization *> inet::visualizer::InfoVisualizerBase::infoVisualizations
protected

◆ modules

ModuleFilter inet::visualizer::InfoVisualizerBase::modules
protected

◆ opacity

double inet::visualizer::InfoVisualizerBase::opacity = NaN
protected

◆ placementHint

Placement inet::visualizer::InfoVisualizerBase::placementHint
protected

◆ placementPriority

double inet::visualizer::InfoVisualizerBase::placementPriority
protected

◆ textColor

cFigure::Color inet::visualizer::InfoVisualizerBase::textColor
protected

The documentation for this class was generated from the following files:
inet::visualizer::InfoVisualizerBase::createInfoVisualization
virtual InfoVisualization * createInfoVisualization(cModule *module) const =0
inet::INITSTAGE_LAST
INET_API InitStage INITSTAGE_LAST
Operations that no other initializations can depend on, e.g.
inet::StringFormat::parseFormat
void parseFormat(const char *format)
Definition: StringFormat.cc:12
inet::visualizer::InfoVisualizerBase::displayInfos
bool displayInfos
Definition: InfoVisualizerBase.h:45
inet::remove
void remove(std::vector< T > &v, const Tk &a)
Definition: stlutils.h:107
inet::visualizer::InfoVisualizerBase::modules
ModuleFilter modules
Definition: InfoVisualizerBase.h:46
inet::visualizer::InfoVisualizerBase::refreshInfoVisualization
virtual void refreshInfoVisualization(const InfoVisualization *infoVisualization, const char *info) const =0
inet::visualizer::parsePlacement
Placement parsePlacement(const char *s)
Definition: Placement.cc:14
inet::visualizer::InfoVisualizerBase::getInfoVisualizationText
virtual const char * getInfoVisualizationText(cModule *module) const
Definition: InfoVisualizerBase.cc:123
inet::visualizer::InfoVisualizerBase::removeInfoVisualization
virtual void removeInfoVisualization(const InfoVisualization *infoVisualization)
Definition: InfoVisualizerBase.cc:98
inet::visualizer::InfoVisualizerBase::placementPriority
double placementPriority
Definition: InfoVisualizerBase.h:53
inet::visualizer::InfoVisualizerBase::font
cFigure::Font font
Definition: InfoVisualizerBase.h:48
inet::visualizer::InfoVisualizerBase::opacity
double opacity
Definition: InfoVisualizerBase.h:51
inet::visualizer::InfoVisualizerBase::removeAllInfoVisualizations
virtual void removeAllInfoVisualizations()
Definition: InfoVisualizerBase.cc:115
inet::INITSTAGE_LOCAL
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
inet::visualizer::InfoVisualizerBase::addInfoVisualization
virtual void addInfoVisualization(const InfoVisualization *infoVisualization)
Definition: InfoVisualizerBase.cc:93
inet::visualizer::ModuleFilter::matches
bool matches(const cModule *module) const
Definition: ModuleFilter.cc:19
inet::visualizer::InfoVisualizerBase::infoVisualizations
std::vector< const InfoVisualization * > infoVisualizations
Definition: InfoVisualizerBase.h:56
inet::visualizer::InfoVisualizerBase::format
StringFormat format
Definition: InfoVisualizerBase.h:47
inet::StringFormat::formatString
const char * formatString(IDirectiveResolver *resolver) const
Definition: StringFormat.cc:17
inet::visualizer::InfoVisualizerBase::backgroundColor
cFigure::Color backgroundColor
Definition: InfoVisualizerBase.h:50
inet::visualizer::InfoVisualizerBase::textColor
cFigure::Color textColor
Definition: InfoVisualizerBase.h:49
inet::DiffservUtil::Color
Color
Definition: DiffservUtil.h:17
inet::visualizer::InfoVisualizerBase::placementHint
Placement placementHint
Definition: InfoVisualizerBase.h:52
inet::visualizer::ModuleFilter::setPattern
void setPattern(const char *pattern)
Definition: ModuleFilter.cc:14
inet::visualizer::InfoVisualizerBase::addInfoVisualizations
virtual void addInfoVisualizations()
Definition: InfoVisualizerBase.cc:103
inet::visualizer::VisualizerBase::initialize
virtual void initialize(int stage) override
Definition: VisualizerBase.cc:23