INET Framework for OMNeT++/OMNEST
inet::visualizer::EnergyStorageVisualizerBase Class Referenceabstract

#include <EnergyStorageVisualizerBase.h>

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

Classes

class  EnergyStorageVisualization
 

Parameters

bool displayEnergyStorages = false
 
ModuleFilter energyStorageFilter
 
cFigure::Color color
 
double width
 
double height
 
double spacing
 
Placement placementHint
 
double placementPriority
 
std::vector< const EnergyStorageVisualization * > energyStorageVisualizations
 
virtual void initialize (int stage) override
 
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 EnergyStorageVisualizationcreateEnergyStorageVisualization (const power::IEnergyStorage *energyStorage) const =0
 
virtual void addEnergyStorageVisualization (const EnergyStorageVisualization *energyStorageVisualization)
 
virtual void addEnergyStorageVisualizations ()
 
virtual void removeEnergyStorageVisualization (const EnergyStorageVisualization *energyStorageVisualization)
 
virtual void refreshEnergyStorageVisualization (const EnergyStorageVisualization *energyStorageVisualization) const =0
 
virtual void removeAllEnergyStorageVisualizations ()
 

Additional Inherited Members

- 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 inherited from inet::visualizer::VisualizerBase
cModule * visualizationTargetModule = nullptr
 
cModule * visualizationSubjectModule = nullptr
 
const char * tags = nullptr
 

Member Function Documentation

◆ addEnergyStorageVisualization()

void inet::visualizer::EnergyStorageVisualizerBase::addEnergyStorageVisualization ( const EnergyStorageVisualization energyStorageVisualization)
protectedvirtual

◆ addEnergyStorageVisualizations()

void inet::visualizer::EnergyStorageVisualizerBase::addEnergyStorageVisualizations ( )
protectedvirtual
97 {
98  auto simulation = getSimulation();
99  for (int id = 0; id < simulation->getLastComponentId(); id++) {
100  auto component = simulation->getComponent(id);
101  auto module = dynamic_cast<cModule *>(component);
102  auto energyStorage = dynamic_cast<IEnergyStorage *>(module);
103  if (energyStorage != nullptr && energyStorageFilter.matches(module))
105  }
106 }

Referenced by handleParameterChange(), and initialize().

◆ createEnergyStorageVisualization()

virtual EnergyStorageVisualization* inet::visualizer::EnergyStorageVisualizerBase::createEnergyStorageVisualization ( const power::IEnergyStorage energyStorage) const
protectedpure virtual

◆ getNominalCapacity()

double inet::visualizer::EnergyStorageVisualizerBase::getNominalCapacity ( const power::IEnergyStorage energyStorage) const
protectedvirtual
67 {
68  if (auto epEnergyStorage = dynamic_cast<const IEpEnergyStorage *>(energyStorage))
69  return epEnergyStorage->getNominalEnergyCapacity().get();
70  else if (auto ccEnergyStorage = dynamic_cast<const ICcEnergyStorage *>(energyStorage))
71  return ccEnergyStorage->getNominalChargeCapacity().get();
72  else
73  throw cRuntimeError("Unknown energy storage");
74 }

Referenced by inet::visualizer::EnergyStorageCanvasVisualizer::createEnergyStorageVisualization().

◆ getResidualCapacity()

double inet::visualizer::EnergyStorageVisualizerBase::getResidualCapacity ( const power::IEnergyStorage energyStorage) const
protectedvirtual
77 {
78  if (auto epEnergyStorage = dynamic_cast<const IEpEnergyStorage *>(energyStorage))
79  return epEnergyStorage->getResidualEnergyCapacity().get();
80  else if (auto ccEnergyStorage = dynamic_cast<const ICcEnergyStorage *>(energyStorage))
81  return ccEnergyStorage->getResidualChargeCapacity().get();
82  else
83  throw cRuntimeError("Unknown energy storage");
84 }

Referenced by inet::visualizer::EnergyStorageCanvasVisualizer::refreshEnergyStorageVisualization().

◆ handleParameterChange()

void inet::visualizer::EnergyStorageVisualizerBase::handleParameterChange ( const char *  name)
overrideprotectedvirtual
52 {
53  if (!hasGUI()) return;
54  if (name != nullptr) {
57  }
58 }

◆ initialize()

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

Reimplemented from inet::visualizer::VisualizerBase.

Reimplemented in inet::visualizer::EnergyStorageCanvasVisualizer, and inet::visualizer::EnergyStorageOsgVisualizer.

32 {
34  if (!hasGUI()) return;
35  if (stage == INITSTAGE_LOCAL) {
36  displayEnergyStorages = par("displayEnergyStorages");
37  energyStorageFilter.setPattern(par("energyStorageFilter"));
38  color = cFigure::parseColor(par("color"));
39  width = par("width");
40  height = par("height");
41  spacing = par("spacing");
42  placementHint = parsePlacement(par("placementHint"));
43  placementPriority = par("placementPriority");
44  }
45  else if (stage == INITSTAGE_LAST) {
48  }
49 }

Referenced by inet::visualizer::EnergyStorageOsgVisualizer::initialize(), and inet::visualizer::EnergyStorageCanvasVisualizer::initialize().

◆ preDelete()

void inet::visualizer::EnergyStorageVisualizerBase::preDelete ( cComponent *  root)
overrideprotectedvirtual

◆ refreshDisplay()

void inet::visualizer::EnergyStorageVisualizerBase::refreshDisplay ( ) const
overrideprotectedvirtual
61 {
62  for (auto energyStorageVisualization : energyStorageVisualizations)
63  refreshEnergyStorageVisualization(energyStorageVisualization);
64 }

◆ refreshEnergyStorageVisualization()

virtual void inet::visualizer::EnergyStorageVisualizerBase::refreshEnergyStorageVisualization ( const EnergyStorageVisualization energyStorageVisualization) const
protectedpure virtual

◆ removeAllEnergyStorageVisualizations()

void inet::visualizer::EnergyStorageVisualizerBase::removeAllEnergyStorageVisualizations ( )
protectedvirtual
109 {
110  for (auto energyStorageVisualization : std::vector<const EnergyStorageVisualization *>(energyStorageVisualizations)) {
111  removeEnergyStorageVisualization(energyStorageVisualization);
112  delete energyStorageVisualization;
113  }
114 }

Referenced by handleParameterChange(), and preDelete().

◆ removeEnergyStorageVisualization()

void inet::visualizer::EnergyStorageVisualizerBase::removeEnergyStorageVisualization ( const EnergyStorageVisualization energyStorageVisualization)
protectedvirtual

Member Data Documentation

◆ color

cFigure::Color inet::visualizer::EnergyStorageVisualizerBase::color
protected

◆ displayEnergyStorages

bool inet::visualizer::EnergyStorageVisualizerBase::displayEnergyStorages = false
protected

Referenced by initialize(), and preDelete().

◆ energyStorageFilter

ModuleFilter inet::visualizer::EnergyStorageVisualizerBase::energyStorageFilter
protected

◆ energyStorageVisualizations

std::vector<const EnergyStorageVisualization *> inet::visualizer::EnergyStorageVisualizerBase::energyStorageVisualizations
protected

◆ height

double inet::visualizer::EnergyStorageVisualizerBase::height
protected

◆ placementHint

Placement inet::visualizer::EnergyStorageVisualizerBase::placementHint
protected

◆ placementPriority

double inet::visualizer::EnergyStorageVisualizerBase::placementPriority
protected

◆ spacing

double inet::visualizer::EnergyStorageVisualizerBase::spacing
protected

◆ width

double inet::visualizer::EnergyStorageVisualizerBase::width
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::visualizer::EnergyStorageVisualizerBase::removeAllEnergyStorageVisualizations
virtual void removeAllEnergyStorageVisualizations()
Definition: EnergyStorageVisualizerBase.cc:108
inet::remove
void remove(std::vector< T > &v, const Tk &a)
Definition: stlutils.h:107
inet::visualizer::parsePlacement
Placement parsePlacement(const char *s)
Definition: Placement.cc:14
inet::power::ICcEnergyStorage
TODO.
Definition: ICcEnergyStorage.h:25
inet::visualizer::EnergyStorageVisualizerBase::color
cFigure::Color color
Definition: EnergyStorageVisualizerBase.h:36
inet::visualizer::EnergyStorageVisualizerBase::placementHint
Placement placementHint
Definition: EnergyStorageVisualizerBase.h:40
inet::visualizer::EnergyStorageVisualizerBase::energyStorageVisualizations
std::vector< const EnergyStorageVisualization * > energyStorageVisualizations
Definition: EnergyStorageVisualizerBase.h:44
inet::power::IEnergyStorage
This class is a base interface that must be implemented by energy storage models to integrate with ot...
Definition: IEnergyStorage.h:27
inet::power::IEpEnergyStorage
TODO.
Definition: IEpEnergyStorage.h:25
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::ModuleFilter::matches
bool matches(const cModule *module) const
Definition: ModuleFilter.cc:19
inet::visualizer::EnergyStorageVisualizerBase::displayEnergyStorages
bool displayEnergyStorages
Definition: EnergyStorageVisualizerBase.h:34
inet::visualizer::EnergyStorageVisualizerBase::energyStorageFilter
ModuleFilter energyStorageFilter
Definition: EnergyStorageVisualizerBase.h:35
inet::visualizer::EnergyStorageVisualizerBase::addEnergyStorageVisualizations
virtual void addEnergyStorageVisualizations()
Definition: EnergyStorageVisualizerBase.cc:96
inet::visualizer::EnergyStorageVisualizerBase::placementPriority
double placementPriority
Definition: EnergyStorageVisualizerBase.h:41
inet::visualizer::EnergyStorageVisualizerBase::createEnergyStorageVisualization
virtual EnergyStorageVisualization * createEnergyStorageVisualization(const power::IEnergyStorage *energyStorage) const =0
inet::visualizer::ModuleFilter::setPattern
void setPattern(const char *pattern)
Definition: ModuleFilter.cc:14
inet::visualizer::EnergyStorageVisualizerBase::removeEnergyStorageVisualization
virtual void removeEnergyStorageVisualization(const EnergyStorageVisualization *energyStorageVisualization)
Definition: EnergyStorageVisualizerBase.cc:91
inet::visualizer::EnergyStorageVisualizerBase::width
double width
Definition: EnergyStorageVisualizerBase.h:37
inet::visualizer::VisualizerBase::initialize
virtual void initialize(int stage) override
Definition: VisualizerBase.cc:23
inet::visualizer::EnergyStorageVisualizerBase::refreshEnergyStorageVisualization
virtual void refreshEnergyStorageVisualization(const EnergyStorageVisualization *energyStorageVisualization) const =0