Parallel Coordinate System with Time Series Data
VP_Widget Class Reference

A Vanishing Point Widget. It shows a separate Parallel Coordinate System which can be moved in time back and forwards. More...

#include <VP_Widget.h>

Public Member Functions

 VP_Widget (std::vector< PCAxis * > additionalAxes, float timeLimit, Calendar *calendarData)
 Constructor. More...
 
 ~VP_Widget ()
 Destructor. More...
 
void initAxis (PCAxis *a, std::vector< PCAxis > *alongTime, int day, bool borderLeft, bool borderRight)
 Initializes the axis. More...
 
void init ()
 Initializes this object. More...
 
void updateAxis (PCAxis *a, std::vector< PCAxis > *alongTime, std::unordered_map< std::string, PCLine > *line_map, std::unordered_map< std::string, QVector2D > *wallvalue, PCAxis *wallAxis)
 Updates the axis. More...
 
void update ()
 Updates this object. More...
 
void draw (Painter2D *painter2D, QPainter *qPainter)
 Draws. More...
 
void clickWall (QVector2D mousePos)
 Click wall. More...
 
void releaseWall ()
 Releases the wall. More...
 
void updateWall (QVector2D mousePos)
 Updates the wall described by mousePos. More...
 
QVector2D calcBezier (float u, QVector2D p0, QVector2D p1, QVector2D p2, QVector2D p3)
 Calculates the bezier. More...
 

Public Attributes

float timeLimit
 
float ratio = 1.10f
 
QVector2D origVanishingPoint
 
QVector2D vanishingPoint
 
VP_Wallwall
 
std::vector< std::unordered_map< std::string, QVector2D > > wallvalues
 
std::vector< PCAxis * > axes
 

Detailed Description

A Vanishing Point Widget. It shows a separate Parallel Coordinate System which can be moved in time back and forwards.

Author
Depner, Gamsjaeger
Date
05.06.2021

Constructor & Destructor Documentation

◆ VP_Widget()

VP_Widget::VP_Widget ( std::vector< PCAxis * >  additionalAxes,
float  timeLimit,
Calendar calendarData 
)

Constructor.

Author
Depner, Gamsjaeger
Date
05.06.2021
Parameters
[in,out]additionalAxesIf non-null, the additional axes.
timeLimitThe time limit.
[in,out]calendarDataIf non-null, information describing the calendar.

◆ ~VP_Widget()

VP_Widget::~VP_Widget ( )

Destructor.

Author
Depner, Gamsjaeger
Date
05.06.2021

Member Function Documentation

◆ calcBezier()

QVector2D VP_Widget::calcBezier ( float  u,
QVector2D  p0,
QVector2D  p1,
QVector2D  p2,
QVector2D  p3 
)

Calculates the bezier.

Author
Depner, Gamsjaeger
Date
05.06.2021
Parameters
uA float to process.
p0The p 0.
p1The first QVector2D.
p2The second QVector2D.
p3The third QVector2D.
Returns
The calculated bezier.

◆ clickWall()

void VP_Widget::clickWall ( QVector2D  mousePos)

Click wall.

Author
Depner, Gamsjaeger
Date
05.06.2021
Parameters
mousePosThe mouse position.

◆ draw()

void VP_Widget::draw ( Painter2D painter2D,
QPainter *  qPainter 
)

Draws.

Author
Depner, Gamsjaeger
Date
05.06.2021
Parameters
[in,out]painter2DIf non-null, the painter 2D.
[in,out]qPainterIf non-null, the painter.

◆ init()

void VP_Widget::init ( )

Initializes this object.

Author
Depner, Gamsjaeger
Date
05.06.2021

◆ initAxis()

void VP_Widget::initAxis ( PCAxis a,
std::vector< PCAxis > *  alongTime,
int  day,
bool  borderLeft,
bool  borderRight 
)

Initializes the axis.

Author
Depner, Gamsjaeger
Date
05.06.2021
Parameters
[in,out]aIf non-null, the PCAxis to process.
[in,out]alongTimeIf non-null, the along time.
dayThe day.
borderLeftTrue to border left.
borderRightTrue to border right.

◆ releaseWall()

void VP_Widget::releaseWall ( )

Releases the wall.

Author
Depner, Gamsjaeger
Date
05.06.2021

◆ update()

void VP_Widget::update ( )

Updates this object.

Author
Depner, Gamsjaeger
Date
05.06.2021

◆ updateAxis()

void VP_Widget::updateAxis ( PCAxis a,
std::vector< PCAxis > *  alongTime,
std::unordered_map< std::string, PCLine > *  line_map,
std::unordered_map< std::string, QVector2D > *  wallvalue,
PCAxis wallAxis 
)

Updates the axis.

Author
Depner, Gamsjaeger
Date
05.06.2021
Parameters
[in,out]aIf non-null, the PCAxis to process.
[in,out]alongTimeIf non-null, the along time.
[in,out]line_mapIf non-null, the line map.
[in,out]wallvalueIf non-null, the wallvalue.
[in,out]wallAxisIf non-null, the wall axis.

◆ updateWall()

void VP_Widget::updateWall ( QVector2D  mousePos)

Updates the wall described by mousePos.

Author
Depner, Gamsjaeger
Date
05.06.2021
Parameters
mousePosThe mouse position.

Member Data Documentation

◆ axes

std::vector<PCAxis*> VP_Widget::axes

◆ origVanishingPoint

QVector2D VP_Widget::origVanishingPoint

◆ ratio

float VP_Widget::ratio = 1.10f

◆ timeLimit

float VP_Widget::timeLimit

◆ vanishingPoint

QVector2D VP_Widget::vanishingPoint

◆ wall

VP_Wall* VP_Widget::wall

◆ wallvalues

std::vector<std::unordered_map<std::string, QVector2D> > VP_Widget::wallvalues

The documentation for this class was generated from the following files: