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

#include <StatisticOsgVisualizer.h>

Inheritance diagram for inet::visualizer::StatisticOsgVisualizer:
inet::visualizer::StatisticVisualizerBase inet::visualizer::VisualizerBase

Classes

class  StatisticOsgVisualization
 

Protected Member Functions

virtual void initialize (int stage) override
 
virtual StatisticVisualizationcreateStatisticVisualization (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
 
- Protected Member Functions inherited from inet::visualizer::StatisticVisualizerBase
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 LastValueRecordergetResultRecorder (cComponent *source, simsignal_t signal)
 
virtual LastValueRecorderfindResultRecorder (cResultListener *resultListener)
 
virtual std::string getText (const StatisticVisualization *statisticVisualization)
 
virtual const char * getUnit (cComponent *source)
 
virtual std::string getRecordingMode ()
 
virtual const StatisticVisualizationgetStatisticVisualization (cComponent *source, simsignal_t signal)
 
virtual void removeAllStatisticVisualizations ()
 
virtual void processSignal (cComponent *source, simsignal_t signal, std::function< void(cIListener *)> receiveSignal)
 
- 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

ModuleRefByPar< NetworkNodeOsgVisualizernetworkNodeVisualizer
 
- Protected Attributes inherited from inet::visualizer::StatisticVisualizerBase
bool displayStatistics = false
 
ModuleFilter sourceFilter
 
const char * signalName = nullptr
 
const char * statisticName = nullptr
 
const char * statisticUnit = nullptr
 
const char * statisticExpression = nullptr
 
StringFormat format
 
std::vector< std::string > units
 
cFigure::Font font
 
cFigure::Color textColor
 
cFigure::Color backgroundColor
 
double opacity = NaN
 
Placement placementHint
 
double placementPriority
 
std::map< std::pair< int, simsignal_t >, const StatisticVisualization * > statisticVisualizations
 
- 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::StatisticVisualizerBase
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
 

Member Function Documentation

◆ addStatisticVisualization()

void inet::visualizer::StatisticOsgVisualizer::addStatisticVisualization ( const StatisticVisualization statisticVisualization)
overrideprotectedvirtual

Reimplemented from inet::visualizer::StatisticVisualizerBase.

54 {
56  auto statisticOsgVisualization = static_cast<const StatisticOsgVisualization *>(statisticVisualization);
57  statisticOsgVisualization->networkNodeVisualization->addAnnotation(statisticOsgVisualization->node, osg::Vec3d(100, 18, 0), 1.0);
58 }

◆ createStatisticVisualization()

StatisticVisualizerBase::StatisticVisualization * inet::visualizer::StatisticOsgVisualizer::createStatisticVisualization ( cComponent *  source,
simsignal_t  signal 
)
overrideprotectedvirtual

Implements inet::visualizer::StatisticVisualizerBase.

36 {
37  auto label = new osgText::Text();
38  label->setCharacterSize(18);
39  label->setBoundingBoxColor(osg::Vec4(backgroundColor.red / 255.0, backgroundColor.green / 255.0, backgroundColor.blue / 255.0, 0.5));
40  label->setColor(osg::Vec4(textColor.red / 255.0, textColor.green / 255.0, textColor.blue / 255.0, 0.5));
41  label->setAlignment(osgText::Text::CENTER_BOTTOM);
42  label->setText("");
43  label->setDrawMode(osgText::Text::FILLEDBOUNDINGBOX | osgText::Text::TEXT);
44  label->setPosition(osg::Vec3(0.0, 0.0, 0.0));
45  auto geode = new osg::Geode();
46  geode->getOrCreateStateSet()->setMode(GL_LIGHTING, osg::StateAttribute::OFF | osg::StateAttribute::OVERRIDE);
47  geode->addDrawable(label);
48  auto networkNode = getContainingNode(check_and_cast<cModule *>(source));
49  auto networkNodeVisualization = networkNodeVisualizer->getNetworkNodeVisualization(networkNode);
50  return new StatisticOsgVisualization(networkNodeVisualization, geode, source->getId(), signal, getUnit(source));
51 }

◆ initialize()

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

Reimplemented from inet::visualizer::StatisticVisualizerBase.

27 {
29  if (!hasGUI()) return;
30  if (stage == INITSTAGE_LOCAL) {
31  networkNodeVisualizer.reference(this, "networkNodeVisualizerModule", true);
32  }
33 }

◆ refreshStatisticVisualization()

void inet::visualizer::StatisticOsgVisualizer::refreshStatisticVisualization ( const StatisticVisualization statisticVisualization)
overrideprotectedvirtual

Reimplemented from inet::visualizer::StatisticVisualizerBase.

69 {
71  auto statisticOsgVisualization = static_cast<const StatisticOsgVisualization *>(statisticVisualization);
72  auto geode = check_and_cast<osg::Geode *>(statisticOsgVisualization->node);
73  auto label = check_and_cast<osgText::Text *>(geode->getDrawable(0));
74  label->setText(getText(statisticVisualization));
75 }

◆ removeStatisticVisualization()

void inet::visualizer::StatisticOsgVisualizer::removeStatisticVisualization ( const StatisticVisualization statisticVisualization)
overrideprotectedvirtual

Reimplemented from inet::visualizer::StatisticVisualizerBase.

61 {
63  auto statisticOsgVisualization = static_cast<const StatisticOsgVisualization *>(statisticVisualization);
64  if (networkNodeVisualizer != nullptr)
65  statisticOsgVisualization->networkNodeVisualization->removeAnnotation(statisticOsgVisualization->node);
66 }

Member Data Documentation

◆ networkNodeVisualizer

ModuleRefByPar<NetworkNodeOsgVisualizer> inet::visualizer::StatisticOsgVisualizer::networkNodeVisualizer
protected

The documentation for this class was generated from the following files:
inet::visualizer::StatisticVisualizerBase::backgroundColor
cFigure::Color backgroundColor
Definition: StatisticVisualizerBase.h:74
inet::getContainingNode
cModule * getContainingNode(const cModule *from)
Find the node containing the given module.
Definition: ModuleAccess.cc:40
inet::visualizer::StatisticVisualizerBase::getUnit
virtual const char * getUnit(cComponent *source)
Definition: StatisticVisualizerBase.cc:164
inet::visualizer::StatisticVisualizerBase::getText
virtual std::string getText(const StatisticVisualization *statisticVisualization)
Definition: StatisticVisualizerBase.cc:158
inet::visualizer::StatisticVisualizerBase::removeStatisticVisualization
virtual void removeStatisticVisualization(const StatisticVisualization *statisticVisualization)
Definition: StatisticVisualizerBase.cc:199
inet::visualizer::StatisticVisualizerBase::textColor
cFigure::Color textColor
Definition: StatisticVisualizerBase.h:73
inet::visualizer::StatisticOsgVisualizer::networkNodeVisualizer
ModuleRefByPar< NetworkNodeOsgVisualizer > networkNodeVisualizer
Definition: StatisticOsgVisualizer.h:35
inet::INITSTAGE_LOCAL
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
inet::visualizer::StatisticVisualizerBase::refreshStatisticVisualization
virtual void refreshStatisticVisualization(const StatisticVisualization *statisticVisualization)
Definition: StatisticVisualizerBase.cc:234
inet::visualizer::StatisticVisualizerBase::addStatisticVisualization
virtual void addStatisticVisualization(const StatisticVisualization *statisticVisualization)
Definition: StatisticVisualizerBase.cc:193
inet::visualizer::StatisticVisualizerBase::initialize
virtual void initialize(int stage) override
Definition: StatisticVisualizerBase.cc:62