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

#include <EnergyStorageOsgVisualizer.h>

Inheritance diagram for inet::visualizer::EnergyStorageOsgVisualizer:
inet::visualizer::EnergyStorageVisualizerBase inet::visualizer::VisualizerBase

Classes

class  EnergyStorageOsgVisualization
 

Protected Member Functions

virtual void initialize (int stage) override
 
virtual EnergyStorageVisualizationcreateEnergyStorageVisualization (const power::IEnergyStorage *energyStorage) const override
 
virtual void refreshEnergyStorageVisualization (const EnergyStorageVisualization *energyStorageVisualization) const override
 
- Protected Member Functions inherited from inet::visualizer::EnergyStorageVisualizerBase
virtual void handleParameterChange (const char *name) override
 
virtual void refreshDisplay () const override
 
virtual void preDelete (cComponent *root) override
 
virtual double getNominalCapacity (const power::IEnergyStorage *energyStorage) const
 
virtual double getResidualCapacity (const power::IEnergyStorage *energyStorage) const
 
virtual void addEnergyStorageVisualization (const EnergyStorageVisualization *energyStorageVisualization)
 
virtual void addEnergyStorageVisualizations ()
 
virtual void removeEnergyStorageVisualization (const EnergyStorageVisualization *energyStorageVisualization)
 
virtual void removeAllEnergyStorageVisualizations ()
 
- 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::EnergyStorageVisualizerBase
bool displayEnergyStorages = false
 
ModuleFilter energyStorageFilter
 
cFigure::Color color
 
double width
 
double height
 
double spacing
 
Placement placementHint
 
double placementPriority
 
std::vector< const EnergyStorageVisualization * > energyStorageVisualizations
 
- Protected Attributes inherited from inet::visualizer::VisualizerBase
cModule * visualizationTargetModule = nullptr
 
cModule * visualizationSubjectModule = nullptr
 
const char * tags = nullptr
 

Member Function Documentation

◆ createEnergyStorageVisualization()

EnergyStorageVisualizerBase::EnergyStorageVisualization * inet::visualizer::EnergyStorageOsgVisualizer::createEnergyStorageVisualization ( const power::IEnergyStorage energyStorage) const
overrideprotectedvirtual

Implements inet::visualizer::EnergyStorageVisualizerBase.

44 {
45  auto module = check_and_cast<const cModule *>(energyStorage);
46  auto geode = new osg::Geode();
47  geode->getOrCreateStateSet()->setMode(GL_LIGHTING, osg::StateAttribute::OFF | osg::StateAttribute::OVERRIDE);
48  auto networkNode = getContainingNode(module);
49  auto networkNodeVisualization = networkNodeVisualizer->getNetworkNodeVisualization(networkNode);
50  return new EnergyStorageOsgVisualization(networkNodeVisualization, geode, energyStorage);
51 }

◆ initialize()

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

Reimplemented from inet::visualizer::EnergyStorageVisualizerBase.

28 {
30  if (!hasGUI()) return;
31  if (stage == INITSTAGE_LOCAL) {
32  networkNodeVisualizer.reference(this, "networkNodeVisualizerModule", true);
33  }
34  else if (stage == INITSTAGE_LAST) {
35  for (auto energyStorageVisualization : energyStorageVisualizations) {
36  auto energyStorageOsgVisualization = static_cast<const EnergyStorageOsgVisualization *>(energyStorageVisualization);
37  auto node = energyStorageOsgVisualization->node;
38  energyStorageOsgVisualization->networkNodeVisualization->addAnnotation(node, osg::Vec3d(0, 0, 0), 0);
39  }
40  }
41 }

◆ refreshEnergyStorageVisualization()

void inet::visualizer::EnergyStorageOsgVisualizer::refreshEnergyStorageVisualization ( const EnergyStorageVisualization energyStorageVisualization) const
overrideprotectedvirtual

Implements inet::visualizer::EnergyStorageVisualizerBase.

54 {
55  // TODO
56 // auto infoOsgVisualization = static_cast<const EnergyStorageOsgVisualization *>(energyStorageVisualization);
57 // auto node = infoOsgVisualization->node;
58 }

Member Data Documentation

◆ networkNodeVisualizer

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

The documentation for this class was generated from the following files:
inet::INITSTAGE_LAST
INET_API InitStage INITSTAGE_LAST
Operations that no other initializations can depend on, e.g.
inet::getContainingNode
cModule * getContainingNode(const cModule *from)
Find the node containing the given module.
Definition: ModuleAccess.cc:40
inet::visualizer::EnergyStorageVisualizerBase::energyStorageVisualizations
std::vector< const EnergyStorageVisualization * > energyStorageVisualizations
Definition: EnergyStorageVisualizerBase.h:44
inet::visualizer::EnergyStorageVisualizerBase::initialize
virtual void initialize(int stage) override
Definition: EnergyStorageVisualizerBase.cc:31
inet::INITSTAGE_LOCAL
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
inet::visualizer::EnergyStorageOsgVisualizer::networkNodeVisualizer
ModuleRefByPar< NetworkNodeOsgVisualizer > networkNodeVisualizer
Definition: EnergyStorageOsgVisualizer.h:34