|
INET Framework for OMNeT++/OMNEST
|
#include <StatisticCanvasVisualizer.h>
|
| virtual void | initialize (int stage) override |
| |
| virtual StatisticVisualization * | createStatisticVisualization (cComponent *source, simsignal_t signal) override |
| |
| virtual void | addStatisticVisualization (const StatisticVisualization *statisticVisualization) override |
| |
| virtual void | removeStatisticVisualization (const StatisticVisualization *statisticVisualization) override |
| |
| virtual void | refreshStatisticVisualization (const StatisticVisualization *statisticVisualization) override |
| |
| virtual void | handleParameterChange (const char *name) override |
| |
| virtual void | preDelete (cComponent *root) override |
| |
| virtual void | subscribe () |
| |
| virtual void | unsubscribe () |
| |
| virtual void | addResultRecorder (cComponent *source, simsignal_t signal) |
| |
| virtual LastValueRecorder * | getResultRecorder (cComponent *source, simsignal_t signal) |
| |
| virtual LastValueRecorder * | findResultRecorder (cResultListener *resultListener) |
| |
| virtual std::string | getText (const StatisticVisualization *statisticVisualization) |
| |
| virtual const char * | getUnit (cComponent *source) |
| |
| virtual std::string | getRecordingMode () |
| |
| virtual const StatisticVisualization * | getStatisticVisualization (cComponent *source, simsignal_t signal) |
| |
| virtual void | removeAllStatisticVisualizations () |
| |
| virtual void | processSignal (cComponent *source, simsignal_t signal, std::function< void(cIListener *)> receiveSignal) |
| |
| 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 |
| |
|
| virtual void | receiveSignal (cComponent *source, simsignal_t signal, bool b, cObject *details) override |
| |
| virtual void | receiveSignal (cComponent *source, simsignal_t signal, intval_t l, cObject *details) override |
| |
| virtual void | receiveSignal (cComponent *source, simsignal_t signal, uintval_t l, cObject *details) override |
| |
| virtual void | receiveSignal (cComponent *source, simsignal_t signal, double d, cObject *details) override |
| |
| virtual void | receiveSignal (cComponent *source, simsignal_t signal, const SimTime &t, cObject *details) override |
| |
| virtual void | receiveSignal (cComponent *source, simsignal_t signal, const char *s, cObject *details) override |
| |
| virtual void | receiveSignal (cComponent *source, simsignal_t signal, cObject *obj, cObject *details) override |
| |
◆ addStatisticVisualization()
| void inet::visualizer::StatisticCanvasVisualizer::addStatisticVisualization |
( |
const StatisticVisualization * |
statisticVisualization | ) |
|
|
overrideprotectedvirtual |
Reimplemented from inet::visualizer::StatisticVisualizerBase.
84 auto statisticCanvasVisualization =
static_cast<const StatisticCanvasVisualization *
>(statisticVisualization);
85 auto figure = statisticCanvasVisualization->figure;
86 if (
auto indicatorFigure =
dynamic_cast<IIndicatorFigure *
>(figure))
87 statisticCanvasVisualization->networkNodeVisualization->addAnnotation(statisticCanvasVisualization->figure, indicatorFigure->getSize(),
placementHint,
placementPriority);
88 else if (
auto boxedLabelFigure = check_and_cast<BoxedLabelFigure *>(figure))
89 statisticCanvasVisualization->networkNodeVisualization->addAnnotation(statisticCanvasVisualization->figure, boxedLabelFigure->getBounds().getSize(),
placementHint,
placementPriority);
◆ createStatisticVisualization()
Implements inet::visualizer::StatisticVisualizerBase.
39 cFigure *figure =
nullptr;
40 const char *propertyName = par(
"propertyName");
41 const char *propertyIndex = par(
"propertyIndex");
42 if (!strcmp(propertyName,
"")) {
43 auto boxedLabelFigure =
new BoxedLabelFigure(
"statistic");
44 boxedLabelFigure->setFont(
font);
45 boxedLabelFigure->setText(
"");
46 boxedLabelFigure->setLabelColor(
textColor);
48 boxedLabelFigure->setOpacity(
opacity);
49 figure = boxedLabelFigure;
50 figure->setTooltip(
"This label represents the current value of a statistic");
53 cProperty *
property =
nullptr;
54 cModule *current =
this;
55 while (current !=
nullptr) {
56 property = current->getProperties()->get(propertyName, strcmp(propertyIndex,
"") ? propertyIndex :
nullptr);
57 if (property !=
nullptr)
59 current = current->getParentModule();
61 if (property ==
nullptr)
62 throw cRuntimeError(
"Cannot find property: @%s[%s] on the module path: %s", propertyName, propertyIndex, getFullPath().c_str());
63 std::string classname =
property->getValue(
"type");
64 classname[0] = toupper(classname[0]);
65 classname =
"inet::" + classname +
"Figure";
67 if (figure ==
nullptr)
68 throw cRuntimeError(
"Cannot create figure with type: %s", property->getValue(
"type"));
69 figure->parse(property);
70 figure->setName(
"statistic");
71 figure->setTooltip(
"This figure represents the value of a statistic");
73 figure->setTags((std::string(
"statistic ") +
tags).c_str());
74 figure->setAssociatedObject(source);
78 return new StatisticCanvasVisualization(networkNodeVisualization, figure, source->getId(), signal,
getUnit(source));
◆ initialize()
| void inet::visualizer::StatisticCanvasVisualizer::initialize |
( |
int |
stage | ) |
|
|
overrideprotectedvirtual |
◆ refreshStatisticVisualization()
| void inet::visualizer::StatisticCanvasVisualizer::refreshStatisticVisualization |
( |
const StatisticVisualization * |
statisticVisualization | ) |
|
|
overrideprotectedvirtual |
Reimplemented from inet::visualizer::StatisticVisualizerBase.
103 auto statisticCanvasVisualization =
static_cast<const StatisticCanvasVisualization *
>(statisticVisualization);
104 auto figure = statisticCanvasVisualization->figure;
105 if (
auto indicatorFigure =
dynamic_cast<IIndicatorFigure *
>(figure))
106 indicatorFigure->setValue(0, simTime(), statisticVisualization->recorder->getLastValue());
108 auto boxedLabelFigure = check_and_cast<BoxedLabelFigure *>(figure);
109 boxedLabelFigure->setText(
getText(statisticVisualization).c_str());
110 statisticCanvasVisualization->networkNodeVisualization->setAnnotationSize(figure, boxedLabelFigure->getBounds().getSize());
◆ removeStatisticVisualization()
| void inet::visualizer::StatisticCanvasVisualizer::removeStatisticVisualization |
( |
const StatisticVisualization * |
statisticVisualization | ) |
|
|
overrideprotectedvirtual |
Reimplemented from inet::visualizer::StatisticVisualizerBase.
95 auto statisticCanvasVisualization =
static_cast<const StatisticCanvasVisualization *
>(statisticVisualization);
97 statisticCanvasVisualization->networkNodeVisualization->removeAnnotation(statisticCanvasVisualization->figure);
◆ networkNodeVisualizer
◆ zIndex
| double inet::visualizer::StatisticCanvasVisualizer::zIndex = NaN |
|
protected |
The documentation for this class was generated from the following files:
cFigure::Color backgroundColor
Definition: StatisticVisualizerBase.h:74
double opacity
Definition: StatisticVisualizerBase.h:75
double zIndex
Definition: StatisticCanvasVisualizer.h:33
cObject * createOneIfClassIsKnown(const char *className, const char *defaultNamespace)
Like cObjectFactory::createOneIfClassIsKnown(), except it starts searching for the class in the given...
Definition: INETUtils.cc:131
cModule * getContainingNode(const cModule *from)
Find the node containing the given module.
Definition: ModuleAccess.cc:40
cFigure::Font font
Definition: StatisticVisualizerBase.h:72
ModuleRefByPar< NetworkNodeCanvasVisualizer > networkNodeVisualizer
Definition: StatisticCanvasVisualizer.h:34
double placementPriority
Definition: StatisticVisualizerBase.h:77
virtual const char * getUnit(cComponent *source)
Definition: StatisticVisualizerBase.cc:164
virtual std::string getText(const StatisticVisualization *statisticVisualization)
Definition: StatisticVisualizerBase.cc:158
virtual void removeStatisticVisualization(const StatisticVisualization *statisticVisualization)
Definition: StatisticVisualizerBase.cc:199
cFigure::Color textColor
Definition: StatisticVisualizerBase.h:73
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
virtual void refreshStatisticVisualization(const StatisticVisualization *statisticVisualization)
Definition: StatisticVisualizerBase.cc:234
const char * tags
Definition: VisualizerBase.h:27
virtual void addStatisticVisualization(const StatisticVisualization *statisticVisualization)
Definition: StatisticVisualizerBase.cc:193
Placement placementHint
Definition: StatisticVisualizerBase.h:76
virtual void initialize(int stage) override
Definition: StatisticVisualizerBase.cc:62