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

#include <EnergyStorageCanvasVisualizer.h>

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

Classes

class  EnergyStorageCanvasVisualization
 

Protected Member Functions

virtual void initialize (int stage) override
 
virtual EnergyStorageVisualizationcreateEnergyStorageVisualization (const power::IEnergyStorage *energyStorage) const override
 
virtual void addEnergyStorageVisualization (const EnergyStorageVisualization *energyStorageVisualization) override
 
virtual void removeEnergyStorageVisualization (const EnergyStorageVisualization *energyStorageVisualization) 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 addEnergyStorageVisualizations ()
 
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

double zIndex = NaN
 
ModuleRefByPar< NetworkNodeCanvasVisualizernetworkNodeVisualizer
 
- 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

◆ addEnergyStorageVisualization()

void inet::visualizer::EnergyStorageCanvasVisualizer::addEnergyStorageVisualization ( const EnergyStorageVisualization energyStorageVisualization)
overrideprotectedvirtual

Reimplemented from inet::visualizer::EnergyStorageVisualizerBase.

60 {
62  auto energyStorageCanvasVisualization = static_cast<const EnergyStorageCanvasVisualization *>(energyStorageVisualization);
63  auto figure = energyStorageCanvasVisualization->figure;
64  energyStorageCanvasVisualization->networkNodeVisualization->addAnnotation(figure, figure->getBounds().getSize(), placementHint, placementPriority);
65 }

◆ createEnergyStorageVisualization()

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

Implements inet::visualizer::EnergyStorageVisualizerBase.

43 {
44  auto module = check_and_cast<const cModule *>(energyStorage);
45  auto figure = new BarFigure("energyStorage");
46  figure->setTags((std::string("energyStorage ") + tags).c_str());
47  figure->setTooltip("This figure represents an energy storage");
48  figure->setAssociatedObject(const_cast<cModule *>(module));
49  figure->setBounds(cFigure::Rectangle(0, 0, width, height));
50  figure->setSpacing(spacing);
51  figure->setColor(color);
52  figure->setMinValue(0);
53  figure->setMaxValue(getNominalCapacity(energyStorage));
54  auto networkNode = getContainingNode(module);
55  auto networkNodeVisualization = networkNodeVisualizer->getNetworkNodeVisualization(networkNode);
56  return new EnergyStorageCanvasVisualization(networkNodeVisualization, figure, energyStorage);
57 }

◆ initialize()

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

Reimplemented from inet::visualizer::EnergyStorageVisualizerBase.

33 {
35  if (!hasGUI()) return;
36  if (stage == INITSTAGE_LOCAL) {
37  zIndex = par("zIndex");
38  networkNodeVisualizer.reference(this, "networkNodeVisualizerModule", true);
39  }
40 }

◆ refreshEnergyStorageVisualization()

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

Implements inet::visualizer::EnergyStorageVisualizerBase.

77 {
78  auto energyStorageCanvasVisualization = static_cast<const EnergyStorageCanvasVisualization *>(energyStorageVisualization);
79  auto energyStorage = energyStorageVisualization->energyStorage;
80  auto figure = energyStorageCanvasVisualization->figure;
81  figure->setValue(getResidualCapacity(energyStorage));
82 }

◆ removeEnergyStorageVisualization()

void inet::visualizer::EnergyStorageCanvasVisualizer::removeEnergyStorageVisualization ( const EnergyStorageVisualization energyStorageVisualization)
overrideprotectedvirtual

Reimplemented from inet::visualizer::EnergyStorageVisualizerBase.

68 {
70  auto energyStorageCanvasVisualization = static_cast<const EnergyStorageCanvasVisualization *>(energyStorageVisualization);
71  auto figure = energyStorageCanvasVisualization->figure;
72  if (networkNodeVisualizer != nullptr)
73  energyStorageCanvasVisualization->networkNodeVisualization->removeAnnotation(figure);
74 }

Member Data Documentation

◆ networkNodeVisualizer

ModuleRefByPar<NetworkNodeCanvasVisualizer> inet::visualizer::EnergyStorageCanvasVisualizer::networkNodeVisualizer
protected

◆ zIndex

double inet::visualizer::EnergyStorageCanvasVisualizer::zIndex = NaN
protected

Referenced by initialize().


The documentation for this class was generated from the following files:
inet::getContainingNode
cModule * getContainingNode(const cModule *from)
Find the node containing the given module.
Definition: ModuleAccess.cc:40
inet::visualizer::EnergyStorageVisualizerBase::color
cFigure::Color color
Definition: EnergyStorageVisualizerBase.h:36
inet::visualizer::EnergyStorageVisualizerBase::placementHint
Placement placementHint
Definition: EnergyStorageVisualizerBase.h:40
inet::visualizer::EnergyStorageVisualizerBase::getNominalCapacity
virtual double getNominalCapacity(const power::IEnergyStorage *energyStorage) const
Definition: EnergyStorageVisualizerBase.cc:66
inet::visualizer::EnergyStorageVisualizerBase::getResidualCapacity
virtual double getResidualCapacity(const power::IEnergyStorage *energyStorage) const
Definition: EnergyStorageVisualizerBase.cc:76
inet::visualizer::EnergyStorageVisualizerBase::initialize
virtual void initialize(int stage) override
Definition: EnergyStorageVisualizerBase.cc:31
inet::visualizer::EnergyStorageCanvasVisualizer::networkNodeVisualizer
ModuleRefByPar< NetworkNodeCanvasVisualizer > networkNodeVisualizer
Definition: EnergyStorageCanvasVisualizer.h:36
inet::visualizer::EnergyStorageVisualizerBase::height
double height
Definition: EnergyStorageVisualizerBase.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::EnergyStorageVisualizerBase::addEnergyStorageVisualization
virtual void addEnergyStorageVisualization(const EnergyStorageVisualization *energyStorageVisualization)
Definition: EnergyStorageVisualizerBase.cc:86
inet::visualizer::EnergyStorageVisualizerBase::spacing
double spacing
Definition: EnergyStorageVisualizerBase.h:39
inet::visualizer::EnergyStorageCanvasVisualizer::zIndex
double zIndex
Definition: EnergyStorageCanvasVisualizer.h:35
inet::visualizer::VisualizerBase::tags
const char * tags
Definition: VisualizerBase.h:27
inet::visualizer::EnergyStorageVisualizerBase::placementPriority
double placementPriority
Definition: EnergyStorageVisualizerBase.h:41
inet::visualizer::EnergyStorageVisualizerBase::removeEnergyStorageVisualization
virtual void removeEnergyStorageVisualization(const EnergyStorageVisualization *energyStorageVisualization)
Definition: EnergyStorageVisualizerBase.cc:91
inet::visualizer::EnergyStorageVisualizerBase::width
double width
Definition: EnergyStorageVisualizerBase.h:37