INET Framework for OMNeT++/OMNEST
inet::LabeledLineFigure Class Reference

#include <LabeledLineFigure.h>

Inheritance diagram for inet::LabeledLineFigure:

Public Member Functions

 LabeledLineFigure (const char *name=nullptr)
 
cLineFigure * getLineFigure () const
 
cTextFigure * getLabelFigure () const
 
void setStart (cFigure::Point point)
 
void setEnd (cFigure::Point point)
 

Protected Member Functions

void updateLabelPosition ()
 

Protected Attributes

cLineFigure * lineFigure
 
cPanelFigure * panelFigure
 
cTextFigure * labelFigure
 

Constructor & Destructor Documentation

◆ LabeledLineFigure()

inet::LabeledLineFigure::LabeledLineFigure ( const char *  name = nullptr)
12  :
13  cGroupFigure(name)
14 {
15  lineFigure = new cLineFigure("line");
16  panelFigure = new cPanelFigure("panel");
17  addFigure(lineFigure);
18  addFigure(panelFigure);
19  labelFigure = new cTextFigure("label");
20  labelFigure->setAnchor(cFigure::ANCHOR_S);
21  labelFigure->setTags("label");
22  labelFigure->setHalo(true);
23  panelFigure->addFigure(labelFigure);
24 }

Member Function Documentation

◆ getLabelFigure()

◆ getLineFigure()

◆ setEnd()

void inet::LabeledLineFigure::setEnd ( cFigure::Point  point)

◆ setStart()

void inet::LabeledLineFigure::setStart ( cFigure::Point  point)

◆ updateLabelPosition()

void inet::LabeledLineFigure::updateLabelPosition ( )
protected
39 {
40  auto position = (lineFigure->getStart() + lineFigure->getEnd()) / 2;
41  auto direction = lineFigure->getEnd() - lineFigure->getStart();
42  double alpha = atan2(-direction.y, direction.x);
43  if (alpha > M_PI / 2 || alpha < -M_PI / 2)
44  alpha += M_PI;
45  panelFigure->setTransform(cFigure::Transform().rotate(-alpha));
46  panelFigure->setPosition(position);
47  labelFigure->setPosition(cFigure::Point(0, -lineFigure->getLineWidth() / 2));
48 }

Referenced by setEnd(), and setStart().

Member Data Documentation

◆ labelFigure

cTextFigure* inet::LabeledLineFigure::labelFigure
protected

◆ lineFigure

cLineFigure* inet::LabeledLineFigure::lineFigure
protected

◆ panelFigure

cPanelFigure* inet::LabeledLineFigure::panelFigure
protected

The documentation for this class was generated from the following files:
inet::LabeledLineFigure::panelFigure
cPanelFigure * panelFigure
Definition: LabeledLineFigure.h:19
inet::LabeledLineFigure::lineFigure
cLineFigure * lineFigure
Definition: LabeledLineFigure.h:18
inet::LabeledLineFigure::labelFigure
cTextFigure * labelFigure
Definition: LabeledLineFigure.h:20
inet::LabeledLineFigure::updateLabelPosition
void updateLabelPosition()
Definition: LabeledLineFigure.cc:38
inet::units::constants::alpha
const value< double, units::unit > alpha(7.2973525376e-3)
M_PI
#define M_PI
Definition: INETMath.h:52