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

#include <InfoCanvasVisualizer.h>

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

Classes

class  InfoCanvasVisualization
 

Protected Member Functions

virtual void initialize (int stage) override
 
virtual InfoVisualizationcreateInfoVisualization (cModule *module) const override
 
virtual void addInfoVisualization (const InfoVisualization *infoVisualization) override
 
virtual void removeInfoVisualization (const InfoVisualization *infoVisualization) override
 
virtual void refreshInfoVisualization (const InfoVisualization *infoVisualization, const char *info) const override
 
- Protected Member Functions inherited from inet::visualizer::InfoVisualizerBase
virtual void handleParameterChange (const char *name) override
 
virtual void refreshDisplay () const override
 
virtual void addInfoVisualizations ()
 
virtual void removeAllInfoVisualizations ()
 
virtual const char * getInfoVisualizationText (cModule *module) const
 
- 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

double zIndex = NaN
 
ModuleRefByPar< NetworkNodeCanvasVisualizernetworkNodeVisualizer
 
- Protected Attributes inherited from inet::visualizer::InfoVisualizerBase
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
 
- Protected Attributes inherited from inet::visualizer::VisualizerBase
cModule * visualizationTargetModule = nullptr
 
cModule * visualizationSubjectModule = nullptr
 
const char * tags = nullptr
 

Additional Inherited Members

- Public Member Functions inherited from inet::visualizer::InfoVisualizerBase
virtual void preDelete (cComponent *root) override
 

Member Function Documentation

◆ addInfoVisualization()

void inet::visualizer::InfoCanvasVisualizer::addInfoVisualization ( const InfoVisualization infoVisualization)
overrideprotectedvirtual

Reimplemented from inet::visualizer::InfoVisualizerBase.

58 {
60  auto infoCanvasVisualization = static_cast<const InfoCanvasVisualization *>(infoVisualization);
61  auto figure = infoCanvasVisualization->figure;
62  infoCanvasVisualization->networkNodeVisualization->addAnnotation(figure, figure->getBounds().getSize(), placementHint, placementPriority);
63 }

◆ createInfoVisualization()

InfoVisualizerBase::InfoVisualization * inet::visualizer::InfoCanvasVisualizer::createInfoVisualization ( cModule *  module) const
overrideprotectedvirtual

Implements inet::visualizer::InfoVisualizerBase.

41 {
42  auto figure = new BoxedLabelFigure("info");
43  figure->setTags((std::string("info ") + tags).c_str());
44  figure->setTooltip("This label represents some module information");
45  figure->setAssociatedObject(module);
46  figure->setZIndex(zIndex);
47  figure->setFont(font);
48  figure->setText(getInfoVisualizationText(module));
49  figure->setLabelColor(textColor);
50  figure->setBackgroundColor(backgroundColor);
51  figure->setOpacity(opacity);
52  auto networkNode = getContainingNode(module);
53  auto networkNodeVisualization = networkNodeVisualizer->getNetworkNodeVisualization(networkNode);
54  return new InfoCanvasVisualization(networkNodeVisualization, figure, module->getId());
55 }

◆ initialize()

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

Reimplemented from inet::visualizer::InfoVisualizerBase.

31 {
33  if (!hasGUI()) return;
34  if (stage == INITSTAGE_LOCAL) {
35  zIndex = par("zIndex");
36  networkNodeVisualizer.reference(this, "networkNodeVisualizerModule", true);
37  }
38 }

◆ refreshInfoVisualization()

void inet::visualizer::InfoCanvasVisualizer::refreshInfoVisualization ( const InfoVisualization infoVisualization,
const char *  info 
) const
overrideprotectedvirtual

Implements inet::visualizer::InfoVisualizerBase.

75 {
76  auto infoCanvasVisualization = static_cast<const InfoCanvasVisualization *>(infoVisualization);
77  auto figure = infoCanvasVisualization->figure;
78  figure->setText(info);
79  infoCanvasVisualization->networkNodeVisualization->setAnnotationSize(figure, figure->getBounds().getSize());
80 }

◆ removeInfoVisualization()

void inet::visualizer::InfoCanvasVisualizer::removeInfoVisualization ( const InfoVisualization infoVisualization)
overrideprotectedvirtual

Reimplemented from inet::visualizer::InfoVisualizerBase.

66 {
68  auto infoCanvasVisualization = static_cast<const InfoCanvasVisualization *>(infoVisualization);
69  auto figure = infoCanvasVisualization->figure;
70  if (networkNodeVisualizer != nullptr)
71  infoCanvasVisualization->networkNodeVisualization->removeAnnotation(figure);
72 }

Member Data Documentation

◆ networkNodeVisualizer

ModuleRefByPar<NetworkNodeCanvasVisualizer> inet::visualizer::InfoCanvasVisualizer::networkNodeVisualizer
protected

◆ zIndex

double inet::visualizer::InfoCanvasVisualizer::zIndex = NaN
protected

The documentation for this class was generated from the following files:
inet::visualizer::InfoVisualizerBase::initialize
virtual void initialize(int stage) override
Definition: InfoVisualizerBase.cc:49
inet::getContainingNode
cModule * getContainingNode(const cModule *from)
Find the node containing the given module.
Definition: ModuleAccess.cc:40
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::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::InfoCanvasVisualizer::networkNodeVisualizer
ModuleRefByPar< NetworkNodeCanvasVisualizer > networkNodeVisualizer
Definition: InfoCanvasVisualizer.h:36
inet::visualizer::InfoVisualizerBase::backgroundColor
cFigure::Color backgroundColor
Definition: InfoVisualizerBase.h:50
inet::visualizer::InfoVisualizerBase::textColor
cFigure::Color textColor
Definition: InfoVisualizerBase.h:49
inet::visualizer::InfoCanvasVisualizer::zIndex
double zIndex
Definition: InfoCanvasVisualizer.h:35
inet::visualizer::InfoVisualizerBase::placementHint
Placement placementHint
Definition: InfoVisualizerBase.h:52
inet::visualizer::VisualizerBase::tags
const char * tags
Definition: VisualizerBase.h:27