|
INET Framework for OMNeT++/OMNEST
|
#include <LineManager.h>
◆ addModuleLine()
| void inet::visualizer::LineManager::addModuleLine |
( |
const ModuleLine * |
moduleLine | ) |
|
◆ addModulePath()
| void inet::visualizer::LineManager::addModulePath |
( |
const ModulePath * |
modulePath | ) |
|
◆ compareModuleLines()
| bool inet::visualizer::LineManager::compareModuleLines |
( |
const ModuleLine * |
moduleLine1, |
|
|
const ModuleLine * |
moduleLine2 |
|
) |
| |
|
staticprotected |
31 auto v1 = moduleLine1->sourceModuleId < moduleLine1->destinationModuleId ? moduleLine1->shiftPriority : -moduleLine1->shiftPriority;
32 auto v2 = moduleLine2->sourceModuleId < moduleLine2->destinationModuleId ? moduleLine2->shiftPriority : -moduleLine2->shiftPriority;
Referenced by updateOffsets().
◆ compareModulePaths()
| bool inet::visualizer::LineManager::compareModulePaths |
( |
std::pair< const ModulePath *, int > |
element1, |
|
|
std::pair< const ModulePath *, int > |
element2 |
|
) |
| |
|
staticprotected |
38 auto v1 = element1.first->moduleIds[element1.second] < element1.first->moduleIds[element1.second + 1] ? element1.first->shiftPriority : -element1.first->shiftPriority;
39 auto v2 = element2.first->moduleIds[element2.second] < element2.first->moduleIds[element2.second + 1] ? element2.first->shiftPriority : -element2.first->shiftPriority;
Referenced by updateOffsets().
◆ getCanvasLineManager()
| LineManager * inet::visualizer::LineManager::getCanvasLineManager |
( |
const cCanvas * |
canvas | ) |
|
|
static |
◆ getKey()
| std::pair<int, int> inet::visualizer::LineManager::getKey |
( |
int |
fromModuleId, |
|
|
int |
toModuleId |
|
) |
| |
|
inlineprotected |
◆ getLineShift()
| Coord inet::visualizer::LineManager::getLineShift |
( |
int |
sourceModuleId, |
|
|
int |
destinationModuleId, |
|
|
const Coord & |
sourcePosition, |
|
|
const Coord & |
destinationPosition, |
|
|
const char * |
shiftMode, |
|
|
int |
shiftOffset |
|
) |
| |
107 auto sign = *shiftMode;
111 if (!strcmp(
"none", shiftMode))
113 else if (!strcmp(
"normal", shiftMode)) {
114 auto direction = sourceModuleId < destinationModuleId ? destinationPosition - sourcePosition : sourcePosition - destinationPosition;
116 shift = Coord(-direction.y, direction.x, 0);
118 else if (!strcmp(
"x", shiftMode))
120 else if (!strcmp(
"y", shiftMode))
122 else if (!strcmp(
"z", shiftMode))
125 throw cRuntimeError(
"Unknown shift mode: %s", shiftMode);
127 shift *= shiftOffset;
128 else if (
sign ==
'-')
129 shift *= -shiftOffset;
132 auto count = cacheEntry.moduleLines.size() + cacheEntry.modulePaths.size();
133 shift *= shiftOffset - ((double)
count - 1) / 2.0;
136 double zoomLevel = getEnvir()->getZoomLevel(getSimulation()->getModule(sourceModuleId)->getParentModule());
137 if (!std::isnan(zoomLevel))
Referenced by inet::visualizer::LinkOsgVisualizerBase::refreshDisplay(), inet::visualizer::TreeCanvasVisualizerBase::refreshDisplay(), inet::visualizer::RoutingTableCanvasVisualizer::refreshDisplay(), inet::visualizer::PathCanvasVisualizerBase::refreshDisplay(), and inet::visualizer::LinkCanvasVisualizerBase::refreshDisplay().
◆ getOsgLineManager()
| LineManager * inet::visualizer::LineManager::getOsgLineManager |
( |
const cCanvas * |
canvas | ) |
|
|
static |
◆ removeModuleLine()
| void inet::visualizer::LineManager::removeModuleLine |
( |
const ModuleLine * |
moduleLine | ) |
|
◆ removeModulePath()
| void inet::visualizer::LineManager::removeModulePath |
( |
const ModulePath * |
modulePath | ) |
|
◆ updateOffsets() [1/3]
| void inet::visualizer::LineManager::updateOffsets |
( |
const ModuleLine * |
moduleLine | ) |
|
|
protected |
◆ updateOffsets() [2/3]
| void inet::visualizer::LineManager::updateOffsets |
( |
const ModulePath * |
modulePath | ) |
|
|
protected |
63 for (
size_t index = 1; index < modulePath->moduleIds.size(); index++)
64 updateOffsets(modulePath->moduleIds[index - 1], modulePath->moduleIds[index]);
◆ updateOffsets() [3/3]
| void inet::visualizer::LineManager::updateOffsets |
( |
int |
fromModuleId, |
|
|
int |
toModuleId |
|
) |
| |
|
protected |
◆ cacheEntries
| std::map<std::pair<int, int>, CacheEntry> inet::visualizer::LineManager::cacheEntries |
|
protected |
◆ canvasLineManagers
| std::map< const cCanvas *, LineManager > inet::visualizer::LineManager::canvasLineManagers |
|
staticprotected |
◆ osgLineManagers
| std::map< const cCanvas *, LineManager > inet::visualizer::LineManager::osgLineManagers |
|
staticprotected |
The documentation for this class was generated from the following files:
void sort(std::vector< T > &v)
Definition: stlutils.h:129
static const Coord ZERO
Definition: Coord.h:27
int count(const std::vector< T > &v, const Tk &a)
Definition: stlutils.h:54
void remove(std::vector< T > &v, const Tk &a)
Definition: stlutils.h:107
std::pair< int, int > getKey(int fromModuleId, int toModuleId)
Definition: LineManager.h:53
static bool compareModulePaths(std::pair< const ModulePath *, int > element1, std::pair< const ModulePath *, int > element2)
Definition: LineManager.cc:36
static std::map< const cCanvas *, LineManager > canvasLineManagers
Definition: LineManager.h:49
static bool compareModuleLines(const ModuleLine *moduleLine1, const ModuleLine *moduleLine2)
Definition: LineManager.cc:29
static const Coord Z_AXIS
Definition: Coord.h:31
int sign(double v)
Returns 1 if the parameter is greater than zero, -1 if less than zero, 0 otherwise.
Definition: INETMath.h:138
std::map< std::pair< int, int >, CacheEntry > cacheEntries
Definition: LineManager.h:47
static const Coord X_AXIS
Definition: Coord.h:29
Coord normalize()
Updates the length of this position vector to be 1.
Definition: Coord.h:280
void updateOffsets(int fromModuleId, int toModuleId)
Definition: LineManager.cc:43
static std::map< const cCanvas *, LineManager > osgLineManagers
Definition: LineManager.h:50
static const Coord Y_AXIS
Definition: Coord.h:30