#include <MobilityOsgVisualizer.h>
◆ addMobilityVisualization()
Reimplemented from inet::visualizer::MobilityVisualizerBase.
64 auto mobilityOsgVisualization =
static_cast<MobilityOsgVisualization *
>(mobilityVisualization);
67 scene->addChild(mobilityOsgVisualization->trail);
◆ createMobilityVisualization()
Implements inet::visualizer::MobilityVisualizerBase.
54 auto module =
const_cast<cModule *
>(check_and_cast<const cModule *>(mobility));
55 auto trail =
new osg::Geode();
57 trail->getOrCreateStateSet()->setMode(GL_LIGHTING, osg::StateAttribute::OFF | osg::StateAttribute::OVERRIDE);
58 return new MobilityOsgVisualization(trail, mobility);
◆ extendMovementTrail()
| void inet::visualizer::MobilityOsgVisualizer::extendMovementTrail |
( |
osg::Geode * |
trail, |
|
|
const Coord & |
position |
|
) |
| const |
|
protectedvirtual |
81 if (trail->getNumDrawables() == 0)
84 auto drawable =
static_cast<osg::Geometry *
>(trail->getDrawable(0));
85 auto vertices =
static_cast<osg::Vec3Array *
>(drawable->getVertexArray());
86 auto lastPosition = vertices->at(vertices->size() - 1);
87 auto dx = lastPosition.x() - position.x;
88 auto dy = lastPosition.y() - position.y;
89 auto dz = lastPosition.z() - position.z;
91 if (dx * dx + dy * dy + dz * dz > 1) {
92 vertices->push_back(osg::Vec3d(position.x, position.y, position.z));
94 vertices->erase(vertices->begin(), vertices->begin() + 1);
95 auto drawArrays =
static_cast<osg::DrawArrays *
>(drawable->getPrimitiveSet(0));
96 drawArrays->setFirst(0);
97 drawArrays->setCount(vertices->size());
98 drawable->dirtyBound();
99 drawable->dirtyDisplayList();
Referenced by refreshDisplay().
◆ initialize()
| void inet::visualizer::MobilityOsgVisualizer::initialize |
( |
int |
stage | ) |
|
|
overrideprotectedvirtual |
◆ refreshDisplay()
| void inet::visualizer::MobilityOsgVisualizer::refreshDisplay |
( |
| ) |
const |
|
overrideprotectedvirtual |
40 MobilityVisualizerBase::refreshDisplay();
42 auto mobilityVisualization =
static_cast<MobilityOsgVisualization *
>(it.second);
43 auto mobility = mobilityVisualization->mobility;
44 auto position = mobility->getCurrentPosition();
◆ removeMobilityVisualization()
| void inet::visualizer::MobilityOsgVisualizer::removeMobilityVisualization |
( |
const MobilityVisualization * |
mobilityVisualization | ) |
|
|
overrideprotectedvirtual |
Reimplemented from inet::visualizer::MobilityVisualizerBase.
72 auto mobilityOsgVisualization =
static_cast<const MobilityOsgVisualization *
>(mobilityVisualization);
75 scene->removeChild(mobilityOsgVisualization->trail);
The documentation for this class was generated from the following files: