INET Framework for OMNeT++/OMNEST
inet::FigureRecorder Class Reference

#include <FigureRecorder.h>

Inheritance diagram for inet::FigureRecorder:

Protected Member Functions

virtual void init (Context *ctx) override
 
virtual void collect (simtime_t_cref t, double value, cObject *details) override
 

Protected Attributes

IIndicatorFigureindicatorFigure = nullptr
 
int series = 0
 

Member Function Documentation

◆ collect()

void inet::FigureRecorder::collect ( simtime_t_cref  t,
double  value,
cObject *  details 
)
overrideprotectedvirtual
42 {
43  indicatorFigure->setValue(series, t, value);
44 }

◆ init()

void inet::FigureRecorder::init ( Context *  ctx)
overrideprotectedvirtual
16 {
17  cNumericResultRecorder::init(ctx);
18 
19  cModule *module = check_and_cast<cModule *>(getComponent());
20  const char *figureSpec = ctx->attrsProperty->getValue("targetFigure");
21  if (!figureSpec)
22  figureSpec = ctx->statisticName;
23  std::string figureName;
24  int series;
25  if (const char *lastColon = strrchr(figureSpec, ':')) {
26  figureName = std::string(figureSpec, lastColon - figureSpec).c_str();
27  series = utils::atoul(lastColon + 1);
28  }
29  else {
30  figureName = figureSpec;
31  series = 0;
32  }
33  cFigure *figure = module->getCanvas()->getFigureByPath(figureName.c_str());
34  if (!figure)
35  throw cRuntimeError("Figure '%s' in module '%s' not found", figureName.c_str(), module->getFullPath().c_str());
36  indicatorFigure = check_and_cast<IIndicatorFigure *>(figure);
38  throw cRuntimeError("series :%d is out of bounds, figure '%s' supports %d series", series, figureName.c_str(), indicatorFigure->getNumSeries());
39 }

Member Data Documentation

◆ indicatorFigure

IIndicatorFigure* inet::FigureRecorder::indicatorFigure = nullptr
protected

Referenced by collect(), and init().

◆ series

int inet::FigureRecorder::series = 0
protected

Referenced by collect(), and init().


The documentation for this class was generated from the following files:
inet::IIndicatorFigure::getNumSeries
virtual int getNumSeries() const
Definition: IIndicatorFigure.h:20
inet::FigureRecorder::series
int series
Definition: FigureRecorder.h:18
inet::FigureRecorder::indicatorFigure
IIndicatorFigure * indicatorFigure
Definition: FigureRecorder.h:17
inet::utils::atoul
unsigned long atoul(const char *s)
Converts string to unsigned long.
Definition: INETUtils.cc:89
inet::IIndicatorFigure::setValue
virtual void setValue(int series, simtime_t timestamp, double value)=0