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

#include <SceneOsgVisualizer.h>

Inheritance diagram for inet::visualizer::SceneOsgVisualizer:
inet::visualizer::SceneOsgVisualizerBase inet::visualizer::SceneVisualizerBase inet::visualizer::VisualizerBase

Protected Member Functions

virtual void initialize (int stage) override
 
virtual void initializeScene () override
 
virtual void initializeViewpoint ()
 
- Protected Member Functions inherited from inet::visualizer::SceneOsgVisualizerBase
virtual void initializeAxis (double axisLength)
 
virtual void initializeSceneFloor ()
 
virtual osg::Geode * createSceneFloor (const Coord &min, const Coord &max, cFigure::Color &color, osg::Image *image, double imageSize, double opacity, bool shading) const
 
virtual osg::BoundingSphere getNetworkBoundingSphere ()
 
- Protected Member Functions inherited from inet::visualizer::SceneVisualizerBase
virtual Box getSceneBounds ()
 
- 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
 

Additional Inherited Members

- Protected Attributes inherited from inet::visualizer::SceneVisualizerBase
Coord sceneMin
 
Coord sceneMax
 
- Protected Attributes inherited from inet::visualizer::VisualizerBase
cModule * visualizationTargetModule = nullptr
 
cModule * visualizationSubjectModule = nullptr
 
const char * tags = nullptr
 

Member Function Documentation

◆ initialize()

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

Reimplemented from inet::visualizer::SceneVisualizerBase.

24 {
26  if (!hasGUI()) return;
27  if (stage == INITSTAGE_LOCAL)
29  else if (stage == INITSTAGE_LAST) {
30  if (par("displayScene"))
32  double axisLength = par("axisLength");
33  if (!std::isnan(axisLength))
34  initializeAxis(axisLength);
36  }
37 }

◆ initializeScene()

void inet::visualizer::SceneOsgVisualizer::initializeScene ( )
overrideprotectedvirtual

Reimplemented from inet::visualizer::SceneOsgVisualizerBase.

40 {
42  auto topLevelScene = check_and_cast<inet::osg::TopLevelScene *>(visualizationTargetModule->getOsgCanvas()->getScene());
43  topLevelScene->addChild(new inet::osg::SimulationScene());
44 }

Referenced by initialize().

◆ initializeViewpoint()

void inet::visualizer::SceneOsgVisualizer::initializeViewpoint ( )
protectedvirtual
47 {
48  auto boundingSphere = getNetworkBoundingSphere();
49  auto center = boundingSphere.center();
50  auto radius = boundingSphere.radius();
51  double cameraDistanceFactor = par("cameraDistanceFactor");
52  auto eye = cOsgCanvas::Vec3d(center.x() + cameraDistanceFactor * radius, center.y() + cameraDistanceFactor * radius, center.z() + cameraDistanceFactor * radius);
53  auto viewpointCenter = cOsgCanvas::Vec3d(center.x(), center.y(), center.z());
54  auto osgCanvas = visualizationTargetModule->getOsgCanvas();
55  osgCanvas->setGenericViewpoint(cOsgCanvas::Viewpoint(eye, viewpointCenter, cOsgCanvas::Vec3d(0, 0, 1)));
56 }

Referenced by initialize().


The documentation for this class was generated from the following files:
inet::visualizer::SceneOsgVisualizerBase::initializeSceneFloor
virtual void initializeSceneFloor()
Definition: SceneOsgVisualizerBase.cc:72
inet::visualizer::SceneOsgVisualizer::initializeScene
virtual void initializeScene() override
Definition: SceneOsgVisualizer.cc:39
inet::INITSTAGE_LAST
INET_API InitStage INITSTAGE_LAST
Operations that no other initializations can depend on, e.g.
inet::visualizer::SceneOsgVisualizerBase::getNetworkBoundingSphere
virtual osg::BoundingSphere getNetworkBoundingSphere()
Definition: SceneOsgVisualizerBase.cc:168
inet::visualizer::VisualizerBase::visualizationTargetModule
cModule * visualizationTargetModule
Definition: VisualizerBase.h:25
inet::INITSTAGE_LOCAL
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
inet::visualizer::SceneOsgVisualizerBase::initializeScene
virtual void initializeScene()
Definition: SceneOsgVisualizerBase.cc:24
inet::osg::SimulationScene
This class is used for the root of the OSG nodes of all kinds of simulation visualization.
Definition: OsgScene.h:41
inet::visualizer::SceneOsgVisualizerBase::initializeAxis
virtual void initializeAxis(double axisLength)
Definition: SceneOsgVisualizerBase.cc:56
inet::visualizer::SceneOsgVisualizer::initializeViewpoint
virtual void initializeViewpoint()
Definition: SceneOsgVisualizer.cc:46
inet::visualizer::SceneVisualizerBase::initialize
virtual void initialize(int stage) override
Definition: SceneVisualizerBase.cc:20