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

#include <SceneVisualizerBase.h>

Inheritance diagram for inet::visualizer::SceneVisualizerBase:
inet::visualizer::VisualizerBase inet::visualizer::OpenStreetMapSceneCanvasVisualizer inet::visualizer::SceneCanvasVisualizer inet::visualizer::SceneOsgVisualizerBase inet::visualizer::SceneOsgEarthVisualizer inet::visualizer::SceneOsgVisualizer

Protected Member Functions

virtual void initialize (int stage) override
 
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
 

Protected Attributes

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

Member Function Documentation

◆ getSceneBounds()

Box inet::visualizer::SceneVisualizerBase::getSceneBounds ( )
protectedvirtual
36 {
37  Coord min;
38  Coord max;
39  auto physicalEnvironment = findModuleFromPar<IPhysicalEnvironment>(par("physicalEnvironmentModule"), this);
40  if (physicalEnvironment == nullptr) {
41  auto displayString = visualizationTargetModule->getDisplayString();
42  auto width = atof(displayString.getTagArg("bgb", 0));
43  auto height = atof(displayString.getTagArg("bgb", 1));
44  min = Coord(0.0, 0.0, 0.0);
45  max = Coord(width, height, 0.0);
46  }
47  else {
48  min = physicalEnvironment->getSpaceMin();
49  max = physicalEnvironment->getSpaceMax();
50  }
51  for (int id = 0; id <= getSimulation()->getLastComponentId(); id++) {
52  auto mobility = dynamic_cast<IMobility *>(getSimulation()->getModule(id));
53  if (mobility != nullptr) {
54  min = mobility->getConstraintAreaMin().min(min);
55  max = mobility->getConstraintAreaMax().max(max);
56  }
57  }
58  min = sceneMin.min(min);
59  max = sceneMax.max(max);
60  return Box(min, max);
61 }

Referenced by inet::visualizer::SceneOsgVisualizerBase::initializeSceneFloor().

◆ initialize()

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

Reimplemented from inet::visualizer::VisualizerBase.

Reimplemented in inet::visualizer::OpenStreetMapSceneCanvasVisualizer, inet::visualizer::SceneCanvasVisualizer, and inet::visualizer::SceneOsgVisualizer.

21 {
23  if (!hasGUI()) return;
24  if (stage == INITSTAGE_LOCAL) {
25  visualizationTargetModule->getCanvas()->setAnimationSpeed(par("animationSpeed"), this);
26  sceneMin.x = par("sceneMinX");
27  sceneMin.y = par("sceneMinY");
28  sceneMin.z = par("sceneMinZ");
29  sceneMax.x = par("sceneMaxX");
30  sceneMax.y = par("sceneMaxY");
31  sceneMax.z = par("sceneMaxZ");
32  }
33 }

Referenced by inet::visualizer::SceneOsgVisualizer::initialize(), and inet::visualizer::SceneCanvasVisualizer::initialize().

Member Data Documentation

◆ sceneMax

Coord inet::visualizer::SceneVisualizerBase::sceneMax
protected

◆ sceneMin

Coord inet::visualizer::SceneVisualizerBase::sceneMin
protected

The documentation for this class was generated from the following files:
inet::Coord::min
Coord min(const Coord &a) const
Returns the minimal coordinates.
Definition: Coord.h:310
inet::Coord::max
Coord max(const Coord &a) const
Returns the maximal coordinates.
Definition: Coord.h:317
inet::sctp::min
double min(const double a, const double b)
Returns the minimum of a and b.
Definition: SctpAssociation.h:261
inet::Coord::x
double x
Definition: Coord.h:36
inet::visualizer::VisualizerBase::visualizationTargetModule
cModule * visualizationTargetModule
Definition: VisualizerBase.h:25
inet::Coord::z
double z
Definition: Coord.h:38
inet::INITSTAGE_LOCAL
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
inet::visualizer::SceneVisualizerBase::sceneMin
Coord sceneMin
Definition: SceneVisualizerBase.h:21
inet::sctp::max
double max(const double a, const double b)
Returns the maximum of a and b.
Definition: SctpAssociation.h:266
inet::Coord::y
double y
Definition: Coord.h:37
inet::visualizer::SceneVisualizerBase::sceneMax
Coord sceneMax
Definition: SceneVisualizerBase.h:22
inet::visualizer::VisualizerBase::initialize
virtual void initialize(int stage) override
Definition: VisualizerBase.cc:23