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

#include <InterfaceTableOsgVisualizer.h>

Inheritance diagram for inet::visualizer::InterfaceTableOsgVisualizer:
inet::visualizer::InterfaceTableVisualizerBase inet::visualizer::VisualizerBase

Classes

class  InterfaceOsgVisualization
 

Protected Member Functions

virtual void initialize (int stage) override
 
virtual InterfaceVisualizationcreateInterfaceVisualization (cModule *networkNode, NetworkInterface *networkInterface) override
 
virtual void addInterfaceVisualization (const InterfaceVisualization *interfaceVisualization) override
 
virtual void removeInterfaceVisualization (const InterfaceVisualization *interfaceVisualization) override
 
virtual void refreshInterfaceVisualization (const InterfaceVisualization *interfaceVisualization, const NetworkInterface *networkInterface) override
 
- Protected Member Functions inherited from inet::visualizer::InterfaceTableVisualizerBase
virtual void handleParameterChange (const char *name) override
 
virtual void preDelete (cComponent *root) override
 
virtual void subscribe ()
 
virtual void unsubscribe ()
 
virtual cModule * getNetworkNode (const InterfaceVisualization *interfaceVisualization)
 
virtual cGate * getOutputGate (cModule *networkNode, NetworkInterface *networkInterface)
 
virtual cGate * getOutputGate (const InterfaceVisualization *interfaceVisualization)
 
virtual const InterfaceVisualizationgetInterfaceVisualization (cModule *networkNode, NetworkInterface *networkInterface)
 
virtual void addAllInterfaceVisualizations ()
 
virtual void removeAllInterfaceVisualizations ()
 
virtual void updateAllInterfaceVisualizations ()
 
virtual std::string getVisualizationText (const NetworkInterface *networkInterface)
 
- 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::InterfaceTableVisualizerBase
bool displayInterfaceTables = false
 
bool displayWiredInterfacesAtConnections = false
 
bool displayBackground = false
 
NetworkNodeFilter nodeFilter
 
InterfaceFilter interfaceFilter
 
StringFormat format
 
Placement placementHint
 
double placementPriority
 
cFigure::Font font
 
cFigure::Color textColor
 
cFigure::Color backgroundColor
 
double opacity = NaN
 
std::map< std::pair< int, int >, const InterfaceVisualization * > interfaceVisualizations
 
- 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::InterfaceTableVisualizerBase
virtual void receiveSignal (cComponent *source, simsignal_t signal, cObject *object, cObject *details) override
 

Member Function Documentation

◆ addInterfaceVisualization()

void inet::visualizer::InterfaceTableOsgVisualizer::addInterfaceVisualization ( const InterfaceVisualization interfaceVisualization)
overrideprotectedvirtual

Reimplemented from inet::visualizer::InterfaceTableVisualizerBase.

55 {
57  auto interfaceOsgVisualization = static_cast<const InterfaceOsgVisualization *>(interfaceVisualization);
58  interfaceOsgVisualization->networkNodeVisualization->addAnnotation(interfaceOsgVisualization->node, osg::Vec3d(100, 18, 0), 1.0);
59 }

◆ createInterfaceVisualization()

InterfaceTableVisualizerBase::InterfaceVisualization * inet::visualizer::InterfaceTableOsgVisualizer::createInterfaceVisualization ( cModule *  networkNode,
NetworkInterface networkInterface 
)
overrideprotectedvirtual

Implements inet::visualizer::InterfaceTableVisualizerBase.

36 {
37  auto gate = getOutputGate(networkNode, networkInterface);
38  auto label = new osgText::Text();
39  label->setCharacterSize(18);
40  label->setBoundingBoxColor(osg::Vec4(backgroundColor.red / 255.0, backgroundColor.green / 255.0, backgroundColor.blue / 255.0, opacity));
41  label->setColor(osg::Vec4(textColor.red / 255.0, textColor.green / 255.0, textColor.blue / 255.0, opacity));
42  label->setAlignment(osgText::Text::CENTER_BOTTOM);
43  label->setText(getVisualizationText(networkInterface).c_str());
44  label->setDrawMode(osgText::Text::FILLEDBOUNDINGBOX | osgText::Text::TEXT);
45  label->setPosition(osg::Vec3(0.0, 0.0, 0.0));
46  auto geode = new osg::Geode();
47  geode->getOrCreateStateSet()->setMode(GL_LIGHTING, osg::StateAttribute::OFF | osg::StateAttribute::OVERRIDE);
48  geode->getOrCreateStateSet()->setMode(GL_DEPTH_TEST, osg::StateAttribute::OFF | osg::StateAttribute::OVERRIDE);
49  geode->addDrawable(label);
50  auto networkNodeVisualization = networkNodeVisualizer->getNetworkNodeVisualization(networkNode);
51  return new InterfaceOsgVisualization(networkNodeVisualization, geode, networkNode->getId(), gate == nullptr ? -1 : gate->getId(), networkInterface->getInterfaceId());
52 }

◆ initialize()

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

Reimplemented from inet::visualizer::InterfaceTableVisualizerBase.

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

◆ refreshInterfaceVisualization()

void inet::visualizer::InterfaceTableOsgVisualizer::refreshInterfaceVisualization ( const InterfaceVisualization interfaceVisualization,
const NetworkInterface networkInterface 
)
overrideprotectedvirtual

Implements inet::visualizer::InterfaceTableVisualizerBase.

70 {
71  auto interfaceOsgVisualization = static_cast<const InterfaceOsgVisualization *>(interfaceVisualization);
72  auto geode = check_and_cast<osg::Geode *>(interfaceOsgVisualization->node);
73  auto label = check_and_cast<osgText::Text *>(geode->getDrawable(0));
74  label->setText(getVisualizationText(networkInterface).c_str());
75 }

◆ removeInterfaceVisualization()

void inet::visualizer::InterfaceTableOsgVisualizer::removeInterfaceVisualization ( const InterfaceVisualization interfaceVisualization)
overrideprotectedvirtual

Reimplemented from inet::visualizer::InterfaceTableVisualizerBase.

62 {
64  auto interfaceOsgVisualization = static_cast<const InterfaceOsgVisualization *>(interfaceVisualization);
65  if (networkNodeVisualizer != nullptr)
66  interfaceOsgVisualization->networkNodeVisualization->removeAnnotation(interfaceOsgVisualization->node);
67 }

Member Data Documentation

◆ networkNodeVisualizer

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

The documentation for this class was generated from the following files:
inet::visualizer::InterfaceTableVisualizerBase::textColor
cFigure::Color textColor
Definition: InterfaceTableVisualizerBase.h:59
inet::visualizer::InterfaceTableVisualizerBase::backgroundColor
cFigure::Color backgroundColor
Definition: InterfaceTableVisualizerBase.h:60
inet::visualizer::InterfaceTableVisualizerBase::opacity
double opacity
Definition: InterfaceTableVisualizerBase.h:61
inet::visualizer::InterfaceTableVisualizerBase::removeInterfaceVisualization
virtual void removeInterfaceVisualization(const InterfaceVisualization *interfaceVisualization)
Definition: InterfaceTableVisualizerBase.cc:240
inet::visualizer::InterfaceTableVisualizerBase::getOutputGate
virtual cGate * getOutputGate(cModule *networkNode, NetworkInterface *networkInterface)
Definition: InterfaceTableVisualizerBase.cc:186
inet::INITSTAGE_LOCAL
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
inet::visualizer::InterfaceTableVisualizerBase::initialize
virtual void initialize(int stage) override
Definition: InterfaceTableVisualizerBase.cc:123
inet::visualizer::InterfaceTableOsgVisualizer::networkNodeVisualizer
ModuleRefByPar< NetworkNodeOsgVisualizer > networkNodeVisualizer
Definition: InterfaceTableOsgVisualizer.h:35
inet::visualizer::InterfaceTableVisualizerBase::addInterfaceVisualization
virtual void addInterfaceVisualization(const InterfaceVisualization *interfaceVisualization)
Definition: InterfaceTableVisualizerBase.cc:214
inet::visualizer::InterfaceTableVisualizerBase::getVisualizationText
virtual std::string getVisualizationText(const NetworkInterface *networkInterface)
Definition: InterfaceTableVisualizerBase.cc:263