|
INET Framework for OMNeT++/OMNEST
|
#include <LinkOsgVisualizerBase.h>
|
| virtual void | initialize (int stage) override |
| |
| virtual void | refreshDisplay () const override |
| |
| virtual const LinkVisualization * | createLinkVisualization (cModule *source, cModule *destination, cPacket *packet) const override |
| |
| virtual void | addLinkVisualization (std::pair< int, int > sourceAndDestination, const LinkVisualization *linkVisualization) override |
| |
| virtual void | removeLinkVisualization (const LinkVisualization *linkVisualization) override |
| |
| virtual void | setAlpha (const LinkVisualization *linkVisualization, double alpha) const override |
| |
| virtual void | handleParameterChange (const char *name) override |
| |
| virtual void | preDelete (cComponent *root) override |
| |
| virtual void | subscribe () |
| |
| virtual void | unsubscribe () |
| |
| virtual bool | isLinkStart (cModule *module) const =0 |
| |
| virtual bool | isLinkEnd (cModule *module) const =0 |
| |
| virtual const LinkVisualization * | getLinkVisualization (std::pair< int, int > linkVisualization) |
| |
| virtual void | removeAllLinkVisualizations () |
| |
| virtual cModule * | getLastModule (int treeId) |
| |
| virtual void | setLastModule (int treeId, cModule *lastModule) |
| |
| virtual void | removeLastModule (int treeId) |
| |
| virtual std::string | getLinkVisualizationText (cPacket *packet) const |
| |
| virtual void | refreshLinkVisualization (const LinkVisualization *linkVisualization, cPacket *packet) |
| |
| virtual void | updateLinkVisualization (cModule *source, cModule *destination, cPacket *packet) |
| |
| 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 |
| |
◆ addLinkVisualization()
| void inet::visualizer::LinkOsgVisualizerBase::addLinkVisualization |
( |
std::pair< int, int > |
sourceAndDestination, |
|
|
const LinkVisualization * |
linkVisualization |
|
) |
| |
|
overrideprotectedvirtual |
Reimplemented from inet::visualizer::LinkVisualizerBase.
71 auto linkOsgVisualization =
static_cast<const LinkOsgVisualization *
>(linkVisualization);
74 scene->addChild(linkOsgVisualization->node);
◆ createLinkVisualization()
◆ initialize()
| void inet::visualizer::LinkOsgVisualizerBase::initialize |
( |
int |
stage | ) |
|
|
overrideprotectedvirtual |
◆ refreshDisplay()
| void inet::visualizer::LinkOsgVisualizerBase::refreshDisplay |
( |
| ) |
const |
|
overrideprotectedvirtual |
Reimplemented from inet::visualizer::LinkVisualizerBase.
41 auto simulation = getSimulation();
44 auto linkVisualization = it.second;
45 auto sourceModule = simulation->getModule(linkVisualization->sourceModuleId);
46 auto destinationModule = simulation->getModule(linkVisualization->destinationModuleId);
47 if (sourceModule !=
nullptr && destinationModule !=
nullptr) {
48 auto linkOsgVisualization =
static_cast<const LinkOsgVisualization *
>(linkVisualization);
52 linkOsgVisualization->node->setStart(sourcePosition + shift);
53 linkOsgVisualization->node->setEnd(destinationPosition + shift);
◆ removeLinkVisualization()
| void inet::visualizer::LinkOsgVisualizerBase::removeLinkVisualization |
( |
const LinkVisualization * |
linkVisualization | ) |
|
|
overrideprotectedvirtual |
Reimplemented from inet::visualizer::LinkVisualizerBase.
80 auto linkOsgVisualization =
static_cast<const LinkOsgVisualization *
>(linkVisualization);
81 auto node = linkOsgVisualization->node;
83 node->getParent(0)->removeChild(node);
◆ setAlpha()
| void inet::visualizer::LinkOsgVisualizerBase::setAlpha |
( |
const LinkVisualization * |
linkVisualization, |
|
|
double |
alpha |
|
) |
| const |
|
overrideprotectedvirtual |
Implements inet::visualizer::LinkVisualizerBase.
88 auto linkOsgVisualization =
static_cast<const LinkOsgVisualization *
>(link);
89 auto node = linkOsgVisualization->node;
90 auto material =
static_cast<osg::Material *
>(node->getOrCreateStateSet()->getAttribute(osg::StateAttribute::MATERIAL));
91 material->setAlpha(osg::Material::FRONT_AND_BACK,
alpha);
The documentation for this class was generated from the following files:
cFigure::LineStyle lineStyle
Definition: LinkVisualizerBase.h:61
std::map< std::pair< int, int >, const LinkVisualization * > linkVisualizations
Maps source/destination module ids to link visualizations.
Definition: LinkVisualizerBase.h:84
double lineWidth
Definition: LinkVisualizerBase.h:62
StateSet * createLineStateSet(const cFigure::Color &color, const cFigure::LineStyle &style, double width, bool overlay)
Definition: OsgUtils.cc:293
const char * lineContactMode
Definition: LinkVisualizerBase.h:66
cModule * visualizationTargetModule
Definition: VisualizerBase.h:25
virtual SimulationScene * getSimulationScene()
Definition: OsgScene.cc:22
const char * lineShiftMode
Definition: LinkVisualizerBase.h:64
Coord getLineShift(int sourceModuleId, int destinationModuleId, const Coord &sourcePosition, const Coord &destinationPosition, const char *shiftMode, int shiftOffset)
Definition: LineManager.cc:105
virtual Coord getContactPosition(const cModule *networkNode, const Coord &fromPosition, const char *contactMode, double contactSpacing) const
Definition: VisualizerBase.cc:51
virtual void initialize(int stage) override
Definition: LinkVisualizerBase.cc:48
virtual Coord getPosition(const cModule *networkNode) const
Definition: VisualizerBase.cc:39
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
double lineContactSpacing
Definition: LinkVisualizerBase.h:65
LineManager * lineManager
Definition: LinkVisualizerBase.h:76
static LineManager * getOsgLineManager(const cCanvas *canvas)
Definition: LineManager.cc:24
double fadeOutAnimationSpeed
Definition: LinkVisualizerBase.h:72
const value< double, units::unit > alpha(7.2973525376e-3)
cFigure::Color lineColor
Definition: LinkVisualizerBase.h:60
double lineShift
Definition: LinkVisualizerBase.h:63
virtual void removeLinkVisualization(const LinkVisualization *linkVisualization)
Definition: LinkVisualizerBase.cc:182
virtual void refreshDisplay() const override
Definition: LinkVisualizerBase.cc:99
void removeModuleLine(const ModuleLine *moduleLine)
Definition: LineManager.cc:75
virtual void addLinkVisualization(std::pair< int, int > sourceAndDestination, const LinkVisualization *linkVisualization)
Definition: LinkVisualizerBase.cc:175
Definition: OsgUtils.h:64
void addModuleLine(const ModuleLine *moduleLine)
Definition: LineManager.cc:67