Locus No Pilotus
Project of four first grade MIPT DAFE/RSE students (for engineering practical work in the second semester) in Qt C++
Loading...
Searching...
No Matches
gui::Segment Class Reference

Фигура отрезка траектории More...

#include <segment.h>

Inheritance diagram for gui::Segment:
Collaboration diagram for gui::Segment:

Public Member Functions

 Segment ()=default
 
 Segment (const lib::Point &start, const lib::Point &end)
 
 Segment (const lib::Point &start, const lib::Point &end, const lib::Point &center)
 
 Segment (const lib::Segment &data)
 
lib::PointCenter ()
 Возвращает центр окружности
 
void Draw (QCustomPlot *plot) override
 Отрисовывает фигуру на полотне
 
lib::PointEnd ()
 Возвращает конец сегмента
 
bool IsArc ()
 Проверяет, является ли текущий сегмент дугой окружности
 
double Radius ()
 
lib::PointStart ()
 Возвращает начало сегмента
 
std::pair< double, double > ToAnglesOnCircle ()
 Возвращает угловые коэффициенты на окружности
 

Private Attributes

QColor color_ {QColor(50, 100, 200, 255)}
 
lib::Segment data_
 

Detailed Description

Фигура отрезка траектории

Фигура представляет собой отрезок или дугу окружности синего цвета

Constructor & Destructor Documentation

◆ Segment() [1/4]

gui::Segment::Segment ( )
default

◆ Segment() [2/4]

gui::Segment::Segment ( const lib::Segment & data)
inline
17: data_{data} {}
lib::Segment data_
Definition segment.h:62

◆ Segment() [3/4]

gui::Segment::Segment ( const lib::Point & start,
const lib::Point & end )
inline
19: data_(start, end) {}

◆ Segment() [4/4]

gui::Segment::Segment ( const lib::Point & start,
const lib::Point & end,
const lib::Point & center )
inline
23 : data_(start, end, center) {}

Member Function Documentation

◆ Center()

lib::Point & gui::Segment::Center ( )
inline

Возвращает центр окружности

Returns
Point&: центр окружности
37{ return data_.Center(); }
Point & Center()
Возвращает центр окружности
Definition segment.cpp:20
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Draw()

void gui::Segment::Draw ( QCustomPlot * plot)
overridevirtual

Отрисовывает фигуру на полотне

Фигура представляет собой отрезок или дугу окружности синего цвета

Parameters
plotуказатель на полотно

Implements gui::Drawable.

9 {
10 if (IsArc()) {
11 auto arc = new PlotItemArc(plot);
12
13 arc->SetPen(QColor(color_));
14 arc->SetCenterAndRadiusCoords(Center().x, Center().y, Radius());
15
16 arc->SetStartAndEnd(ToAnglesOnCircle());
17
18 } else {
19 auto graph = plot->addGraph(plot->xAxis, plot->yAxis);
20
21 graph->setPen(QColor(color_));
22 graph->setLineStyle(QCPGraph::lsLine);
23 graph->setSelectable(QCP::stNone);
24
25 graph->addData(Start().x, Start().y);
26 graph->addData(End().x, End().y);
27 }
28}
Class of the arc shape.
Definition plot_item_arc.h:8
double Radius()
Definition segment.h:25
lib::Point & Start()
Возвращает начало сегмента
Definition segment.h:28
lib::Point & Center()
Возвращает центр окружности
Definition segment.h:37
QColor color_
Definition segment.h:64
bool IsArc()
Проверяет, является ли текущий сегмент дугой окружности
Definition segment.h:44
std::pair< double, double > ToAnglesOnCircle()
Возвращает угловые коэффициенты на окружности
Definition segment.h:50
lib::Point & End()
Возвращает конец сегмента
Definition segment.h:31
Here is the call graph for this function:

◆ End()

lib::Point & gui::Segment::End ( )
inline

Возвращает конец сегмента

31{ return data_.End(); }
Point & End()
Возвращает конец сегмента
Definition segment.h:40
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsArc()

bool gui::Segment::IsArc ( )
inline

Проверяет, является ли текущий сегмент дугой окружности

Returns
true: да, является
false: нет, не является
44{ return data_.IsArc(); }
bool IsArc() const
Проверяет, является ли текущий сегмент дугой окружности
Definition segment.h:71
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Radius()

double gui::Segment::Radius ( )
inline
25{ return data_.Radius(); }
double Radius() const
Возвращает радиус окружности
Definition segment.cpp:32
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Start()

lib::Point & gui::Segment::Start ( )
inline

Возвращает начало сегмента

28{ return data_.Start(); }
Point & Start()
Возвращает начало сегмента
Definition segment.h:34
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ToAnglesOnCircle()

std::pair< double, double > gui::Segment::ToAnglesOnCircle ( )
inline

Возвращает угловые коэффициенты на окружности

Returns
std::pair<double, double>: угол первой точки, угол второй точки
50 {
51 return data_.ToAnglesOnCircle();
52 }
std::pair< double, double > ToAnglesOnCircle()
Возвращает угловые коэффициенты на окружности
Definition segment.cpp:38
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ color_

QColor gui::Segment::color_ {QColor(50, 100, 200, 255)}
private
64{QColor(50, 100, 200, 255)};

◆ data_

lib::Segment gui::Segment::data_
private

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