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

#include <GateScheduleVisualizerBase.h>

Inheritance diagram for inet::visualizer::GateScheduleVisualizerBase:
inet::visualizer::VisualizerBase inet::visualizer::GateScheduleCanvasVisualizer inet::visualizer::GateScheduleOsgVisualizer

Classes

class  DirectiveResolver
 
class  GateVisitor
 
class  GateVisualization
 

Parameters

bool displayGateSchedules = false
 
StringFormat stringFormat
 
GateFilter gateFilter
 
double width
 
double height
 
double spacing
 
Placement placementHint
 
double placementPriority
 
clocktime_t displayDuration
 
double currentTimePosition
 
simtime_t lastRefreshTime = -1
 
std::vector< const GateVisualization * > gateVisualizations
 
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 GateVisualizationcreateGateVisualization (queueing::IPacketGate *gate) const =0
 
virtual void addGateVisualization (const GateVisualization *gateVisualization)
 
virtual void addGateVisualizations ()
 
virtual void removeGateVisualization (const GateVisualization *gateVisualization)
 
virtual void refreshGateVisualization (const GateVisualization *gateVisualization) const =0
 
virtual void removeAllGateVisualizations ()
 
virtual const char * getGateScheduleVisualizationText (cModule *module) const
 

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

◆ addGateVisualization()

void inet::visualizer::GateScheduleVisualizerBase::addGateVisualization ( const GateVisualization gateVisualization)
protectedvirtual

◆ addGateVisualizations()

void inet::visualizer::GateScheduleVisualizerBase::addGateVisualizations ( )
protectedvirtual
112 {
113  GateVisitor gateVisitor;
114  visualizationSubjectModule->forEachChild(&gateVisitor);
115  for (auto gate : gateVisitor.gates) {
116  if (gateFilter.matches(gate))
118  }
119 }

Referenced by handleParameterChange(), and initialize().

◆ createGateVisualization()

virtual GateVisualization* inet::visualizer::GateScheduleVisualizerBase::createGateVisualization ( queueing::IPacketGate gate) const
protectedpure virtual

◆ getGateScheduleVisualizationText()

const char * inet::visualizer::GateScheduleVisualizerBase::getGateScheduleVisualizationText ( cModule *  module) const
protectedvirtual
130 {
131  DirectiveResolver directiveResolver(module);
132  return stringFormat.formatString(&directiveResolver);
133 }

Referenced by inet::visualizer::GateScheduleCanvasVisualizer::createGateVisualization().

◆ handleParameterChange()

void inet::visualizer::GateScheduleVisualizerBase::handleParameterChange ( const char *  name)
overrideprotectedvirtual
82 {
83  if (!hasGUI()) return;
84  if (name != nullptr) {
85  if (!strcmp(name, "displayDuration"))
86  displayDuration = par("displayDuration");
89  }
90 }

◆ initialize()

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

Reimplemented from inet::visualizer::VisualizerBase.

Reimplemented in inet::visualizer::GateScheduleCanvasVisualizer, and inet::visualizer::GateScheduleOsgVisualizer.

61 {
63  if (!hasGUI()) return;
64  if (stage == INITSTAGE_LOCAL) {
65  displayGateSchedules = par("displayGateSchedules");
66  gateFilter.setPattern(par("gateFilter"));
67  width = par("width");
68  height = par("height");
69  spacing = par("spacing");
70  placementHint = parsePlacement(par("placementHint"));
71  placementPriority = par("placementPriority");
72  displayDuration = par("displayDuration");
73  currentTimePosition = par("currentTimePosition");
74  }
75  else if (stage == INITSTAGE_LAST) {
78  }
79 }

Referenced by inet::visualizer::GateScheduleOsgVisualizer::initialize(), and inet::visualizer::GateScheduleCanvasVisualizer::initialize().

◆ preDelete()

void inet::visualizer::GateScheduleVisualizerBase::preDelete ( cComponent *  root)
overrideprotectedvirtual
55 {
58 }

◆ refreshDisplay()

void inet::visualizer::GateScheduleVisualizerBase::refreshDisplay ( ) const
overrideprotectedvirtual
93 {
95  for (auto gateVisualization : gateVisualizations)
96  refreshGateVisualization(gateVisualization);
97  lastRefreshTime = simTime();
98  }
99 }

◆ refreshGateVisualization()

virtual void inet::visualizer::GateScheduleVisualizerBase::refreshGateVisualization ( const GateVisualization gateVisualization) const
protectedpure virtual

◆ removeAllGateVisualizations()

void inet::visualizer::GateScheduleVisualizerBase::removeAllGateVisualizations ( )
protectedvirtual
122 {
123  for (auto gateVisualization : std::vector<const GateVisualization *>(gateVisualizations)) {
124  removeGateVisualization(gateVisualization);
125  delete gateVisualization;
126  }
127 }

Referenced by handleParameterChange(), and preDelete().

◆ removeGateVisualization()

void inet::visualizer::GateScheduleVisualizerBase::removeGateVisualization ( const GateVisualization gateVisualization)
protectedvirtual

Member Data Documentation

◆ currentTimePosition

double inet::visualizer::GateScheduleVisualizerBase::currentTimePosition
protected

◆ displayDuration

clocktime_t inet::visualizer::GateScheduleVisualizerBase::displayDuration
protected

◆ displayGateSchedules

bool inet::visualizer::GateScheduleVisualizerBase::displayGateSchedules = false
protected

Referenced by initialize(), and preDelete().

◆ gateFilter

GateFilter inet::visualizer::GateScheduleVisualizerBase::gateFilter
protected

◆ gateVisualizations

std::vector<const GateVisualization *> inet::visualizer::GateScheduleVisualizerBase::gateVisualizations
protected

◆ height

double inet::visualizer::GateScheduleVisualizerBase::height
protected

◆ lastRefreshTime

simtime_t inet::visualizer::GateScheduleVisualizerBase::lastRefreshTime = -1
mutableprotected

Referenced by refreshDisplay().

◆ placementHint

Placement inet::visualizer::GateScheduleVisualizerBase::placementHint
protected

◆ placementPriority

double inet::visualizer::GateScheduleVisualizerBase::placementPriority
protected

◆ spacing

double inet::visualizer::GateScheduleVisualizerBase::spacing
protected

◆ stringFormat

StringFormat inet::visualizer::GateScheduleVisualizerBase::stringFormat
protected

◆ width


The documentation for this class was generated from the following files:
inet::visualizer::GateScheduleVisualizerBase::spacing
double spacing
Definition: GateScheduleVisualizerBase.h:61
inet::INITSTAGE_LAST
INET_API InitStage INITSTAGE_LAST
Operations that no other initializations can depend on, e.g.
inet::visualizer::GateFilter::matches
bool matches(const queueing::IPacketGate *gate) const
Definition: GateFilter.cc:19
CLOCKTIME_AS_SIMTIME
#define CLOCKTIME_AS_SIMTIME(x)
Definition: contract/ClockTime.h:19
inet::visualizer::GateScheduleVisualizerBase::removeAllGateVisualizations
virtual void removeAllGateVisualizations()
Definition: GateScheduleVisualizerBase.cc:121
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::visualizer::GateScheduleVisualizerBase::placementPriority
double placementPriority
Definition: GateScheduleVisualizerBase.h:63
inet::visualizer::GateScheduleVisualizerBase::addGateVisualization
virtual void addGateVisualization(const GateVisualization *gateVisualization)
Definition: GateScheduleVisualizerBase.cc:101
inet::visualizer::GateScheduleVisualizerBase::stringFormat
StringFormat stringFormat
Definition: GateScheduleVisualizerBase.h:57
inet::visualizer::GateScheduleVisualizerBase::width
double width
Definition: GateScheduleVisualizerBase.h:59
inet::visualizer::GateScheduleVisualizerBase::removeGateVisualization
virtual void removeGateVisualization(const GateVisualization *gateVisualization)
Definition: GateScheduleVisualizerBase.cc:106
inet::INITSTAGE_LOCAL
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
inet::visualizer::GateScheduleVisualizerBase::addGateVisualizations
virtual void addGateVisualizations()
Definition: GateScheduleVisualizerBase.cc:111
inet::visualizer::GateScheduleVisualizerBase::displayGateSchedules
bool displayGateSchedules
Definition: GateScheduleVisualizerBase.h:56
inet::visualizer::GateScheduleVisualizerBase::gateFilter
GateFilter gateFilter
Definition: GateScheduleVisualizerBase.h:58
inet::visualizer::GateScheduleVisualizerBase::lastRefreshTime
simtime_t lastRefreshTime
Definition: GateScheduleVisualizerBase.h:68
inet::visualizer::GateScheduleVisualizerBase::displayDuration
clocktime_t displayDuration
Definition: GateScheduleVisualizerBase.h:64
inet::StringFormat::formatString
const char * formatString(IDirectiveResolver *resolver) const
Definition: StringFormat.cc:17
inet::visualizer::GateScheduleVisualizerBase::gateVisualizations
std::vector< const GateVisualization * > gateVisualizations
Definition: GateScheduleVisualizerBase.h:69
inet::visualizer::GateScheduleVisualizerBase::height
double height
Definition: GateScheduleVisualizerBase.h:60
inet::visualizer::GateFilter::setPattern
void setPattern(const char *pattern)
Definition: GateFilter.cc:14
inet::visualizer::GateScheduleVisualizerBase::refreshGateVisualization
virtual void refreshGateVisualization(const GateVisualization *gateVisualization) const =0
inet::visualizer::VisualizerBase::visualizationSubjectModule
cModule * visualizationSubjectModule
Definition: VisualizerBase.h:26
inet::visualizer::GateScheduleVisualizerBase::currentTimePosition
double currentTimePosition
Definition: GateScheduleVisualizerBase.h:65
inet::visualizer::GateScheduleVisualizerBase::createGateVisualization
virtual GateVisualization * createGateVisualization(queueing::IPacketGate *gate) const =0
inet::visualizer::GateScheduleVisualizerBase::placementHint
Placement placementHint
Definition: GateScheduleVisualizerBase.h:62
inet::visualizer::VisualizerBase::initialize
virtual void initialize(int stage) override
Definition: VisualizerBase.cc:23